+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory contains the examples referenced by the Threading Building Blocks Getting Started Guide.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="sub_string_finder/index.html">sub_string_finder</A>
-<DD>Finds largest matching substrings.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=sub_string_finder_extended
-ARGS=
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o sub_string_finder sub_string_finder.cpp -ltbb $(LIBS)
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o sub_string_finder_extended sub_string_finder_extended.cpp -ltbb $(LIBS)
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o sub_string_finder_pretty sub_string_finder_pretty.cpp -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o sub_string_finder sub_string_finder.cpp -ltbb_debug $(LIBS)
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o sub_string_finder_extended sub_string_finder_extended.cpp -ltbb_debug $(LIBS)
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o sub_string_finder_pretty sub_string_finder_pretty.cpp -ltbb_debug $(LIBS)
-
-clean:
- $(RM) sub_string_finder sub_string_finder_extended sub_string_finder_pretty *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs examples.
-PROG=sub_string_finder_extended
-ARGS=
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) sub_string_finder.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:sub_string_finder.exe
- $(CXX) sub_string_finder_extended.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:sub_string_finder_extended.exe
- $(CXX) sub_string_finder_pretty.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:sub_string_finder_pretty.exe
-debug:
- $(CXX) sub_string_finder.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:sub_string_finder.exe
- $(CXX) sub_string_finder_extended.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:sub_string_finder_extended.exe
- $(CXX) sub_string_finder_pretty.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:sub_string_finder_pretty.exe
-clean:
- @cmd.exe /C del sub_string_finder*.exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-A simple example that uses the parallel_for template in a substring matching program. For each position
-in a string, the program displays the length of the largest matching substring elsewhere in the string.
-The program also displays the location of a largest match for each position. Consider the string "babba"
-as an example. Starting at position 0, "ba" is the largest substring with a match elsewhere in the
-string (position 3).
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="sub_string_finder.cpp">sub_string_finder.cpp</A>
-<DD>The example as it appears in the Getting Started Guide.
-<DT><A HREF="sub_string_finder_extended.cpp">sub_string_finder_extended.cpp</A>
-<DD>An example similar to the one in the Getting Started Guide, but with an added sequential
- implementation. The two implementations are both timed, by using tick_count,
- and the speedup of the parallel version is calculated and displayed.
-<DT><A HREF="sub_string_finder_pretty.cpp">sub_string_finder_pretty.cpp</A>
-<DD>An example similar to the one in the Getting Started Guide, but with more attractive printing of the results.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>sub_string_finder</TT>
-<DD>Runs the example as it appears in the Getting Started Guide.
-<DT><TT>sub_string_finder_extended</TT>
-<DD>Runs the extended example with the added sequential implementation.
-<DT><TT>sub_string_finder_pretty</TT>
-<DD>Runs the similar example with more attractive printing of the results.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the <TT>sub_string_finder_pretty</TT> example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it, e.g., <TT>sub_string_finder_pretty</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <iostream>
-#include <string>
-#include <algorithm>
-
-#include "tbb/parallel_for.h"
-#include "tbb/blocked_range.h"
-
-using namespace tbb;
-using namespace std;
-
-static const size_t N = 23;
-
-class SubStringFinder {
- const string str;
- size_t *max_array;
- size_t *pos_array;
- public:
- void operator() ( const blocked_range<size_t>& r ) const {
- for ( size_t i = r.begin(); i != r.end(); ++i ) {
- size_t max_size = 0, max_pos = 0;
- for (size_t j = 0; j < str.size(); ++j)
- if (j != i) {
- size_t limit = str.size()-( i > j ? i : j );
- for (size_t k = 0; k < limit; ++k) {
- if (str[i + k] != str[j + k]) break;
- if (k > max_size) {
- max_size = k;
- max_pos = j;
- }
- }
- }
- max_array[i] = max_size;
- pos_array[i] = max_pos;
- }
- }
- SubStringFinder(string &s, size_t *m, size_t *p) :
- str(s), max_array(m), pos_array(p) { }
-};
-
-int main(int argc, char *argv[]) {
-
-
- string str[N] = { string("a"), string("b") };
- for (size_t i = 2; i < N; ++i) str[i] = str[i-1]+str[i-2];
- string &to_scan = str[N-1];
-
- size_t *max = new size_t[to_scan.size()];
- size_t *pos = new size_t[to_scan.size()];
-
- parallel_for(blocked_range<size_t>(0, to_scan.size(), 100),
- SubStringFinder( to_scan, max, pos ) );
-
- for (size_t i = 0; i < to_scan.size(); ++i)
- cout << " " << (int)max[i] << "(" << (int)pos[i] << ")" << endl;
- delete[] max;
- delete[] pos;
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <iostream>
-#include <string>
-#include <algorithm>
-
-#include "tbb/parallel_for.h"
-#include "tbb/blocked_range.h"
-#include "tbb/tick_count.h"
-
-using namespace tbb;
-using namespace std;
-static const size_t N = 22;
-
-void SerialSubStringFinder ( const string &str, size_t *max_array, size_t *pos_array) {
- for ( size_t i = 0; i < str.size(); ++i ) {
- size_t max_size = 0, max_pos = 0;
- for (size_t j = 0; j < str.size(); ++j)
- if (j != i) {
- size_t limit = str.size()-( i > j ? i : j );
- for (size_t k = 0; k < limit; ++k) {
- if (str[i + k] != str[j + k]) break;
- if (k > max_size) {
- max_size = k;
- max_pos = j;
- }
- }
- }
- max_array[i] = max_size;
- pos_array[i] = max_pos;
- }
-}
-
-class SubStringFinder {
- const string str;
- size_t *max_array;
- size_t *pos_array;
- public:
- void operator() ( const blocked_range<size_t>& r ) const {
- for ( size_t i = r.begin(); i != r.end(); ++i ) {
- size_t max_size = 0, max_pos = 0;
- for (size_t j = 0; j < str.size(); ++j)
- if (j != i) {
- size_t limit = str.size()-( i > j ? i : j );
- for (size_t k = 0; k < limit; ++k) {
- if (str[i + k] != str[j + k]) break;
- if (k > max_size) {
- max_size = k;
- max_pos = j;
- }
- }
- }
- max_array[i] = max_size;
- pos_array[i] = max_pos;
- }
- }
- SubStringFinder(string &s, size_t *m, size_t *p) :
- str(s), max_array(m), pos_array(p) { }
-};
-
-int main(int argc, char *argv[]) {
-
-
- string str[N] = { string("a"), string("b") };
- for (size_t i = 2; i < N; ++i) str[i] = str[i-1]+str[i-2];
- string &to_scan = str[N-1];
-
- size_t *max = new size_t[to_scan.size()];
- size_t *max2 = new size_t[to_scan.size()];
- size_t *pos = new size_t[to_scan.size()];
- size_t *pos2 = new size_t[to_scan.size()];
- cout << " Done building string." << endl;
-
-
- tick_count serial_t0 = tick_count::now();
- SerialSubStringFinder(to_scan, max2, pos2);
- tick_count serial_t1 = tick_count::now();
- cout << " Done with serial version." << endl;
-
- tick_count parallel_t0 = tick_count::now();
- parallel_for(blocked_range<size_t>(0, to_scan.size(), 100),
- SubStringFinder( to_scan, max, pos ) );
- tick_count parallel_t1 = tick_count::now();
- cout << " Done with parallel version." << endl;
-
- for (size_t i = 0; i < to_scan.size(); ++i) {
- if (max[i] != max2[i] || pos[i] != pos2[i]) {
- cout << "ERROR: Serial and Parallel Results are Different!" << endl;
- }
- }
- cout << " Done validating results." << endl;
-
- cout << "Serial version ran in " << (serial_t1 - serial_t0).seconds() << " seconds" << endl
- << "Parallel version ran in " << (parallel_t1 - parallel_t0).seconds() << " seconds" << endl
- << "Resulting in a speedup of " << (serial_t1 - serial_t0).seconds() / (parallel_t1 - parallel_t0).seconds() << endl;
- delete[] max;
- delete[] pos;
- delete[] max2;
- delete[] pos2;
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <iostream>
-#include <string>
-#include <algorithm>
-
-#include "tbb/parallel_for.h"
-#include "tbb/blocked_range.h"
-
-using namespace tbb;
-static const size_t N = 9;
-
-class SubStringFinder {
- const std::string str;
- size_t *max_array;
- size_t *pos_array;
- public:
- void operator() ( const blocked_range<size_t>& r ) const {
- for ( size_t i = r.begin(); i != r.end(); ++i ) {
- size_t max_size = 0, max_pos = 0;
- for (size_t j = 0; j < str.size(); ++j)
- if (j != i) {
- size_t limit = str.size()-( i > j ? i : j );
- for (size_t k = 0; k < limit; ++k) {
- if (str[i + k] != str[j + k]) break;
- if (k+1 > max_size) {
- max_size = k+1;
- max_pos = j;
- }
- }
- }
- max_array[i] = max_size;
- pos_array[i] = max_pos;
- }
- }
- SubStringFinder(std::string &s, size_t *m, size_t *p) :
- str(s), max_array(m), pos_array(p) { }
-};
-
-int main(int argc, char *argv[]) {
-
-
- std::string str[N] = { std::string("a"), std::string("b") };
- for (size_t i = 2; i < N; ++i) str[i] = str[i-1]+str[i-2];
- std::string &to_scan = str[N-1];
- std::cout << "String to scan: " << to_scan << std::endl;
-
- size_t *max = new size_t[to_scan.size()];
- size_t *pos = new size_t[to_scan.size()];
-
- parallel_for(blocked_range<size_t>(0, to_scan.size(), 100),
- SubStringFinder( to_scan, max, pos ) );
-
- for (size_t i = 0; i < to_scan.size(); ++i) {
- for (size_t j = 0; j < to_scan.size(); ++j) {
- if (j >= i && j < i + max[i]) std::cout << "_";
- else std::cout << " ";
- }
- std::cout << std::endl << to_scan << std::endl;
-
- for (size_t j = 0; j < to_scan.size(); ++j) {
- if (j >= pos[i] && j < pos[i] + max[i]) std::cout << "*";
- else std::cout << " ";
- }
- std::cout << std::endl;
- }
- delete[] max;
- delete[] pos;
- return 0;
-}
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder", "sub_string_finder.vcproj", "{C64078BC-8A63-4C3D-B48D-ECC2B60E75E6}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder_pretty", "sub_string_finder_pretty.vcproj", "{8DCA120F-7D8C-4D43-A939-9403F03D3F45}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder_extended", "sub_string_finder_extended.vcproj", "{2607C858-EE23-429D-BCCC-D89D2A5EDFFE}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {C64078BC-8A63-4C3D-B48D-ECC2B60E75E6}.Debug.ActiveCfg = Debug|Win32
- {C64078BC-8A63-4C3D-B48D-ECC2B60E75E6}.Debug.Build.0 = Debug|Win32
- {C64078BC-8A63-4C3D-B48D-ECC2B60E75E6}.Release.ActiveCfg = Release|Win32
- {C64078BC-8A63-4C3D-B48D-ECC2B60E75E6}.Release.Build.0 = Release|Win32
- {8DCA120F-7D8C-4D43-A939-9403F03D3F45}.Debug.ActiveCfg = Debug|Win32
- {8DCA120F-7D8C-4D43-A939-9403F03D3F45}.Debug.Build.0 = Debug|Win32
- {8DCA120F-7D8C-4D43-A939-9403F03D3F45}.Release.ActiveCfg = Release|Win32
- {8DCA120F-7D8C-4D43-A939-9403F03D3F45}.Release.Build.0 = Release|Win32
- {2607C858-EE23-429D-BCCC-D89D2A5EDFFE}.Debug.ActiveCfg = Debug|Win32
- {2607C858-EE23-429D-BCCC-D89D2A5EDFFE}.Debug.Build.0 = Debug|Win32
- {2607C858-EE23-429D-BCCC-D89D2A5EDFFE}.Release.ActiveCfg = Release|Win32
- {2607C858-EE23-429D-BCCC-D89D2A5EDFFE}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionItems) = postSolution
- ..\index.html = ..\index.html
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="sub_string_finder"
- ProjectGUID="{C64078BC-8A63-4C3D-B48D-ECC2B60E75E6}"
- RootNamespace="sub_string_finder"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\sub_string_finder.cpp">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="sub_string_finder_extended"
- ProjectGUID="{2607C858-EE23-429D-BCCC-D89D2A5EDFFE}"
- RootNamespace="sub_string_finder_extended"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\sub_string_finder_extended.cpp">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="sub_string_finder_pretty"
- ProjectGUID="{8DCA120F-7D8C-4D43-A939-9403F03D3F45}"
- RootNamespace="sub_string_finder_pretty"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\sub_string_finder_pretty.cpp">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder", "sub_string_finder.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2525}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder_extended", "sub_string_finder_extended.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2526}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder_pretty", "sub_string_finder_pretty.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2524}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A26B588D-97F7-4466-9672-8A7E3173FBA1}"
- ProjectSection(SolutionItems) = preProject
- ..\index.html = ..\index.html
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|x64.Build.0 = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|x64.Build.0 = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="sub_string_finder"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2525}"
- RootNamespace="sub_string_finder"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\sub_string_finder.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="sub_string_finder_extended"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2526}"
- RootNamespace="sub_string_finder_extended"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\sub_string_finder_extended.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="sub_string_finder_pretty"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2524}"
- RootNamespace="sub_string_finder_pretty"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\sub_string_finder_pretty.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A26B588D-97F7-4466-9672-8A7E3173FBA1}"
- ProjectSection(SolutionItems) = preProject
- ..\index.html = ..\index.html
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder", "sub_string_finder.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2525}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder_extended", "sub_string_finder_extended.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2526}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sub_string_finder_pretty", "sub_string_finder_pretty.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2524}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2525}.Release|x64.Build.0 = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2526}.Release|x64.Build.0 = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2524}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="sub_string_finder"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2525}"
- RootNamespace="sub_string_finder"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\sub_string_finder.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="sub_string_finder_extended"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2526}"
- RootNamespace="sub_string_finder_extended"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\sub_string_finder_extended.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="sub_string_finder_pretty"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2524}"
- RootNamespace="sub_string_finder_pretty"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\sub_string_finder_pretty.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- A1F593A60B8F042A00073279 /* sub_string_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* sub_string_finder.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F594120B8F1E0C00073279 /* sub_string_finder_pretty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F594110B8F1E0C00073279 /* sub_string_finder_pretty.cpp */; };
- A1F594130B8F1E1700073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F594160B8F1E8000073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F594240B8F1F5F00073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F594250B8F1F6800073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F594270B8F1F8100073279 /* sub_string_finder_extended.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F594260B8F1F8100073279 /* sub_string_finder_extended.cpp */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594140B8F1E2D00073279 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F594160B8F1E8000073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F5941D0B8F1F2D00073279 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F594250B8F1F6800073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8DD76F6C0486A84900D96B5E /* sub_string_finder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = sub_string_finder; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F593A50B8F042A00073279 /* sub_string_finder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = sub_string_finder.cpp; path = ../sub_string_finder.cpp; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
- A1F5940A0B8F1D8E00073279 /* sub_string_finder_pretty */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = sub_string_finder_pretty; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F594110B8F1E0C00073279 /* sub_string_finder_pretty.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = sub_string_finder_pretty.cpp; path = ../sub_string_finder_pretty.cpp; sourceTree = SOURCE_ROOT; };
- A1F5941B0B8F1F0900073279 /* sub_string_finder_extended */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = sub_string_finder_extended; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F594260B8F1F8100073279 /* sub_string_finder_extended.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = sub_string_finder_extended.cpp; path = ../sub_string_finder_extended.cpp; sourceTree = SOURCE_ROOT; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594080B8F1D8E00073279 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F594130B8F1E1700073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594190B8F1F0900073279 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F594240B8F1F5F00073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* sub_string_finder */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = sub_string_finder;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- A1F594260B8F1F8100073279 /* sub_string_finder_extended.cpp */,
- A1F594110B8F1E0C00073279 /* sub_string_finder_pretty.cpp */,
- A1F593A50B8F042A00073279 /* sub_string_finder.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* sub_string_finder */,
- A1F5940A0B8F1D8E00073279 /* sub_string_finder_pretty */,
- A1F5941B0B8F1F0900073279 /* sub_string_finder_extended */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* sub_string_finder */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "sub_string_finder" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = sub_string_finder;
- productInstallPath = "$(HOME)/bin";
- productName = sub_string_finder;
- productReference = 8DD76F6C0486A84900D96B5E /* sub_string_finder */;
- productType = "com.apple.product-type.tool";
- };
- A1F594090B8F1D8E00073279 /* sub_string_finder_pretty */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = A1F5940C0B8F1DB600073279 /* Build configuration list for PBXNativeTarget "sub_string_finder_pretty" */;
- buildPhases = (
- A1F594070B8F1D8E00073279 /* Sources */,
- A1F594080B8F1D8E00073279 /* Frameworks */,
- A1F594140B8F1E2D00073279 /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = sub_string_finder_pretty;
- productName = sub_string_finder_pretty;
- productReference = A1F5940A0B8F1D8E00073279 /* sub_string_finder_pretty */;
- productType = "com.apple.product-type.tool";
- };
- A1F5941A0B8F1F0900073279 /* sub_string_finder_extended */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = A1F5941F0B8F1F4E00073279 /* Build configuration list for PBXNativeTarget "sub_string_finder_extended" */;
- buildPhases = (
- A1F594180B8F1F0900073279 /* Sources */,
- A1F594190B8F1F0900073279 /* Frameworks */,
- A1F5941D0B8F1F2D00073279 /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = sub_string_finder_extended;
- productName = sub_string_finder_extended;
- productReference = A1F5941B0B8F1F0900073279 /* sub_string_finder_extended */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "sub_string_finder" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* sub_string_finder */;
- projectDirPath = "";
- targets = (
- A1F5941A0B8F1F0900073279 /* sub_string_finder_extended */,
- A1F594090B8F1D8E00073279 /* sub_string_finder_pretty */,
- 8DD76F620486A84900D96B5E /* sub_string_finder */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593A60B8F042A00073279 /* sub_string_finder.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594070B8F1D8E00073279 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F594120B8F1E0C00073279 /* sub_string_finder_pretty.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594180B8F1F0900073279 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F594270B8F1F8100073279 /* sub_string_finder_extended.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = sub_string_finder;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = sub_string_finder;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = sub_string_finder;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = sub_string_finder;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
- A1F5940D0B8F1DB600073279 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_pretty;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- A1F5940E0B8F1DB600073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_pretty;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F5940F0B8F1DB600073279 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_pretty;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- A1F594100B8F1DB600073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_pretty;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F594200B8F1F4E00073279 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_extended;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- A1F594210B8F1F4E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_extended;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F594220B8F1F4E00073279 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_extended;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- A1F594230B8F1F4E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = sub_string_finder_extended;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "sub_string_finder" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "sub_string_finder" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- A1F5940C0B8F1DB600073279 /* Build configuration list for PBXNativeTarget "sub_string_finder_pretty" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- A1F5940D0B8F1DB600073279 /* Debug */,
- A1F5940E0B8F1DB600073279 /* Debug64 */,
- A1F5940F0B8F1DB600073279 /* Release */,
- A1F594100B8F1DB600073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- A1F5941F0B8F1F4E00073279 /* Build configuration list for PBXNativeTarget "sub_string_finder_extended" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- A1F594200B8F1F4E00073279 /* Debug */,
- A1F594210B8F1F4E00073279 /* Debug64 */,
- A1F594220B8F1F4E00073279 /* Release */,
- A1F594230B8F1F4E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# This file should be always located and called in $(tbb_root)/examples
-
-# Usage:
-# make [all] [clean] [release] [debug] [test]
-# executes specified targets for all examples.
-# make {example's dir}/{target}
-# calls specified example with specified target.
-# For instance: make task/tree_sum/all
-
-tbb_root?=..
-BUILDING_PHASE:=0
-include ../build/common.inc
-
-#check, if tbb_root is not absolute path (the filter keeps only /* paths)
-ifeq ($(filter /% $(SLASH)%, $(subst :, ,$(tbb_root)) ),)
- # also changes related variables like work_dir
- override tbb_root := $(CWD)$(SLASH)..
- export TBB22_INSTALL_DIR := $(tbb_root)
-endif
-
-ifeq ($(tbb_os),windows)
- ifeq ($(compiler),gcc)
- EXAMPLE_MAKEFILE = Makefile
- EXAMPLES = $(wildcard */*/$(EXAMPLE_MAKEFILE))
- export CPATH := $(CPATH);$(tbb_root)/include
- export LIBRARY_PATH := $(LIBRARY_PATH);$(work_dir)_release;$(work_dir)_debug
- export CXXFLAGS += -Wl,--enable-auto-import
- export RM = cmd /C del /Q /F
- else
- EXAMPLE_MAKEFILE = Makefile.windows
- EXAMPLES = $(wildcard */*/$(EXAMPLE_MAKEFILE))
- EXAMPLE_MAKEFILE := $(if $(EXAMPLES),Makefile.windows,Makefile)
- export INCLUDE := $(tbb_root)$(SLASH)include;$(INCLUDE)
- export LIB := $(work_dir)_release;$(work_dir)_debug;$(LIB)
- endif
- work_dir := $(subst /,$(SLASH),$(work_dir))
- export PATH := $(work_dir)_release;$(work_dir)_debug;$(PATH)
- export TBB_ARCH_PLATFORM = $(arch)\$(runtime)
-else
- EXAMPLE_MAKEFILE = Makefile
- EXAMPLES := $(wildcard */*/$(EXAMPLE_MAKEFILE))
- # platform-specific settings
- ifeq ($(arch),ia64)
- override CXXFLAGS += $(PIC_KEY)
- endif
- ifeq ($(compiler),gcc)
- ifeq ($(arch),intel64)
- override CXXFLAGS += -m64
- endif
- ifeq ($(arch),ia32)
- override CXXFLAGS += -m32
- endif
- ifeq ($(arch),ppc64)
- override CXXFLAGS += -m64
- endif
- ifeq ($(arch),ppc32)
- override CXXFLAGS += -m32
- endif
- ifeq ($(arch),sparc)
- override CXXFLAGS += -mcpu=v9 -m64
- endif
- endif
- ifeq ($(compiler),suncc)
- override CXXFLAGS += -I$(tbb_root)$(SLASH)include -library=stlport4 -M$(tbb_root)/build/suncc.map.pause
- ifeq ($(arch),intel64)
- override CXXFLAGS += -m64
- endif
- ifeq ($(arch),ia32)
- override CXXFLAGS += -m32
- endif
- ifeq ($(arch),sparc)
- override CXXFLAGS += -m64
- endif
- endif
- ifeq ($(tbb_os),macos)
- # GUI for examples does not support 64-bit platforms
- ifeq ($(arch),intel64)
- export UI=con
- endif
- ifeq ($(arch),ppc64)
- export UI=con
- endif
- export DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(work_dir)_release:$(work_dir)_debug
- else
- export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(work_dir)_release:$(work_dir)_debug
- endif
- export LIBS
- export LIBRARY_PATH := $(LIBRARY_PATH):$(work_dir)_release:$(work_dir)_debug
- export CPATH := $(CPATH):$(tbb_root)/include
-endif
-
-COMMON_TARGETS := all clean release debug test
-# list of directories of examples
-EXAMPLES_DIRS := $(foreach T,$(EXAMPLES),$(dir $(T)))
-# targets to explicitly call example have format: {example's dir}/{example's target}
-EXAMPLES_TARGETS := $(foreach T,$(COMMON_TARGETS),$(addsuffix $(T),$(EXAMPLES_DIRS)))
-
-.PHONY: $(COMMON_TARGETS) $(EXAMPLES_TARGETS)
-
-.DEFAULT: all
-
-# execute standard targets for all examples
-$(COMMON_TARGETS):: % : $(addsuffix %,$(EXAMPLES_DIRS))
-
-# proxy rule for calling appropriate example
-$(EXAMPLES_TARGETS)::
- -$(MAKE) -C $(@D) -f $(EXAMPLE_MAKEFILE) $(notdir $@) CXX="$(CPLUS)" CXXFLAGS="$(CXXFLAGS)"
-
-printenv:
-ifeq ($(tbb_os),windows)
- @cmd /C set PATH
- @cmd /C set LIB
- @cmd /C set INCLUDE
-else
- @env | grep PATH
-endif
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# The C++ compiler
-#CXX=g++
-
-# detecting MS Windows (for MinGW support)
-ifeq ($(OS), Windows_NT)
-RM = cmd /C del /Q /F
-RD = cmd /C rmdir
-UI = con
-EXE = $(NAME)$(SUFFIX).exe
-
-else
-RM = rm -f
-RD = rmdir -r
-# detecting x64
-ifeq ($(shell uname -m),x86_64)
-x64 ?= 64
-endif
-# detecting UI ("mac", "x" or "con")
-ifeq ($(shell uname),Darwin)
-UI ?= mac
-else
-UI ?= $(shell sh -c "[ -f /usr/X11R6/lib$(x64)/libX11.so -o -f /usr/lib$(x64)/libX11.so ] && echo x || echo con")
-endif
-
-ifeq ($(UI),x)
-EXE = $(NAME)$(SUFFIX)
-CXXFLAGS += -I/usr/X11R6/include
-LIBS += -lpthread -L/usr/X11R6/lib$(x64) -lX11
-# detect if libXext can be found
-ifeq ($(shell sh -c "[ -f /usr/X11R6/lib$(x64)/libXext.so -o -f /usr/lib$(x64)/libXext.so ] && echo 0"),0)
-LIBS += -lXext
-else # no libXext
-CXXFLAGS += -DX_NOSHMEM
-endif # libXext
-
-else # ! X
-ifeq ($(UI),mac)
-TBBLIBSPATH ?= /Library/Frameworks/TBB.framework/Libraries
-CXXFLAGS += -arch i386 -mmacosx-version-min=10.4 -msse3 -ftree-vectorize
-LIBS += -framework OpenGL -framework AGL -framework Carbon -L$(TBBLIBSPATH)
-APPRES = $(NAME)$(SUFFIX).app/Contents/Resources
-EXE = $(NAME)$(SUFFIX).app/Contents/MacOS/$(NAME)$(SUFFIX)
-ifneq (,$(shell xcode-select -print-path 2>/dev/null))
-PBXCP = $(shell xcode-select -print-path)/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp
-else
-# look in /System and /Developer
-PBXCP = $(wildcard /[SD]*/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp)
-endif
-PBXCP += -resolve-src-symlinks -exclude .DS_Store -exclude CVS -exclude .svn
-
-else # ! Mac
-UI = con
-EXE = $(NAME)$(SUFFIX)
-
-endif # Mac
-endif # X
-endif # Windows vs. other
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Per-build Makefile rules (for recursive $(MAKE) calls from Makefile)
-
-# Base compile/link options
-MYCXXFLAGS = /nologo $(TBB_SECURITY_SWITCH) /EHsc /Zc:forScope /D WIN32 /D _CRT_SECURE_NO_DEPRECATE $(CXXFLAGS)
-MYLFLAGS = /link /incremental:no /fixed:no $(LFLAGS)
-CXXFLAGS_NDEBUG = /MD /O2 /Oy /Ot /Gy /D NDEBUG
-CXXFLAGS_DEBUG = /MDd /Od /Zi /D _DEBUG
-
-# Specify library directory for Direct X SDK
-DDLIB_DIR=$(DXSDK_DIR)\lib\$(XARCH:AMD64=x64)
-
-# Input and output files
-#SOURCE = v
-#RCNAME = specified externaly
-#EXE = ^
-# defaults on XARCH = x86
-UISRC = ../../common/gui/$(UI)video.cpp
-
-default:
-
-build_echo:
- -@echo Building$(DEBUG) $(EXE) with UI=$(UI) XARCH=$(XARCH)
-
-build_one: build_echo build_$(UI)$(DEBUG)
-
-build_con: $(SOURCE) $(UISRC)
- $(CXX) $(CXXFLAGS_NDEBUG) $(MYCXXFLAGS) $(SOURCE) $(UISRC) $(MYLFLAGS) /subsystem:console /OUT:$(EXE)
- @cmd.exe /C del *.obj
-
-build_con_debug: $(SOURCE) $(UISRC)
- $(CXX) $(CXXFLAGS_DEBUG) $(MYCXXFLAGS) $(SOURCE) $(UISRC) $(MYLFLAGS) /debug /subsystem:console /OUT:$(EXE)
- @cmd.exe /C del *.obj
-
-build_gdi: $(SOURCE) $(UISRC) vc7.1/$(RCNAME).res
- $(CXX) $(CXXFLAGS_NDEBUG) /D _WINDOWS $(MYCXXFLAGS) $(SOURCE) $(UISRC) $(MYLFLAGS) vc7.1/$(RCNAME).res /subsystem:windows /machine:$(XARCH) /OUT:$(EXE)
- @cmd.exe /C del *.obj
-
-build_gdi_debug: $(SOURCE) $(UISRC) vc7.1/$(RCNAME).res
- $(CXX) $(CXXFLAGS_DEBUG) /D _WINDOWS $(MYCXXFLAGS) $(SOURCE) $(UISRC) $(MYLFLAGS) vc7.1/$(RCNAME).res /debug /subsystem:windows /machine:$(XARCH) /OUT:$(EXE)
- @cmd.exe /C del *.obj
-
-build_dd: $(SOURCE) $(UISRC) vc7.1/$(RCNAME).res
- -@echo Using DirectX SDK from "$(DDLIB_DIR)"
- $(CXX) $(CXXFLAGS_NDEBUG) /D _WINDOWS $(MYCXXFLAGS) /I "$(DXSDK_DIR)\include" $(SOURCE) $(UISRC) $(MYLFLAGS) /LIBPATH:"$(DDLIB_DIR)" vc7.1/$(RCNAME).res /subsystem:windows /machine:$(XARCH) /OUT:$(EXE)
- @cmd.exe /C del *.obj
-
-build_dd_debug: $(SOURCE) $(UISRC) vc7.1/$(RCNAME).res
- -@echo Using DirectX SDK from "$(DDLIB_DIR)"
- $(CXX) $(CXXFLAGS_DEBUG) /D _WINDOWS $(MYCXXFLAGS) /I "$(DXSDK_DIR)\include" $(SOURCE) $(UISRC) $(MYLFLAGS) /LIBPATH:"$(DDLIB_DIR)" vc7.1/$(RCNAME).res /debug /subsystem:windows /machine:$(XARCH) /OUT:$(EXE)
- @cmd.exe /C del *.obj
-
-vc7.1/$(RCNAME).res:
- rc /r vc7.1/$(RCNAME)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "video.h"
-#include <cassert>
-#include <stdio.h>
-
-unsigned int * g_pImg = 0;
-int g_sizex, g_sizey;
-static video *g_video = 0;
-static int g_fps = 0;
-
-#if _WIN32 || _WIN64
-
-static DWORD g_msec = 0;
-#ifdef _WINDOWS
-HINSTANCE video::win_hInstance = 0;
-int video::win_iCmdShow = 0;
-void video::win_set_class(WNDCLASSEX &wcex) { }
-void video::win_load_accelerators(int idc) { }
-#endif //_WINDOWS
-
-#else
-
-#include <sched.h>
-#include <sys/time.h>
-struct timeval g_time;
-
-#endif //_WIN32||_WIN64
-
-video::video()
- : red_mask(0xff0000), red_shift(16), green_mask(0xff00),
- green_shift(8), blue_mask(0xff), blue_shift(0), depth(24)
-{
- assert(g_video == 0);
- g_video = this; title = "Video"; updating = calc_fps = false;
-}
-
-bool video::init_window(int x, int y)
-{
- g_sizex = x; g_sizey = y;
- g_pImg = new unsigned int[x*y];
- running = true;
- return false;
-}
-
-bool video::init_console()
-{
- running = true;
- return true;
-}
-
-void video::terminate()
-{
- if(calc_fps) {
- double fps = g_fps;
-#if _WIN32 || _WIN64
- fps /= (GetTickCount()-g_msec)/1000.0;
-#else
- struct timezone tz; struct timeval end_time; gettimeofday(&end_time, &tz);
- fps /= (end_time.tv_sec+1.0*end_time.tv_usec/1000000.0) - (g_time.tv_sec+1.0*g_time.tv_usec/1000000.0);
-#endif
- printf("%s: %.1f fps\n", title, fps);
- }
- g_video = 0; running = false;
- if(g_pImg) { delete[] g_pImg; g_pImg = 0; }
-}
-
-video::~video()
-{
- if(g_video) terminate();
-}
-
-//! Count and display FPS count in titlebar
-bool video::next_frame()
-{
- if(calc_fps){
- if(!g_fps) {
-#if _WIN32 || _WIN64
- g_msec = GetTickCount();
-#else
- struct timezone tz; gettimeofday(&g_time, &tz);
-#endif
- }
- g_fps++;
- }
- return running;
-}
-
-//! Do standard loop
-void video::main_loop()
-{
- on_process();
-}
-
-//! Change window title
-void video::show_title()
-{
-}
-
-///////////////////////////////////////////// public methods of video class ///////////////////////
-
-drawing_area::drawing_area(int x, int y, int sizex, int sizey)
- : start_x(x), start_y(y), size_x(sizex), size_y(sizey), pixel_depth(24),
- base_index(y*g_sizex + x), max_index(g_sizex*g_sizey), index_stride(g_sizex), ptr32(g_pImg)
-{
- assert(x < g_sizex); assert(y < g_sizey);
- assert(x+sizex <= g_sizex); assert(y+sizey <= g_sizey);
-
- index = base_index; // current index
-}
-
-drawing_area::~drawing_area() {}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// common Windows parts
-#include "winvideo.h"
-// and another headers
-#include <cassert>
-#include <stdio.h>
-#include <ddraw.h>
-
-#pragma comment(lib, "ddraw.lib")
-#pragma comment(lib, "dxguid.lib")
-
-LPDIRECTDRAW7 g_pDD = NULL; // DirectDraw object
-LPDIRECTDRAWSURFACE7 g_pDDSPrimary = NULL;// DirectDraw primary surface
-LPDIRECTDRAWSURFACE7 g_pDDSBack = NULL; // DirectDraw back surface
-LPDIRECTDRAWSURFACE7 g_pDDSOverlay = NULL;// DirectDraw overlay surface
-LPDIRECTDRAWCLIPPER g_pClipper = NULL; // DirectDraw clipping struct
-DDOVERLAYFX g_OverlayFX; // DirectDraw overlay effects struct
-DDCAPS g_DDCaps; // DirectDraw hardware capabilities struct
-DWORD g_OverlayFlags = 0; // DirectDraw overlay flags variable
-DWORD g_dwXRatio,
- g_dwYRatio; // The ratios between the src and dst rects
-RECT g_rcSrc = {0, 0, 0, 0},
- g_rcDst = {0, 0, 0, 0};
-HANDLE g_hVSync;
-
-// check for new DX SDK (8 & 9)
-#ifdef DDSCAPS_PRIMARYSURFACELEFT
-#include <dxerr8.h>
-#pragma comment(lib, "dxerr8.lib")
-#else
-// old SDK (7)
-#include <d3dx.h>
-#pragma comment(lib, "d3dx.lib")
-#endif
-
-//! Create a dialog box and tell the user what went wrong
-bool DisplayError(LPSTR lpstrErr, HRESULT hres)
-{
- static bool InError = false;
- int retval = 0;
- if (!InError)
- {
- InError = true;
-#ifdef DDSCAPS_PRIMARYSURFACELEFT
- const char *message = hres?DXGetErrorString8A(hres):0;
-#else
- char message[256]; if(hres) D3DXGetErrorString(hres, 256, message);
-#endif
- retval = MessageBoxA(g_hAppWnd, lpstrErr, hres?message:"Error!", MB_OK|MB_ICONERROR);
- InError = false;
- }
- return false;
-}
-
-//! Releases the overlay surface
-void DestroyOverlay()
-{
- if (g_pClipper)
- g_pClipper->Release();
- if (g_pDDSOverlay) {
- g_pImg = 0; LPDIRECTDRAWSURFACE7 pDDSOverlay(g_pDDSOverlay);
- g_pDDSOverlay = NULL;
- YIELD_TO_THREAD();
- pDDSOverlay->Release(); // be sure nobody uses old value
- }
-}
-
-//! Releases the primary surface
-void DestroyPrimary()
-{
- if (g_pDDSPrimary)
- {
- g_pDDSPrimary->Release();
- g_pDDSPrimary = NULL;
- }
-}
-
-//! Releases core DirectDraw objects
-void DestroyDDraw()
-{
- DestroyPrimary();
- // Release the DDraw object
- if (g_pDD) {
- LPDIRECTDRAW7 pDD(g_pDD); // be sure nobody uses old value
- g_pDD = NULL; Sleep(1); pDD->Release();
- }
-}
-
-//! Checks and corrects all boundries for alignment and stretching
-void CheckBoundries(void)
-{
- // Make sure the coordinates fulfill the stretching requirements. Often
- // the hardware will require a certain ammount of stretching to do
- // overlays. This stretch factor is held in dwMinOverlayStretch as the
- // stretch factor multiplied by 1000 (to keep an accuracy of 3 decimal places).
- if ((g_DDCaps.dwCaps & DDCAPS_OVERLAYSTRETCH) && (g_DDCaps.dwMinOverlayStretch)
- && (g_dwXRatio < g_DDCaps.dwMinOverlayStretch))
- {
- g_rcDst.right = 2 * GetSystemMetrics(SM_CXSIZEFRAME) + g_rcDst.left + (g_sizex
- * (g_DDCaps.dwMinOverlayStretch + 1)) / 1000;
- SetWindowTextA(g_hAppWnd, "Window is too small!");
- }
- else if ((g_DDCaps.dwCaps & DDCAPS_OVERLAYSTRETCH) && (g_DDCaps.dwMaxOverlayStretch)
- && (g_dwXRatio > g_DDCaps.dwMaxOverlayStretch))
- {
- g_rcDst.right = 2 * GetSystemMetrics(SM_CXSIZEFRAME) + g_rcDst.left + (g_sizey
- * (g_DDCaps.dwMaxOverlayStretch + 999)) / 1000;
- SetWindowTextA(g_hAppWnd, "Window is too large!");
- }
- else if(!g_video->calc_fps) SetWindowText(g_hAppWnd, g_video->title);
-
- // Recalculate the ratio's for the upcoming calculations
- g_dwXRatio = (g_rcDst.right - g_rcDst.left) * 1000 / (g_rcSrc.right - g_rcSrc.left);
- g_dwYRatio = (g_rcDst.bottom - g_rcDst.top) * 1000 / (g_rcSrc.bottom - g_rcSrc.top);
-
- // Check to make sure we're within the screen's boundries, if not then fix
- // the problem by adjusting the source rectangle which we draw from.
- if (g_rcDst.left < 0)
- {
- g_rcSrc.left = -g_rcDst.left * 1000 / g_dwXRatio;
- g_rcDst.left = 0;
- }
- if (g_rcDst.right > GetSystemMetrics(SM_CXSCREEN))
- {
- g_rcSrc.right = g_sizex - ((g_rcDst.right - GetSystemMetrics(SM_CXSCREEN)) * 1000 / g_dwXRatio);
- g_rcDst.right = GetSystemMetrics(SM_CXSCREEN);
- }
- if (g_rcDst.bottom > GetSystemMetrics(SM_CYSCREEN))
- {
- g_rcSrc.bottom = g_sizey - ((g_rcDst.bottom - GetSystemMetrics(SM_CYSCREEN)) * 1000 / g_dwYRatio);
- g_rcDst.bottom = GetSystemMetrics(SM_CYSCREEN);
- }
- // I don't know how useful this is... but just in case someone can do it - here's the check.
- if (g_rcDst.top < 0)
- {
- g_rcSrc.top = -g_rcDst.top * 1000 / g_dwYRatio;
- g_rcDst.top = 0;
- }
-
- // Make sure the coordinates fulfill the alignment requirements
- // these expressions (x & -y) just do alignment by dropping low order bits...
- // so to round up, we add first, then truncate.
- if ((g_DDCaps.dwCaps & DDCAPS_ALIGNBOUNDARYSRC) && g_DDCaps.dwAlignBoundarySrc)
- g_rcSrc.left = (g_rcSrc.left + g_DDCaps.dwAlignBoundarySrc / 2) & -(signed)
- (g_DDCaps.dwAlignBoundarySrc);
- if ((g_DDCaps.dwCaps & DDCAPS_ALIGNSIZESRC) && g_DDCaps.dwAlignSizeSrc)
- g_rcSrc.right = g_rcSrc.left + (g_rcSrc.right - g_rcSrc.left + g_DDCaps.dwAlignSizeSrc
- / 2) & -(signed) (g_DDCaps.dwAlignSizeSrc);
- if ((g_DDCaps.dwCaps & DDCAPS_ALIGNBOUNDARYDEST) && g_DDCaps.dwAlignBoundaryDest)
- g_rcDst.left = (g_rcDst.left + g_DDCaps.dwAlignBoundaryDest / 2) & -(signed)
- (g_DDCaps.dwAlignBoundaryDest);
- if ((g_DDCaps.dwCaps & DDCAPS_ALIGNSIZEDEST) && g_DDCaps.dwAlignSizeDest)
- g_rcDst.right = g_rcDst.left + (g_rcDst.right - g_rcDst.left) & -(signed) (g_DDCaps.dwAlignSizeDest);
-}
-
-//! Get translated by system color value
-DWORD DDColorMatch(IDirectDrawSurface7 * pdds, COLORREF rgb)
-{
- COLORREF rgbT;
- HDC hdc;
- DWORD dw = CLR_INVALID;
- DDSURFACEDESC2 ddsd;
- HRESULT hres;
-
- // Use GDI SetPixel to color match for us
- if (rgb != CLR_INVALID && pdds->GetDC(&hdc) == DD_OK) {
- rgbT = GetPixel(hdc, 0, 0); // Save current pixel value
- SetPixel(hdc, 0, 0, rgb); // Set our value
- pdds->ReleaseDC(hdc);
- }
- // Now lock the surface so we can read back the converted color
- ddsd.dwSize = sizeof(ddsd);
- while ((hres = pdds->Lock(NULL, &ddsd, 0, NULL)) == DDERR_WASSTILLDRAWING)
- YIELD_TO_THREAD();
- if (hres == DD_OK) {
- dw = *(DWORD *) ddsd.lpSurface; // Get DWORD
- if (ddsd.ddpfPixelFormat.dwRGBBitCount < 32)
- dw &= (1 << ddsd.ddpfPixelFormat.dwRGBBitCount) - 1; // Mask it to bpp
- pdds->Unlock(NULL);
- }
- else return DisplayError("Can't lock primary surface", hres);
- // Now put the color that was there back.
- if (rgb != CLR_INVALID && pdds->GetDC(&hdc) == DD_OK) {
- SetPixel(hdc, 0, 0, rgbT);
- pdds->ReleaseDC(hdc);
- }
- return dw;
-}
-
-//! Load the bitmap and copy it to the overlay surface
-bool DrawOverlay()
-{
- HRESULT hRet; // This is where we put return values from DirectDraw.
- DDSURFACEDESC2 surfDesc;
- // Setup structure
- memset(&surfDesc, 0, sizeof(surfDesc)); surfDesc.dwSize = sizeof(surfDesc);
-
- hRet = g_pDDSOverlay->Lock(NULL, &surfDesc, DDLOCK_SURFACEMEMORYPTR | DDLOCK_NOSYSLOCK | DDLOCK_WRITEONLY, NULL);
- if (hRet != DD_OK || surfDesc.lpSurface == NULL)
- return DisplayError("Can't lock overlay surface", hRet);
- else {
- g_pImg = (unsigned int *)surfDesc.lpSurface;
- //g_pDDSOverlay->Unlock(NULL); is not needed?
- }
- // Setup effects structure
- memset(&g_OverlayFX, 0, sizeof(g_OverlayFX)); g_OverlayFX.dwSize = sizeof(g_OverlayFX);
- // Setup overlay flags.
- g_OverlayFlags = DDOVER_SHOW;
- // Check for destination color keying capability
- if ((g_DDCaps.dwCKeyCaps & DDCKEYCAPS_DESTOVERLAY) && ((g_DDCaps.dwCaps & DDCAPS_OVERLAYCANTCLIP) || (g_DDCaps.dwCKeyCaps & DDCKEYCAPS_NOCOSTOVERLAY) ))
- {
- // If so, we'll use it to clip the bitmap when other windows go on top
- // of us. Just for the record - this color range for color keying (the
- // high/low values) are not heavily supported right now, so for almost
- // all cards, just use the same color for both.
- g_OverlayFX.dckDestColorkey.dwColorSpaceLowValue =
- g_OverlayFX.dckDestColorkey.dwColorSpaceHighValue = DDColorMatch(g_pDDSPrimary, RGBKEY);
- g_OverlayFlags |= DDOVER_DDFX | DDOVER_KEYDESTOVERRIDE;
- } else {
- // If not, we'll setup a clipper for the window. This will fix the
- // problem on a few video cards - but the ones that don't shouldn't care.
- hRet = g_pDD->CreateClipper(0, &g_pClipper, NULL);
- if (hRet != DD_OK)
- return DisplayError("Can't create clipper", hRet);
- hRet = g_pClipper->SetHWnd(0, g_hAppWnd);
- if (hRet != DD_OK)
- return DisplayError("Can't attach clipper", hRet);
- hRet = g_pDDSPrimary->SetClipper(g_pClipper);
- if (hRet != DD_OK)
- return DisplayError("Can't set clipper", hRet);
- }
- return true;
-}
-
-//! Init the primary surface
-bool DDPrimaryInit()
-{
- HRESULT hRet;
- DDSURFACEDESC2 ddsd; // A surface description structure
-
- // Create the primary surface. The primary surface is the full screen -
- // since we're a windowed app - we'll just write to the portion of the
- // screen within our window.
- memset(&ddsd, 0, sizeof(ddsd)); // Set all fields of struct to 0 and set .dwSize to
- ddsd.dwSize = sizeof(ddsd); // Sizeof the variable - these two steps required for most DDraw structs
- ddsd.dwFlags = DDSD_CAPS; // Set flags for variables we're using...
- ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; // Set the variables we said we would in dwFlags
- hRet = g_pDD->CreateSurface(&ddsd, &g_pDDSPrimary, NULL);
- if (hRet != DD_OK)
- return DisplayError("Can't create primary surface", hRet);
- return true;
-}
-
-//! Init DirectDraw Stuff
-bool DDInit()
-{
- HRESULT hRet;
- g_rcSrc.right = g_sizex;
- g_rcSrc.bottom = g_sizey;
-
- hRet = DirectDrawCreateEx(NULL, (VOID**)&g_pDD, IID_IDirectDraw7, NULL);
- if (hRet != DD_OK)
- return DisplayError("Can't create DirectDraw7 instance", hRet);
-
- // Set cooperation level with other windows to be normal (ie. not full screen)
- // You MUST set the cooperation level to be SOMETHING, for windowed apps use
- // DDSCL_NORMAL, for full screen use: DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN.
- hRet = g_pDD->SetCooperativeLevel(g_hAppWnd, DDSCL_NORMAL);
- if (hRet != DD_OK)
- return DisplayError("Can't set cooperative level", hRet);
- return DDPrimaryInit();
-}
-
-//! Setup the overlay object
-bool DDOverlayInit()
-{
- // Get hardware's CAPabilitieS
- memset(&g_DDCaps, 0, sizeof(g_DDCaps));
- g_DDCaps.dwSize = sizeof(g_DDCaps);
- if (g_pDD->GetCaps(&g_DDCaps, 0))
- return DisplayError("Can't get capabilities");
-
- // Make sure it supports overlays
- if (!(g_DDCaps.dwCaps & DDCAPS_OVERLAY))
- return DisplayError("Hardware doesn't support overlays");
-
- //DO NOT Make sure it supports stretching (scaling)
- //if (!(g_DDCaps.dwCaps & DDCAPS_OVERLAYSTRETCH)) return false;
-
- DDSURFACEDESC2 ddsd; // DirectDraw surface descriptor
- HRESULT hRet; // I'm not even going to try...
- // The pixel formats that we want the surface to be in
- DDPIXELFORMAT ddpfOverlayFormats[] = {
- {sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 32, 0xFF0000, 0x0FF00, 0x0000FF, 0}, // 32-bit RGB
- {sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16, 0x007C00, 0x003e0, 0x00001F, 0}, // 16-bit RGB 5:5:5
- {sizeof(DDPIXELFORMAT), DDPF_RGB, 0, 16, 0x00F800, 0x007e0, 0x00001F, 0}, // 16-bit RGB 5:6:5
- {sizeof(DDPIXELFORMAT), DDPF_FOURCC, mmioFOURCC('U','Y','V','Y'), 16, 0, 0, 0, 0}, // UYVY
- {sizeof(DDPIXELFORMAT), DDPF_FOURCC, mmioFOURCC('Y','4','2','2'), 16, 0, 0, 0, 0}, // the same as UYVY
- {sizeof(DDPIXELFORMAT), DDPF_FOURCC, mmioFOURCC('Y','U','Y','2'), 16, 0, 0, 0, 0}, // YUY2 is unsupported color-space here
- {0}};
-
- // Setup the overlay surface's attributes in the surface descriptor
- memset(&ddsd, 0, sizeof(ddsd));
- ddsd.dwSize = sizeof(ddsd);
- ddsd.ddsCaps.dwCaps = DDSCAPS_OVERLAY | g_DDCaps.ddsCaps.dwCaps&DDSCAPS_VIDEOMEMORY;
- ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT;
- ddsd.dwBackBufferCount = 0;
- ddsd.dwWidth = g_sizex;
- ddsd.dwHeight = g_sizey;
- for(int format = 0; ddpfOverlayFormats[format].dwSize; format++) {
- ddsd.ddpfPixelFormat = ddpfOverlayFormats[format];
- // Attempt to create the surface with theses settings
- hRet = g_pDD->CreateSurface(&ddsd, &g_pDDSOverlay, NULL);
- if(hRet == DD_OK) break;
- }
- if (hRet != DD_OK)
- return DisplayError("Can't create appropriate overlay surface", hRet);
- return true;
-}
-
-inline void mouse(int k, LPARAM lParam)
-{
- int x = (int)LOWORD(lParam), y = (int)HIWORD(lParam);
- g_video->on_mouse( x*g_sizex/(g_rcDst.right - g_rcDst.left),
- y*g_sizey/(g_rcDst.bottom - g_rcDst.top), k);
-}
-
-LRESULT CALLBACK InternalWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
-{
- PAINTSTRUCT ps; // Structure for the paint message
- POINT p = {0, 0}; // Translation point for the window's client region
- HRESULT hRet;
-
- switch (iMsg)
- {
- case WM_MOVE:
- // Make sure we're not moving to be minimized - because otherwise
- // our ratio varialbes (g_dwXRatio and g_dwYRatio) will end up
- // being 0, and once we hit CheckBoundries it divides by 0.
- if (!IsIconic(hwnd))
- {
- g_rcSrc.left = 0;
- g_rcSrc.right = g_sizex;
- g_rcSrc.top = 0;
- g_rcSrc.bottom = g_sizey;
- GetClientRect(hwnd, &g_rcDst);
- g_dwXRatio = (g_rcDst.right - g_rcDst.left) * 1000 /
- (g_rcSrc.right - g_rcSrc.left);
- g_dwYRatio = (g_rcDst.bottom - g_rcDst.top) * 1000 /
- (g_rcSrc.bottom - g_rcSrc.top);
- ClientToScreen(hwnd, &p);
- g_rcDst.left = p.x;
- g_rcDst.top = p.y;
- g_rcDst.bottom += p.y;
- g_rcDst.right += p.x;
- CheckBoundries();
- }
- else
- // Else, hide the overlay... just in case we can't do
- // destination color keying, this will pull the overlay
- // off of the screen for the user.
- if (g_pDDSOverlay && g_pDDSPrimary)
- g_pDDSOverlay->UpdateOverlay(NULL, g_pDDSPrimary, NULL, DDOVER_HIDE, NULL);
- // Check to make sure our window exists before we tell it to
- // repaint. This will fail the first time (while the window is being created).
- if (hwnd)
- {
- InvalidateRect(hwnd, NULL, FALSE);
- UpdateWindow(hwnd);
- }
- return 0L;
-
- case WM_SIZE:
- // Another check for the minimization action. This check is
- // quicker though...
- if (wParam != SIZE_MINIMIZED)
- {
- GetClientRect(hwnd, &g_rcDst);
- ClientToScreen(hwnd, &p);
- g_rcDst.left = p.x;
- g_rcDst.top = p.y;
- g_rcDst.bottom += p.y;
- g_rcDst.right += p.x;
- g_rcSrc.left = 0;
- g_rcSrc.right = g_sizex;
- g_rcSrc.top = 0;
- g_rcSrc.bottom = g_sizey;
- // Here we multiply by 1000 to preserve 3 decimal places in the
- // division opperation (we picked 1000 to be on the same order
- // of magnitude as the stretch factor for easier comparisons)
- g_dwXRatio = (g_rcDst.right - g_rcDst.left) * 1000 /
- (g_rcSrc.right - g_rcSrc.left);
- g_dwYRatio = (g_rcDst.bottom - g_rcDst.top) * 1000 /
- (g_rcSrc.bottom - g_rcSrc.top);
- CheckBoundries();
- }
- return 0L;
-
- case WM_PAINT:
- BeginPaint(hwnd, &ps);
- // Check the primary surface to see if it's lost - if so you can
- // pretty much bet that the other surfaces are also lost - thus
- // restore EVERYTHING! If we got our surfaces stolen by a full
- // screen app - then we'll destroy our primary - and won't be able
- // to initialize it again. When we get our next paint message (the
- // full screen app closed for example) we'll want to try to reinit
- // the surfaces again - that's why there is a check for
- // g_pDDSPrimary == NULL. The other option, is that our program
- // went through this process, could init the primary again, but it
- // couldn't init the overlay, that's why there's a third check for
- // g_pDDSOverlay == NULL. Make sure that the check for
- // !g_pDDSPrimary is BEFORE the IsLost call - that way if the
- // pointer is NULL (ie. !g_pDDSPrimary is TRUE) - the compiler
- // won't try to evaluate the IsLost function (which, since the
- // g_pDDSPrimary surface is NULL, would be bad...).
- if (!g_pDDSPrimary || (g_pDDSPrimary->IsLost() != DD_OK) ||
- (g_pDDSOverlay == NULL))
- {
- DestroyOverlay();
- DestroyPrimary();
- if (DDPrimaryInit())
- if (DDOverlayInit())
- if (!DrawOverlay())
- DestroyOverlay();
- }
- // UpdateOverlay is how we put the overlay on the screen.
- if (g_pDDSOverlay && g_pDDSPrimary && g_video->updating)
- {
- hRet = g_pDDSOverlay->UpdateOverlay(&g_rcSrc, g_pDDSPrimary,
- &g_rcDst, g_OverlayFlags,
- &g_OverlayFX);
-#ifdef _DEBUG
- if(hRet != DD_OK) DisplayError("Can't update overlay", hRet);
-#endif
- }
- EndPaint(hwnd, &ps);
- return 0L;
-
- // process mouse and keyboard events
- case WM_LBUTTONDOWN: mouse(1, lParam); break;
- case WM_LBUTTONUP: mouse(-1, lParam); break;
- case WM_RBUTTONDOWN: mouse(2, lParam); break;
- case WM_RBUTTONUP: mouse(-2, lParam); break;
- case WM_MBUTTONDOWN: mouse(3, lParam); break;
- case WM_MBUTTONUP: mouse(-3, lParam); break;
- case WM_CHAR: g_video->on_key(wParam); break;
-
- case WM_DISPLAYCHANGE: return 0L;
-
- case WM_DESTROY:
- // Now, shut down the window...
- PostQuitMessage(0);
- return 0L;
- }
- return g_pUserProc? g_pUserProc(hwnd, iMsg, wParam, lParam) : DefWindowProc(hwnd, iMsg, wParam, lParam);
-}
-
-DWORD WINAPI thread_vsync(LPVOID lpParameter)
-{
- BOOL vblank = false;
- while(g_video && g_video->running) {
- while(!vblank && g_video && g_video->running) {
- YIELD_TO_THREAD();
- LPDIRECTDRAW7 pDD(g_pDD);
- if(pDD) pDD->GetVerticalBlankStatus(&vblank);
- }
- LPDIRECTDRAWSURFACE7 pDDSOverlay(g_pDDSOverlay);
- if(pDDSOverlay) pDDSOverlay->UpdateOverlay(&g_rcSrc, g_pDDSPrimary, &g_rcDst, g_OverlayFlags | DDOVER_REFRESHALL, &g_OverlayFX);
- do {
- Sleep(1);
- LPDIRECTDRAW7 pDD(g_pDD);
- if(pDD) pDD->GetVerticalBlankStatus(&vblank);
- } while(vblank && g_video && g_video->running);
- while(g_video && !g_video->updating && g_video->running) Sleep(10);
- }
- return 0;
-}
-
-///////////////////////////////////////////// public methods of video class ///////////////////////
-
-inline void mask2bits(unsigned int mask, color_t &save, char &shift)
-{
- save = mask; if(!mask) { shift = 8; return; }
- shift = 0; while(!(mask&1)) ++shift, mask >>= 1;
- int bits = 0; while(mask&1) ++bits, mask >>= 1;
- shift += bits - 8;
-}
-
-bool video::init_window(int sizex, int sizey)
-{
- assert(win_hInstance != 0);
- g_sizex = sizex; g_sizey = sizey;
- if( !WinInit(win_hInstance, win_iCmdShow, gWndClass, title, false) )
- return DisplayError("Unable to initialize the program's window.");
- running = true;
- if( !DDInit() ) {
- DestroyDDraw();
- goto fail;
- }
- if( !DDOverlayInit() || !DrawOverlay() ) {
- DestroyOverlay();
- DestroyDDraw();
- goto fail;
- }
- DDPIXELFORMAT PixelFormat; memset(&PixelFormat, 0, sizeof(PixelFormat)); PixelFormat.dwSize = sizeof(PixelFormat);
- g_pDDSOverlay->GetPixelFormat(&PixelFormat);
- mask2bits(PixelFormat.dwRBitMask, red_mask, red_shift);
- mask2bits(PixelFormat.dwGBitMask, green_mask, green_shift);
- mask2bits(PixelFormat.dwBBitMask, blue_mask, blue_shift);
- if(PixelFormat.dwFlags == DDPF_RGB)
- depth = char(PixelFormat.dwRGBBitCount);
- else depth = -char(PixelFormat.dwFourCC);
- for(int i = 0, e = sizex * sizey * PixelFormat.dwRGBBitCount / 32, c = get_color(0, 0, 0); i < e; i++)
- g_pImg[i] = c; // clear surface
- ShowWindow(g_hAppWnd, SW_SHOW);
- g_hVSync = CreateThread (
- NULL, // LPSECURITY_ATTRIBUTES security_attrs
- 0, // SIZE_T stacksize
- (LPTHREAD_START_ROUTINE) thread_vsync,
- this, // argument
- 0, 0);
- SetPriorityClass(g_hVSync, IDLE_PRIORITY_CLASS); // questionable
- return true;
-fail:
- g_pImg = new unsigned int[g_sizex * g_sizey];
- return false;
-}
-
-void video::terminate()
-{
- running = false;
- DestroyOverlay();
- if(WaitForSingleObject(g_hVSync, 100) == WAIT_TIMEOUT) TerminateThread(g_hVSync, 0);
- CloseHandle(g_hVSync);
- DestroyDDraw();
- if(g_pImg) delete[] g_pImg;
- g_pImg = 0; g_video = 0;
-}
-//////////// drawing area constructor & destructor /////////////
-
-drawing_area::drawing_area(int x, int y, int sizex, int sizey)
-: start_x(x), start_y(y), size_x(sizex), size_y(sizey), pixel_depth(g_video->depth),
- base_index(y*g_sizex + x), max_index(g_sizex*g_sizey), index_stride(g_sizex), ptr32(g_pImg)
-{
- assert(ptr32); assert(x < g_sizex); assert(y < g_sizey);
- assert(x+sizex <= g_sizex); assert(y+sizey <= g_sizey);
-
- index = base_index; // current index
-}
-
-drawing_area::~drawing_area()
-{
-}
+++ /dev/null
-@echo off
-REM
-REM Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-REM
-REM This file is part of Threading Building Blocks.
-REM
-REM Threading Building Blocks is free software; you can redistribute it
-REM and/or modify it under the terms of the GNU General Public License
-REM version 2 as published by the Free Software Foundation.
-REM
-REM Threading Building Blocks is distributed in the hope that it will be
-REM useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-REM of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-REM GNU General Public License for more details.
-REM
-REM You should have received a copy of the GNU General Public License
-REM along with Threading Building Blocks; if not, write to the Free Software
-REM Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-REM
-REM As a special exception, you may use this file as part of a free software
-REM library without restriction. Specifically, if other files instantiate
-REM templates or use macros or inline functions from this file, or you compile
-REM this file and link it with other files to produce an executable, this
-REM file does not by itself cause the resulting executable to be covered by
-REM the GNU General Public License. This exception does not however
-REM invalidate any other reasons why the executable file might be covered by
-REM the GNU General Public License.
-REM
-if "%DXSDK_DIR%"=="" goto error_no_DXSDK
-goto end
-
-:error_no_DXSDK
-echo DirectX SDK Check : error : This example requires the DirectX SDK. Either (re)-install the DirectX SDK, or set the DXSDK_DIR environment variable to indicate where it is installed.
-
-:end
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// common Windows parts
-#include "winvideo.h"
-// include GDI+ headers
-#include <gdiplus.h>
-// and another headers
-#include <stdio.h>
-
-// tag linking library
-#pragma comment(lib, "gdiplus.lib")
-
-// global specific variables
-Gdiplus::Bitmap * g_pBitmap; // main drawing bitmap
-ULONG_PTR gdiplusToken;
-Gdiplus::GdiplusStartupInput gdiplusStartupInput;// GDI+
-
-//! display system error
-bool DisplayError(LPSTR lpstrErr, HRESULT hres)
-{
- static bool InError = false;
- int retval = 0;
- if (!InError)
- {
- InError = true;
- LPCSTR lpMsgBuf;
- if(!hres) hres = GetLastError();
- FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL, hres, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL );
- retval = MessageBox(g_hAppWnd, lpstrErr, lpMsgBuf, MB_OK|MB_ICONERROR);
- LocalFree( (HLOCAL)lpMsgBuf );
- InError = false;
- }
- return false;
-}
-
-//! Win event processing function
-LRESULT CALLBACK InternalWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
-{
- switch (iMsg)
- {
- case WM_MOVE:
- // Check to make sure our window exists before we tell it to repaint.
- // This will fail the first time (while the window is being created).
- if (hwnd) {
- InvalidateRect(hwnd, NULL, FALSE);
- UpdateWindow(hwnd);
- }
- return 0L;
-
- case WM_PAINT:
- {
- PAINTSTRUCT ps;
- Gdiplus::Graphics graphics( BeginPaint(hwnd, &ps) );
- // redraw just requested area. This call is as fast as simple DrawImage() call.
- if(g_video->updating) graphics.DrawImage(g_pBitmap, ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.left, ps.rcPaint.top,
- ps.rcPaint.right, ps.rcPaint.bottom, Gdiplus::UnitPixel);
- EndPaint(hwnd, &ps);
- }
- return 0L;
-
- // Proccess all mouse and keyboard events
- case WM_LBUTTONDOWN: g_video->on_mouse( (int)LOWORD(lParam), (int)HIWORD(lParam), 1); break;
- case WM_LBUTTONUP: g_video->on_mouse( (int)LOWORD(lParam), (int)HIWORD(lParam), -1); break;
- case WM_RBUTTONDOWN: g_video->on_mouse( (int)LOWORD(lParam), (int)HIWORD(lParam), 2); break;
- case WM_RBUTTONUP: g_video->on_mouse( (int)LOWORD(lParam), (int)HIWORD(lParam), -2); break;
- case WM_MBUTTONDOWN: g_video->on_mouse( (int)LOWORD(lParam), (int)HIWORD(lParam), 3); break;
- case WM_MBUTTONUP: g_video->on_mouse( (int)LOWORD(lParam), (int)HIWORD(lParam), -3); break;
- case WM_CHAR: g_video->on_key( (int)wParam); break;
-
- // some useless stuff
- case WM_ERASEBKGND: return 1; // keeps erase-background events from happening, reduces chop
- case WM_DISPLAYCHANGE: return 0;
-
- // Now, shut down the window...
- case WM_DESTROY: PostQuitMessage(0); return 0;
- }
- // call user defined proc, if exists
- return g_pUserProc? g_pUserProc(hwnd, iMsg, wParam, lParam) : DefWindowProc(hwnd, iMsg, wParam, lParam);
-}
-
-///////////// video functions ////////////////
-
-bool video::init_window(int sizex, int sizey)
-{
- assert(win_hInstance != 0);
- g_sizex = sizex; g_sizey = sizey;
- if (!WinInit(win_hInstance, win_iCmdShow, gWndClass, title, true)) {
- DisplayError("Unable to initialize the program's window.");
- return false;
- }
- ShowWindow(g_hAppWnd, SW_SHOW);
- Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
- g_pImg = new unsigned int[sizex*sizey];
- g_pBitmap = new Gdiplus::Bitmap(g_sizex, g_sizey, 4*g_sizex, PixelFormat32bppRGB, (BYTE*)g_pImg );
- running = true;
- return true;
-}
-
-void video::terminate()
-{
- if(g_pBitmap) { delete g_pBitmap; g_pBitmap = 0; }
- Gdiplus::GdiplusShutdown(gdiplusToken);
- g_video = 0; running = false;
- if(g_pImg) { delete[] g_pImg; g_pImg = 0; }
-}
-
-//////////// drawing area constructor & destructor /////////////
-
-drawing_area::drawing_area(int x, int y, int sizex, int sizey)
-: start_x(x), start_y(y), size_x(sizex), size_y(sizey), pixel_depth(24),
- base_index(y*g_sizex + x), max_index(g_sizex*g_sizey), index_stride(g_sizex), ptr32(g_pImg)
-{
- assert(x < g_sizex); assert(y < g_sizey);
- assert(x+sizex <= g_sizex); assert(y+sizey <= g_sizey);
-
- index = base_index; // current index
-}
-
-drawing_area::~drawing_area()
-{
- if(g_video->updating) {
- RECT r;
- r.left = start_x; r.right = start_x + size_x;
- r.top = start_y; r.bottom = start_y + size_y;
- InvalidateRect(g_hAppWnd, &r, false);
- }
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- * Based on "OpenGL Image" example from http://developer.apple.com/samplecode/OpenGL_Image/
- */
-
-#include "video.h"
-#include <sched.h>
-#include <sys/time.h>
-#include <stdio.h>
-#include <string.h>
-#include <pthread.h>
-
-#include <AvailabilityMacros.h>
-#undef DEPRECATED_ATTRIBUTE
-#define DEPRECATED_ATTRIBUTE
-#include <Carbon/Carbon.h>
-#include <AGL/agl.h>
-#include <OpenGL/gl.h> // for OpenGL API
-#include <OpenGL/glext.h> // for OpenGL extension support
-
-unsigned int * g_pImg = 0;
-int g_sizex, g_sizey;
-WindowRef g_window = 0;
-static video * g_video = 0;
-static int g_fps = 0;
-struct timeval g_time;
-static pthread_mutex_t g_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-
-static OSStatus AppEventHandler( EventHandlerCallRef inCaller, EventRef inEvent, void* inRefcon );
-WindowRef HandleNew();
-static OSStatus WindowEventHandler( EventHandlerCallRef inCaller, EventRef inEvent, void* inRefcon );
-
-static IBNibRef sNibRef;
-
-//--------------------------------------------------------------------------------------------
-
-// structure for creating a fullscreen context
-struct structGLInfo // storage for setup info
-{
- SInt16 width; // input: width of drawable (screen width in full screen mode), return: actual width allocated
- SInt16 height; // input: height of drawable (screen height in full screen mode), return: actual height allocated
- UInt32 pixelDepth; // input: requested pixel depth
- Boolean fDepthMust; // input: pixel depth must be set (if false then current depth will be used if able)
- Boolean fAcceleratedMust; // input: must renderer be accelerated?
- GLint aglAttributes[64]; // input: pixel format attributes always required (reset to what was actually allocated)
- SInt32 VRAM; // input: minimum VRAM; output: actual (if successful otherwise input)
- SInt32 textureRAM; // input: amount of texture RAM required on card; output: same (used in allcoation to ensure enough texture
- AGLPixelFormat fmt; // input: none; output pixel format...
-};
-typedef struct structGLInfo structGLInfo;
-typedef struct structGLInfo * pstructGLInfo;
-
-// structure for creating a context from a window
-struct structGLWindowInfo // storage for setup info
-{
- Boolean fAcceleratedMust; // input: must renderer be accelerated?
- GLint aglAttributes[64]; // input: pixel format attributes always required (reset to what was actually allocated)
- SInt32 VRAM; // input: minimum VRAM; output: actual (if successful otherwise input)
- SInt32 textureRAM; // input: amount of texture RAM required on card; output: same (used in allcoation to ensure enough texture
- AGLPixelFormat fmt; // input: none; output pixel format...
- Boolean fDraggable; // input: is window going to be dragable,
- // if so renderer check (accel, VRAM, textureRAM) will look at all renderers vice just the current one
- // if window is not dragable renderer check will either check the single device or short
- // circuit to software if window spans multiple devices
- // software renderer is consider to have unlimited VRAM, unlimited textureRAM and to not be accelerated
-};
-typedef struct structGLWindowInfo structGLWindowInfo;
-typedef struct structGLWindowInfo * pstructGLWindowInfo;
-
-//--------------------------------------------------------------------------------------------
-
-struct recGLCap // structure to store minimum OpenGL capabilites across all displays and GPUs
-{
- Boolean f_ext_texture_rectangle; // is texture rectangle extension supported
- Boolean f_ext_client_storage; // is client storage extension supported
- Boolean f_ext_packed_pixel; // is packed pixel extension supported
- Boolean f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported
- Boolean f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+)
- unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres
- long maxTextureSize; // the minimum max texture size across all GPUs
- long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions
-};
-typedef struct recGLCap recGLCap;
-typedef recGLCap * pRecGLCap;
-
-struct recImage // OpenGL and image information associated with each window
-{
- // genric OpenGL stuff
- structGLWindowInfo glInfo; // gl info used with SetupGL to build context
- AGLContext aglContext; // the OpenGL context (read: state)
- GLuint fontList; // the display list storing the bitmap font created for the context to display info
-
- Boolean fAGPTexturing; // 10.1+ only: texture from AGP memory without loading to GPU
-
- // texture display stuff
- Boolean fNPOTTextures; // are we using Non-Power Of Two (NPOT) textures?
- Boolean fTileTextures; // are multiple tiled textures used to display image?
- Boolean fOverlapTextures; // do tiled textures overlapped to create correct filtering between tiles? (only applies if using tiled textures)
- Boolean fClientTextures; // 10.1+ only: texture from client memory
-
- unsigned char * pImageBuffer; // image buffer that contains data for image (disposed after loading into texture if not using client textures)
- long imageWidth; // height of orginal image
- long imageHeight; // width of orginal image
- float imageAspect; // width / height or aspect ratio of orginal image
- long imageDepth; // depth of image (after loading into gworld, will be either 32 or 16 bits)
- long textureX; // number of horizontal textures
- long textureY; // number of vertical textures
- long maxTextureSize; // max texture size for image
- GLuint * pTextureName; // array for texture names (# = textureX * textureY)
- long textureWidth; // total width of texels with cover image (including any border on image, but not internal texture overlaps)
- long textureHeight; // total height of texels with cover image (including any border on image, but not internal texture overlaps)
- float zoomX; // zoom from on texel = one pixel is 1.0
- float zoomY; // zoom from on texel = one pixel is 1.0
- };
-typedef struct recImage recImage; // typedef for easy declaration
-typedef recImage * pRecImage; // pointer type
-
-// ==================================
-
-// public function declarations -------------------------------------
-
-// Destroys drawable and context
-// Ouputs: *paglDraw, *paglContext should be 0 on exit
-// destorys a context that was associated with an existing window, window is left intacted
-OSStatus DestroyGLFromWindow (AGLContext* paglContext, pstructGLWindowInfo pcontextInfo);
-
-short FindGDHandleFromWindow (WindowPtr pWindow, GDHandle * phgdOnThisDevice);
-
-// disposes OpenGL context, and associated texture list
-OSStatus DisposeGLForWindow (WindowRef window);
-
-// builds the GL context and associated state for the window
-// loads image into a texture or textures
-// disposes of GWorld and image buffer when finished loading textures
-OSStatus BuildGLForWindow (WindowRef window);
-
-// Handle updating context for window moves and resizing
-OSStatus ResizeMoveGLWindow (WindowRef window);
-
-// main GL drawing routine, should be valid window passed in (will setupGL if require). Draw image
-void DrawGL (WindowRef window);
-
-pRecGLCap gpOpenGLCaps;
-
-// prototypes (internal/private) --------------------------------------------
-
-static Boolean CheckRenderer (GDHandle hGD, long *VRAM, long *textureRAM, GLint* , Boolean fAccelMust);
-static Boolean CheckAllDeviceRenderers (long* pVRAM, long* pTextureRAM, GLint* pDepthSizeSupport, Boolean fAccelMust);
-static void DumpCurrent (AGLDrawable* paglDraw, AGLContext* paglContext, pstructGLInfo pcontextInfo);
-static OSStatus BuildGLonWindow (WindowPtr pWindow, AGLContext* paglContext, pstructGLWindowInfo pcontextInfo, AGLContext aglShareContext);
-
-static long GetNextTextureSize (long textureDimension, long maxTextureSize, Boolean textureRectangle);
-static long GetTextureNumFromTextureDim (long textureDimension, long maxTextureSize, Boolean texturesOverlap, Boolean textureRectangle);
-
-// ----------------------------------------------------------------------------------------
-
-// functions (internal/private) ---------------------------------------------
-
-#pragma mark -
-// --------------------------------------------------------------------------
-
-// central error reporting
-
-void ReportErrorNum (char * strError, long numError)
-{
- char errMsgPStr [257];
-
- errMsgPStr[0] = (char)snprintf (errMsgPStr+1, 255, "%s %ld (0x%lx)\n", strError, numError, numError);
-
- // ensure we are faded in
- DebugStr ( (ConstStr255Param) errMsgPStr );
-}
-
-// --------------------------------------------------------------------------
-
-void ReportError (char * strError)
-{
- char errMsgPStr [257];
-
- errMsgPStr[0] = (char)snprintf (errMsgPStr+1, 255, "%s\n", strError);
-
- // ensure we are faded in
- DebugStr ( (ConstStr255Param) errMsgPStr );
-}
-
-//-----------------------------------------------------------------------------------------------------------------------
-
-// if error dump agl errors to debugger string, return error
-
-OSStatus aglReportError (void)
-{
- GLenum err = aglGetError();
- if (AGL_NO_ERROR != err)
- ReportError ((char *)aglErrorString(err));
- // ensure we are returning an OSStatus noErr if no error condition
- if (err == AGL_NO_ERROR)
- return noErr;
- else
- return (OSStatus) err;
-}
-
-//-----------------------------------------------------------------------------------------------------------------------
-
-// if error dump gl errors to debugger string, return error
-
-OSStatus glReportError (void)
-{
- GLenum err = glGetError();
- switch (err)
- {
- case GL_NO_ERROR:
- break;
- case GL_INVALID_ENUM:
- ReportError ("GL Error: Invalid enumeration");
- break;
- case GL_INVALID_VALUE:
- ReportError ("GL Error: Invalid value");
- break;
- case GL_INVALID_OPERATION:
- ReportError ("GL Error: Invalid operation");
- break;
- case GL_STACK_OVERFLOW:
- ReportError ("GL Error: Stack overflow");
- break;
- case GL_STACK_UNDERFLOW:
- ReportError ("GL Error: Stack underflow");
- break;
- case GL_OUT_OF_MEMORY:
- ReportError ("GL Error: Out of memory");
- break;
- }
- // ensure we are returning an OSStatus noErr if no error condition
- if (err == GL_NO_ERROR)
- return noErr;
- else
- return (OSStatus) err;
-}
-
-//--------------------------------------------------------------------------------------------
-
-// functions (internal/private) ---------------------------------------------
-
-// CheckRenderer
-
-// looks at renderer attributes it has at least the VRAM is accelerated
-
-// Inputs: hGD: GDHandle to device to look at
-// pVRAM: pointer to VRAM in bytes required; out is actual VRAM if a renderer was found, otherwise it is the input parameter
-// pTextureRAM: pointer to texture RAM in bytes required; out is same (implementation assume VRAM returned by card is total so we add texture and VRAM)
-// fAccelMust: do we check for acceleration
-
-// Returns: true if renderer for the requested device complies, false otherwise
-
-static Boolean CheckRenderer (GDHandle hGD, long* pVRAM, long* pTextureRAM, GLint* pDepthSizeSupport, Boolean fAccelMust)
-{
- AGLRendererInfo info, head_info;
- GLint inum;
- GLint dAccel = 0;
- GLint dVRAM = 0, dMaxVRAM = 0;
- Boolean canAccel = false, found = false;
- head_info = aglQueryRendererInfo(&hGD, 1);
- aglReportError ();
- if(!head_info)
- {
- ReportError ("aglQueryRendererInfo error");
- return false;
- }
- else
- {
- info = head_info;
- inum = 0;
- // see if we have an accelerated renderer, if so ignore non-accelerated ones
- // this prevents returning info on software renderer when actually we'll get the hardware one
- while (info)
- {
- aglDescribeRenderer(info, AGL_ACCELERATED, &dAccel);
- aglReportError ();
- if (dAccel)
- canAccel = true;
- info = aglNextRendererInfo(info);
- aglReportError ();
- inum++;
- }
-
- info = head_info;
- inum = 0;
- while (info)
- {
- aglDescribeRenderer (info, AGL_ACCELERATED, &dAccel);
- aglReportError ();
- // if we can accel then we will choose the accelerated renderer
- // how about compliant renderers???
- if ((canAccel && dAccel) || (!canAccel && (!fAccelMust || dAccel)))
- {
- aglDescribeRenderer (info, AGL_VIDEO_MEMORY, &dVRAM); // we assume that VRAM returned is total thus add texture and VRAM required
- aglReportError ();
- if (dVRAM >= (*pVRAM + *pTextureRAM))
- {
- if (dVRAM >= dMaxVRAM) // find card with max VRAM
- {
- aglDescribeRenderer (info, AGL_DEPTH_MODES, pDepthSizeSupport); // which depth buffer modes are supported
- aglReportError ();
- dMaxVRAM = dVRAM; // store max
- found = true;
- }
- }
- }
- info = aglNextRendererInfo(info);
- aglReportError ();
- inum++;
- }
- }
- aglDestroyRendererInfo(head_info);
- if (found) // if we found a card that has enough VRAM and meets the accel criteria
- {
- *pVRAM = dMaxVRAM; // return VRAM
- return true;
- }
- // VRAM will remain to same as it did when sent in
- return false;
-}
-
-//-----------------------------------------------------------------------------------------------------------------------
-
-// CheckAllDeviceRenderers
-
-// looks at renderer attributes and each device must have at least one renderer that fits the profile
-
-// Inputs: pVRAM: pointer to VRAM in bytes required; out is actual min VRAM of all renderers found, otherwise it is the input parameter
-// pTextureRAM: pointer to texture RAM in bytes required; out is same (implementation assume VRAM returned by card is total so we add texture and VRAM)
-// fAccelMust: do we check fro acceleration
-
-// Returns: true if any renderer for on each device complies (not necessarily the same renderer), false otherwise
-
-static Boolean CheckAllDeviceRenderers (long* pVRAM, long* pTextureRAM, GLint* pDepthSizeSupport, Boolean fAccelMust)
-{
- AGLRendererInfo info, head_info;
- GLint inum;
- GLint dAccel = 0;
- GLint dVRAM = 0, dMaxVRAM = 0;
- Boolean canAccel = false, found = false, goodCheck = true; // can the renderer accelerate, did we find a valid renderer for the device, are we still successfully on all the devices looked at
- long MinVRAM = 0x8FFFFFFF; // max long
- GDHandle hGD = GetDeviceList (); // get the first screen
- while (hGD && goodCheck)
- {
- head_info = aglQueryRendererInfo(&hGD, 1);
- aglReportError ();
- if(!head_info)
- {
- ReportError ("aglQueryRendererInfo error");
- return false;
- }
- else
- {
- info = head_info;
- inum = 0;
- // see if we have an accelerated renderer, if so ignore non-accelerated ones
- // this prevents returning info on software renderer when actually we'll get the hardware one
- while (info)
- {
- aglDescribeRenderer(info, AGL_ACCELERATED, &dAccel);
- aglReportError ();
- if (dAccel)
- canAccel = true;
- info = aglNextRendererInfo(info);
- aglReportError ();
- inum++;
- }
-
- info = head_info;
- inum = 0;
- while (info)
- {
- aglDescribeRenderer(info, AGL_ACCELERATED, &dAccel);
- aglReportError ();
- // if we can accel then we will choose the accelerated renderer
- // how about compliant renderers???
- if ((canAccel && dAccel) || (!canAccel && (!fAccelMust || dAccel)))
- {
- aglDescribeRenderer(info, AGL_VIDEO_MEMORY, &dVRAM); // we assume that VRAM returned is total thus add texture and VRAM required
- aglReportError ();
- if (dVRAM >= (*pVRAM + *pTextureRAM))
- {
- if (dVRAM >= dMaxVRAM) // find card with max VRAM
- {
- aglDescribeRenderer(info, AGL_DEPTH_MODES, pDepthSizeSupport); // which depth buffer modes are supported
- aglReportError ();
- dMaxVRAM = dVRAM; // store max
- found = true;
- }
- }
- }
- info = aglNextRendererInfo(info);
- aglReportError ();
- inum++;
- }
- }
- aglDestroyRendererInfo(head_info);
- if (found) // if we found a card that has enough VRAM and meets the accel criteria
- {
- if (MinVRAM > dMaxVRAM)
- MinVRAM = dMaxVRAM; // return VRAM
-
- }
- else
- goodCheck = false; // one device failed thus entire requirement fails
- hGD = GetNextDevice (hGD); // get next device
- } // while
- if (goodCheck) // we check all devices and each was good
- {
- *pVRAM = MinVRAM; // return VRAM
- return true;
- }
- return false; //at least one device failed to have mins
-}
-
-//-----------------------------------------------------------------------------------------------------------------------
-
-// DumpCurrent
-
-// Kills currently allocated context
-// does not care about being pretty (assumes display is likely faded)
-
-// Inputs: paglDraw, paglContext: things to be destroyed
-
-void DumpCurrent (AGLDrawable* paglDraw, AGLContext* paglContext, pstructGLInfo pcontextInfo)
-{
- if (*paglContext)
- {
- aglSetCurrentContext (NULL);
- aglReportError ();
- aglSetDrawable (*paglContext, NULL);
- aglReportError ();
- aglDestroyContext (*paglContext);
- aglReportError ();
- *paglContext = NULL;
- }
-
- if (pcontextInfo->fmt)
- {
- aglDestroyPixelFormat (pcontextInfo->fmt); // pixel format is no longer needed
- aglReportError ();
- }
- pcontextInfo->fmt = 0;
-
- if (*paglDraw) // do not destory a window on DSp since there is no window built in X
- DisposeWindow (GetWindowFromPort (*paglDraw));
- *paglDraw = NULL;
-}
-
-#pragma mark -
-// --------------------------------------------------------------------------
-
-// BuildGLonWindow
-
-static OSStatus BuildGLonWindow (WindowPtr pWindow, AGLContext* paglContext, pstructGLWindowInfo pcontextInfo, AGLContext aglShareContext)
-{
- GDHandle hGD = NULL;
- GrafPtr cgrafSave = NULL;
- short numDevices;
- GLint depthSizeSupport;
- OSStatus err = noErr;
-
- if (!pWindow || !pcontextInfo)
- {
- ReportError ("NULL parameter passed to BuildGLonWindow.");
- return paramErr;
- }
-
- GetPort (&cgrafSave);
- SetPortWindowPort(pWindow);
-
- // check renderere VRAM and acceleration
- numDevices = FindGDHandleFromWindow (pWindow, &hGD);
- if (!pcontextInfo->fDraggable) // if numDevices > 1 then we will only be using the software renderer otherwise check only window device
- {
- if ((numDevices > 1) || (numDevices == 0)) // this window spans mulitple devices thus will be software only
- {
- // software renderer
- // infinite VRAM, infinite textureRAM, not accelerated
- if (pcontextInfo->fAcceleratedMust)
- {
- ReportError ("Unable to accelerate window that spans multiple devices");
- return err;
- }
- }
- else // not draggable on single device
- {
- if (!CheckRenderer (hGD, &(pcontextInfo->VRAM), &(pcontextInfo->textureRAM), &depthSizeSupport, pcontextInfo->fAcceleratedMust))
- {
- ReportError ("Renderer check failed");
- return err;
- }
- }
- }
- // else draggable so must check all for support (each device should have at least one renderer that meets the requirements)
- else if (!CheckAllDeviceRenderers (&(pcontextInfo->VRAM), &(pcontextInfo->textureRAM), &depthSizeSupport, pcontextInfo->fAcceleratedMust))
- {
- ReportError ("Renderer check failed");
- return err;
- }
-
- // do agl
- if ((Ptr) kUnresolvedCFragSymbolAddress == (Ptr) aglChoosePixelFormat) // check for existance of OpenGL
- {
- ReportError ("OpenGL not installed");
- return noErr;
- }
- // we successfully passed the renderer check
-
- if ((!pcontextInfo->fDraggable && (numDevices == 1))) // not draggable on a single device
- pcontextInfo->fmt = aglChoosePixelFormat (&hGD, 1, pcontextInfo->aglAttributes); // get an appropriate pixel format
- else
- pcontextInfo->fmt = aglChoosePixelFormat (NULL, 0, pcontextInfo->aglAttributes); // get an appropriate pixel format
- aglReportError ();
- if (NULL == pcontextInfo->fmt)
- {
- ReportError("Could not find valid pixel format");
- return noErr;
- }
-
- *paglContext = aglCreateContext (pcontextInfo->fmt, aglShareContext); // Create an AGL context
- if (AGL_BAD_MATCH == aglGetError())
- *paglContext = aglCreateContext (pcontextInfo->fmt, 0); // unable to sahre context, create without sharing
- aglReportError ();
- if (NULL == *paglContext)
- {
- ReportError ("Could not create context");
- return noErr;
- }
-
- if (!aglSetDrawable (*paglContext, GetWindowPort (pWindow))) // attach the CGrafPtr to the context
- return aglReportError ();
-
- if(!aglSetCurrentContext (*paglContext)) // make the context the current context
- return aglReportError ();
-
- SetPort (cgrafSave);
-
- return err;
-}
-
-#pragma mark -
-
-// functions (public) -------------------------------------------------------
-
-// DestroyGLFromWindow
-
-// Destroys context that waas allocated with BuildGLonWindow
-// Ouputs: *paglContext should be NULL on exit
-
-OSStatus DestroyGLFromWindow (AGLContext* paglContext, pstructGLWindowInfo pcontextInfo)
-{
- OSStatus err;
-
- if ((!paglContext) || (!*paglContext))
- return paramErr; // not a valid context
- glFinish ();
- aglSetCurrentContext (NULL);
- err = aglReportError ();
- aglSetDrawable (*paglContext, NULL);
- err = aglReportError ();
- aglDestroyContext (*paglContext);
- err = aglReportError ();
- *paglContext = NULL;
-
- if (pcontextInfo->fmt)
- {
- aglDestroyPixelFormat (pcontextInfo->fmt); // pixel format is no longer valid
- err = aglReportError ();
- }
- pcontextInfo->fmt = 0;
-
- return err;
-}
-
-//-----------------------------------------------------------------------------------------------------------------------
-
-// GetWindowDevice
-
-// Inputs: a valid WindowPtr
-
-// Outputs: the GDHandle that that window is mostly on
-
-// returns the number of devices that the windows content touches
-
-short FindGDHandleFromWindow (WindowPtr pWindow, GDHandle * phgdOnThisDevice)
-{
- GrafPtr pgpSave;
- Rect rectWind, rectSect;
- long greatestArea, sectArea;
- short numDevices = 0;
- GDHandle hgdNthDevice;
-
- if (!pWindow || !phgdOnThisDevice)
- return 0;
-
- *phgdOnThisDevice = NULL;
-
- GetPort (&pgpSave);
- SetPortWindowPort (pWindow);
-
-
- GetWindowPortBounds (pWindow, &rectWind);
- LocalToGlobal ((Point*)& rectWind.top); // convert to global coordinates
- LocalToGlobal ((Point*)& rectWind.bottom);
- hgdNthDevice = GetDeviceList ();
- greatestArea = 0;
- // check window against all gdRects in gDevice list and remember
- // which gdRect contains largest area of window}
- while (hgdNthDevice)
- {
- if (TestDeviceAttribute (hgdNthDevice, screenDevice))
- if (TestDeviceAttribute (hgdNthDevice, screenActive))
- {
- // The SectRect routine calculates the intersection
- // of the window rectangle and this gDevice
- // rectangle and returns TRUE if the rectangles intersect,
- // FALSE if they don't.
- SectRect (&rectWind, &(**hgdNthDevice).gdRect, &rectSect);
- // determine which screen holds greatest window area
- // first, calculate area of rectangle on current device
- sectArea = (long) (rectSect.right - rectSect.left) * (rectSect.bottom - rectSect.top);
- if (sectArea > 0)
- numDevices++;
- if (sectArea > greatestArea)
- {
- greatestArea = sectArea; // set greatest area so far
- *phgdOnThisDevice = hgdNthDevice; // set zoom device
- }
- hgdNthDevice = GetNextDevice(hgdNthDevice);
- }
- }
-
- SetPort (pgpSave);
- return numDevices;
-}
-
-//--------------------------------------------------------------------------------------------
-// private
-
-// returns the largest power of 2 texture <= textureDimension
-// or in the case of texture rectangle returns the next texture size (can be non-power of two)
-
-static long GetNextTextureSize (long textureDimension, long maxTextureSize, Boolean textureRectangle)
-{
- long targetTextureSize = maxTextureSize; // start at max texture size
- if (textureRectangle)
- {
- if (textureDimension >= targetTextureSize) // the texture dimension is greater than the target texture size (i.e., it fits)
- return targetTextureSize; // return corresponding texture size
- else
- return textureDimension; // jusr return the dimension
- }
- else
- {
- do // while we have txture sizes check for texture value being equal or greater
- {
- if (textureDimension >= targetTextureSize) // the texture dimension is greater than the target texture size (i.e., it fits)
- return targetTextureSize; // return corresponding texture size
- }
- while (targetTextureSize >>= 1); // step down to next texture size smaller
- }
- return 0; // no textures fit so return zero
-}
-
-// ---------------------------------
-
-// returns the nuber of textures need to represent a size of textureDimension given
-// requirement for power of 2 textures as the maximum texture size
-// for the overlap case each texture effectively covers two less pixels so must iterate through using whole statement
-
-static long GetTextureNumFromTextureDim (long textureDimension, long maxTextureSize, Boolean texturesOverlap, Boolean textureRectangle)
-{
- // start at max texture size
- // loop through each texture size, removing textures in turn which are less than the remaining texture dimension
- // each texture has 2 pixels of overlap (one on each side) thus effective texture removed is 2 less than texture size
-
- long i = 0; // initially no textures
- long bitValue = maxTextureSize; // start at max texture size
- long texOverlapx2 = texturesOverlap ? 2 : 0;
- textureDimension -= texOverlapx2; // ignore texture border since we are using effective texure size (by subtracting 2 from the initial size)
- if (textureRectangle)
- {
- // count number of full textures
- while (textureDimension > (bitValue - texOverlapx2)) // while our texture dimension is greater than effective texture size (i.e., minus the border)
- {
- i++; // count a texture
- textureDimension -= bitValue - texOverlapx2; // remove effective texture size
- }
- // add one partial texture
- i++;
- }
- else
- {
- do
- {
- while (textureDimension >= (bitValue - texOverlapx2)) // while our texture dimension is greater than effective texture size (i.e., minus the border)
- {
- i++; // count a texture
- textureDimension -= bitValue - texOverlapx2; // remove effective texture size
- }
- }
- while ((bitValue >>= 1) > texOverlapx2); // step down to next texture while we are greater than two (less than 4 can't be used due to 2 pixel overlap)
- if (textureDimension > 0x0) // if any textureDimension is left there is an error, because we can't texture these small segments and in anycase should not have image pixels left
- ReportErrorNum ("GetTextureNumFromTextureDim error: Texture to small to draw, should not ever get here, texture size remaining:", textureDimension);
- }
- return i; // return textures counted
-}
-
-#pragma mark -
-// ==================================
-// public
-
-// disposes OpenGL context, and associated texture list
-
-OSStatus DisposeGLForWindow (WindowRef window)
-{
- if (window)
- {
- pRecImage pWindowInfo = (pRecImage) GetWRefCon (window); // get gl data stored in refcon
- SetWRefCon (window, 0); // ensure the refcon is not used again
- if (NULL == pWindowInfo) // if this is non-existant
- return paramErr; // then drop out
- if (NULL != pWindowInfo->aglContext)
- {
- aglSetCurrentContext (pWindowInfo->aglContext); // ensaure the context we are working with is set to current
- aglUpdateContext (pWindowInfo->aglContext); // ensaure the context we are working with is set to current
- glFinish (); // ensure all gl commands are complete
- glDeleteTextures (pWindowInfo->textureX * pWindowInfo->textureY, pWindowInfo->pTextureName); // delete the complete set of textures used for the window
- DestroyGLFromWindow (&pWindowInfo->aglContext, &pWindowInfo->glInfo); // preoperly destroy GL context and any associated structures
- pWindowInfo->aglContext = NULL; // ensure we don't use invlad context
- }
- if (NULL != pWindowInfo->pTextureName)
- {
- DisposePtr ((Ptr) pWindowInfo->pTextureName); // dispose of the allocate4d texture name storage
- pWindowInfo->pTextureName = NULL; // ensure we do not use it again
- }
- if (pWindowInfo->pImageBuffer) // MUST preserve the buffer if texturing from client memory
- {
- //DisposePtr ((Ptr) pWindowInfo->pImageBuffer); // or image buffer
- pWindowInfo->pImageBuffer = NULL;
- }
- DisposePtr ((Ptr) pWindowInfo);
- return noErr; // we are good to go
- }
- else
- return paramErr; // NULL window ref passed in
-}
-
-// ---------------------------------
-
-// builds the GL context and associated state for the window
-// loads image into a texture or textures
-// disposes of GWorld and image buffer when finished loading textures
-
-OSStatus BuildGLForWindow (WindowRef window)
-{
- GrafPtr portSave = NULL; // port which is set on entrance to this routine
- pRecImage pWindowInfo = (pRecImage) GetWRefCon (window); // the info structure for the window stored in the refcon
- short i; // iterator
- GLenum textureTarget = GL_TEXTURE_2D;
-
- if (!pWindowInfo->aglContext) // if we get here and do not have a context built, build one
- {
- GetPort (&portSave); // save current port
- SetPort ((GrafPtr) GetWindowPort (window)); // set port to the current window
- // set parameters for Carbon SetupGL
- pWindowInfo->glInfo.fAcceleratedMust = false; // must renderer be accelerated?
- pWindowInfo->glInfo.VRAM = 0 * 1048576; // minimum VRAM (if not zero this is always required)
- pWindowInfo->glInfo.textureRAM = 0 * 1048576; // minimum texture RAM (if not zero this is always required)
- pWindowInfo->glInfo.fDraggable = true; // is this a draggable window
- pWindowInfo->glInfo.fmt = 0; // output pixel format
-
- i = 0; // first attribute in array
- pWindowInfo->glInfo.aglAttributes [i++] = AGL_RGBA; // RGB + Alpha pixels
- pWindowInfo->glInfo.aglAttributes [i++] = AGL_DOUBLEBUFFER; // doble buffered context
- pWindowInfo->glInfo.aglAttributes [i++] = AGL_ACCELERATED; // require hardware acceleration
- pWindowInfo->glInfo.aglAttributes [i++] = AGL_NO_RECOVERY; // 10.0.4 has problems with the GL (disregards UNPACK_ROW_LENGTH) resulting from using no recovery
- // normally we would use no recovery to ensure the minimum pixel size textures are stored by GL.
- pWindowInfo->glInfo.aglAttributes [i++] = AGL_NONE; // end parameter list
- BuildGLonWindow (window, &(pWindowInfo->aglContext), &(pWindowInfo->glInfo), NULL); // build opengl context for our window
- if (!pWindowInfo->aglContext) // if could not create context
- DestroyGLFromWindow (&pWindowInfo->aglContext, &pWindowInfo->glInfo); // ensure context is destroyed correctly
- else // we have a valid context
- {
- GLint swap = 0; // swap interval (i.e., VBL sync) setting 1 = sync, 0 = no sync
- Rect rectPort; // window port rectangle
- long width = pWindowInfo->imageWidth, height = pWindowInfo->imageHeight; // image width and height
- GDHandle device; // GDevice to find the constrain the window to
- Rect deviceRect, availRect, rect; // rect of device which window is on (mostly, area wise at least). avialable area for window (minus dock and menu if req), working rect
-
- GetWindowGreatestAreaDevice (window, kWindowContentRgn, &device, &deviceRect); // find device the window is mostly on
- GetAvailableWindowPositioningBounds (device, &availRect); // get the geretest available area for te windoew (mminus doc and menu if applicable)
- if (width > (availRect.right - availRect.left)) // adjust window width if it is greater than available area (orginally set to image width, see above)
- width = (availRect.right - availRect.left);
- if (height > (availRect.bottom - availRect.top)) // adjust window height if it is greater than available area (orginally set to image width, see above)
- height = (availRect.bottom - availRect.top);
- SizeWindow (window, (short) width, (short) height, true); // size the window to new width and height
- ConstrainWindowToScreen(window, kWindowStructureRgn, kWindowConstrainMayResize, NULL, &rect); // ensure window structure region is on the screen
- GetWindowPortBounds (window, &rectPort); // get port rect for viewport reset
-
- aglSetCurrentContext (pWindowInfo->aglContext); // set our GL context to this one
- aglUpdateContext (pWindowInfo->aglContext); // update the context to account for the resize
- InvalWindowRect (window, &rectPort); // inval the entire window to ensure we get a redraw
- glViewport (0, 0, rectPort.right - rectPort.left, rectPort.bottom - rectPort.top); // reset viewport to entier window area
-
- aglSetInteger (pWindowInfo->aglContext, AGL_SWAP_INTERVAL, &swap); // set swap interval to account for vbl syncing or not
-
- // set correct texture target // if building on 10.0 or 9 this will be undefined
- #ifdef GL_TEXTURE_RECTANGLE_EXT
- if (pWindowInfo->fNPOTTextures)
- textureTarget = GL_TEXTURE_RECTANGLE_EXT;
- #endif
-
- // Set texture mapping parameters
- glEnable (textureTarget); // enable texturing
-
- glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // set clear color buffer to dark gray
- glClear (GL_COLOR_BUFFER_BIT); // clear just to color buffer
- aglSwapBuffers (pWindowInfo->aglContext); // swap the cleared buffer to front
-
- //GetFNum ("\pMonaco", &fNum); // get font number for named font
- //pWindowInfo->fontList = BuildFontGL (pWindowInfo->aglContext, fNum, normal, 9); // build display list for fonts for this context (see aglString for more info)
-
- // if we can use texture rectangle // if building on 10.0 or 9 this will be undefined
- #ifdef GL_TEXTURE_RECTANGLE_EXT
- if (pWindowInfo->fNPOTTextures)
- glEnable(GL_TEXTURE_RECTANGLE_EXT);
- #endif
- if (pWindowInfo->fAGPTexturing)
- glTextureRangeAPPLE(textureTarget, pWindowInfo->textureHeight * pWindowInfo->textureWidth * (pWindowInfo->imageDepth >> 3), pWindowInfo->pImageBuffer);
- glPixelStorei (GL_UNPACK_ROW_LENGTH, pWindowInfo->textureWidth); // set image width in groups (pixels), accounts for border this ensures proper image alignment row to row
- // get number of textures x and y
- // extract the number of horiz. textures needed to tile image
- pWindowInfo->textureX = GetTextureNumFromTextureDim (pWindowInfo->textureWidth, pWindowInfo->maxTextureSize, pWindowInfo->fOverlapTextures, pWindowInfo->fNPOTTextures);
- // extract the number of horiz. textures needed to tile image
- pWindowInfo->textureY = GetTextureNumFromTextureDim (pWindowInfo->textureHeight, pWindowInfo->maxTextureSize, pWindowInfo->fOverlapTextures, pWindowInfo->fNPOTTextures);
- pWindowInfo->pTextureName = (GLuint *) NewPtrClear ((long) sizeof (GLuint) * pWindowInfo->textureX * pWindowInfo->textureY); // allocate storage for texture name lists
- glGenTextures (pWindowInfo->textureX * pWindowInfo->textureY, pWindowInfo->pTextureName); // generate textures names need to support tiling
- {
- long x, y, k = 0, offsetY, offsetX = 0, currWidth, currHeight; // texture iterators, texture name iterator, image offsets for tiling, current texture width and height
- for (x = 0; x < pWindowInfo->textureX; x++) // for all horizontal textures
- {
- currWidth = GetNextTextureSize (pWindowInfo->textureWidth - offsetX, pWindowInfo->maxTextureSize, pWindowInfo->fNPOTTextures); // use remaining to determine next texture size
- // (basically greatest power of 2 which fits into remaining space)
- offsetY = 0; // reset vertical offest for every column
- for (y = 0; y < pWindowInfo->textureY; y++) // for all vertical textures
- {
- // buffer pointer is at base + rows * row size + columns
- unsigned char * pBuffer = pWindowInfo->pImageBuffer +
- offsetY * pWindowInfo->textureWidth * (pWindowInfo->imageDepth >> 3) +
- offsetX * (pWindowInfo->imageDepth >> 3);
- currHeight = GetNextTextureSize (pWindowInfo->textureHeight - offsetY, pWindowInfo->maxTextureSize, pWindowInfo->fNPOTTextures); // use remaining to determine next texture size
- glBindTexture (textureTarget, pWindowInfo->pTextureName[k++]);
- if (pWindowInfo->fAGPTexturing) {
- glTexParameterf (textureTarget, GL_TEXTURE_PRIORITY, 0.0f); // AGP texturing
- glTexParameteri (textureTarget, GL_TEXTURE_STORAGE_HINT_APPLE, GL_STORAGE_SHARED_APPLE);
- }
- else
- glTexParameterf (textureTarget, GL_TEXTURE_PRIORITY, 1.0f);
-
- #ifdef GL_UNPACK_CLIENT_STORAGE_APPLE
- if (pWindowInfo->fClientTextures)
- glPixelStorei (GL_UNPACK_CLIENT_STORAGE_APPLE, 1);
- else
- glPixelStorei (GL_UNPACK_CLIENT_STORAGE_APPLE, 0);
- #endif
-
- glTexParameteri (textureTarget, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri (textureTarget, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri (textureTarget, GL_TEXTURE_WRAP_S, gpOpenGLCaps->edgeClampParam);
- glTexParameteri (textureTarget, GL_TEXTURE_WRAP_T, gpOpenGLCaps->edgeClampParam);
- glReportError (); // report any errors so far
- glTexImage2D (textureTarget, 0, GL_RGBA, currWidth, currHeight, 0,
- GL_BGRA_EXT, pWindowInfo->imageDepth == 32 ? GL_UNSIGNED_INT_8_8_8_8_REV : GL_UNSIGNED_SHORT_1_5_5_5_REV,
- pBuffer); // texture with current width and height at pBuffer location in image buffer with image size as GL_UNPACK_ROW_LENGTH
- glReportError (); // report any errors
- offsetY += currHeight - 2 * pWindowInfo->fOverlapTextures; // offset in for the amount of texture used,
- // since we are overlapping the effective texture used is 2 texels less than texture width
- }
- offsetX += currWidth - 2 * pWindowInfo->fOverlapTextures; // offset in for the amount of texture used,
- // since we are overlapping the effective texture used is 2 texels less than texture width
- }
- }
- if (false == pWindowInfo->fClientTextures) // MUST preserve the buffer if texturing from client memory
- {
- DisposePtr ((Ptr) pWindowInfo->pImageBuffer); // or image buffer
- pWindowInfo->pImageBuffer = NULL;
- }
- }
- SetPort (portSave); //reset port
- }
- return noErr; // we done
-}
-
-// ---------------------------------
-
-// Handle updating context for window moves and resizing
-
-OSStatus ResizeMoveGLWindow (WindowRef window)
-{
- OSStatus err = noErr; // no errors to start
- Rect rectPort; // new port rect
- pRecImage pWindowInfo = (pRecImage) GetWRefCon (window); // get GL info;
- if (window && pWindowInfo) // if we have a window
- {
- GetWindowPortBounds (window, &rectPort);
- pWindowInfo->zoomX = (float) (rectPort.right - rectPort.left) / (float) pWindowInfo->imageWidth;
- pWindowInfo->zoomY = (float) (rectPort.bottom - rectPort.top) / (float) pWindowInfo->imageHeight;
-
- if (!aglUpdateContext (pWindowInfo->aglContext)) // update the context to ensure gl knows about the move or resize
- aglReportError (); // report any error with update context
- if (noErr != err)
- ReportErrorNum ("ResizeMoveGLWindow error with InvalWindowRect on window: ", err); // should not get erro here, but who knows
- err = InvalWindowRect (window, &rectPort);
- }
- else
- err = paramErr; // bad window
- return err; // return any error
-}
-
-// ---------------------------------
-
-// main GL drawing routine, should be valid window passed in (will setupGL if require). Draw image
-
-void DrawGL (WindowRef window)
-{
- Rect rectPort; // rectangle for port
- pRecImage pWindowInfo; // the gl info for the target window
- long width, height; // width and height or the port and the row of the raster position
- long effectiveTextureMod = 0; // texture size modification (inset) to account for borders
- long x, y, k = 0, offsetY, offsetX = 0, currTextureWidth, currTextureHeight;
- GLenum textureTarget = GL_TEXTURE_2D;
-
- if (NULL == window) // if we do not have a window
- return; // drop out
- pWindowInfo = (pRecImage) GetWRefCon (window); // get the gl info for the window
- if (NULL == pWindowInfo) // if this is non-existant
- return; // then drop out
- if (NULL == pWindowInfo->aglContext) // try to buld the context if we don't have one (safety check)
- BuildGLForWindow (window);
- if (NULL == pWindowInfo->aglContext) // if we still don't have one then drop out
- return;
-
- if (pWindowInfo->fOverlapTextures)
- effectiveTextureMod = 2; // if we overlap then we need to inset the textures passed to the drawing code
- // set texture target
-#ifdef GL_TEXTURE_RECTANGLE_EXT
- if (pWindowInfo->fNPOTTextures)
- textureTarget = GL_TEXTURE_RECTANGLE_EXT;
-#endif
-
- aglSetCurrentContext (pWindowInfo->aglContext); // ensaure the context we are working with is set to current
- aglUpdateContext (pWindowInfo->aglContext); // ensaure the context we are working with is set to current
-
- GetWindowPortBounds (window, &rectPort); // get the current port (window) bounds
- width = rectPort.right - rectPort.left; // find width
- height = rectPort.bottom - rectPort.top; // and height
- glViewport (0, 0, width, height); // set the viewport to cover entire window
-
- glMatrixMode (GL_PROJECTION); // set projection matrix
- glLoadIdentity (); // to indetity
- glMatrixMode (GL_MODELVIEW); // set modelview matrix
- glLoadIdentity (); // to identity
- glReportError (); // report any GL errors so far
-
- // set the model view matrix for an orthographic view scaled to one screen pixel equal image pixel (independent of image zoom)
- glScalef (2.0f / width, -2.0f / height, 1.0f); // scale to port per pixel scale
- //glTranslatef (pWindowInfo->centerX, pWindowInfo->centerY, 0.0f); // translate for image movement
- //glRotatef (0.0f, 0.0f, 0.0f, 1.0f); // ratate matrix for image rotation
- glReportError (); // report any GL errors
-
- glClear (GL_COLOR_BUFFER_BIT); // clear the color buffer before drawing
-
- // draw image
- glEnable (textureTarget); // enable texturing
- glColor3f (1.0f, 1.0f, 1.0f); // white polygons
- // offset x and y are used to draw the polygon and need to represent the texture effective edges (without borders)
- // so walk the texture size images adjusting for each border
- for (x = 0; x < pWindowInfo->textureX; x++) // for all horizontal textures
- {
- // use remaining to determine next texture size
- currTextureWidth = GetNextTextureSize (pWindowInfo->textureWidth - offsetX, pWindowInfo->maxTextureSize, pWindowInfo->fNPOTTextures) - effectiveTextureMod; // current effective texture width for drawing
- offsetY = 0; // start at top
- for (y = 0; y < pWindowInfo->textureY; y++) // for a complete column
- {
- // use remaining to determine next texture size
- currTextureHeight = GetNextTextureSize (pWindowInfo->textureHeight - offsetY, pWindowInfo->maxTextureSize, pWindowInfo->fNPOTTextures) - effectiveTextureMod; // effective texture height for drawing
- glBindTexture(textureTarget, pWindowInfo->pTextureName[k++]); // work through textures in same order as stored, setting each texture name as current in turn
- if (!pWindowInfo->fAGPTexturing)
- glTexSubImage2D(textureTarget, 0, 0, 0, currTextureWidth, currTextureHeight, GL_BGRA, pWindowInfo->imageDepth == 32 ? GL_UNSIGNED_INT_8_8_8_8_REV : GL_UNSIGNED_SHORT_1_5_5_5_REV, pWindowInfo->pImageBuffer);
- glReportError (); // report any errors
- {
- float endX = pWindowInfo->fTileTextures ? currTextureWidth + offsetX : pWindowInfo->imageWidth;
- float endY = pWindowInfo->fTileTextures ? currTextureHeight + offsetY : pWindowInfo->imageHeight;
- float startXDraw = (offsetX - pWindowInfo->imageWidth * 0.5f) * pWindowInfo->zoomX; // left edge of poly: offset is in image local coordinates convert to world coordinates
- float endXDraw = (endX - pWindowInfo->imageWidth * 0.5f) * pWindowInfo->zoomX; // right edge of poly: offset is in image local coordinates convert to world coordinates
- float startYDraw = (offsetY - pWindowInfo->imageHeight * 0.5f) * pWindowInfo->zoomY; // top edge of poly: offset is in image local coordinates convert to world coordinates
- float endYDraw = (endY - pWindowInfo->imageHeight * 0.5f) * pWindowInfo->zoomY; // bottom edge of poly: offset is in image local coordinates convert to world coordinates
- float texOverlap = pWindowInfo->fOverlapTextures ? 1.0f : 0.0f; // size of texture overlap, switch based on whether we are using overlap or not
- float startXTexCoord = texOverlap / (currTextureWidth + 2.0f * texOverlap); // texture right edge coordinate (stepped in one pixel for border if required)
- float endXTexCoord = 1.0f - startXTexCoord; // texture left edge coordinate (stepped in one pixel for border if required)
- float startYTexCoord = texOverlap / (currTextureHeight + 2.0f * texOverlap); // texture top edge coordinate (stepped in one pixel for border if required)
- float endYTexCoord = 1.0f - startYTexCoord; // texture bottom edge coordinate (stepped in one pixel for border if required)
- if (pWindowInfo->fNPOTTextures)
- {
- startXTexCoord = texOverlap; // texture right edge coordinate (stepped in one pixel for border if required)
- endXTexCoord = currTextureWidth + texOverlap; // texture left edge coordinate (stepped in one pixel for border if required)
- startYTexCoord = texOverlap; // texture top edge coordinate (stepped in one pixel for border if required)
- endYTexCoord = currTextureHeight + texOverlap; // texture bottom edge coordinate (stepped in one pixel for border if required)
- }
- if (endX > (pWindowInfo->imageWidth + 0.5)) // handle odd image sizes, (+0.5 is to ensure there is no fp resolution problem in comparing two fp numbers)
- {
- endXDraw = (pWindowInfo->imageWidth * 0.5f) * pWindowInfo->zoomX; // end should never be past end of image, so set it there
- if (pWindowInfo->fNPOTTextures)
- endXTexCoord -= 1.0f;
- else
- endXTexCoord = 1.0f - 2.0f * startXTexCoord; // for the last texture in odd size images there are two texels of padding so step in 2
- }
- if (endY > (pWindowInfo->imageHeight + 0.5f)) // handle odd image sizes, (+0.5 is to ensure there is no fp resolution problem in comparing two fp numbers)
- {
- endYDraw = (pWindowInfo->imageHeight * 0.5f) * pWindowInfo->zoomY; // end should never be past end of image, so set it there
- if (pWindowInfo->fNPOTTextures)
- endYTexCoord -= 1.0f;
- else
- endYTexCoord = 1.0f - 2.0f * startYTexCoord; // for the last texture in odd size images there are two texels of padding so step in 2
- }
-
- glBegin (GL_TRIANGLE_STRIP); // draw either tri strips of line strips
- glTexCoord2f (startXTexCoord, startYTexCoord); // draw upper left in world coordinates
- glVertex3d (startXDraw, startYDraw, 0.0);
-
- glTexCoord2f (endXTexCoord, startYTexCoord); // draw lower left in world coordinates
- glVertex3d (endXDraw, startYDraw, 0.0);
-
- glTexCoord2f (startXTexCoord, endYTexCoord); // draw upper right in world coordinates
- glVertex3d (startXDraw, endYDraw, 0.0);
-
- glTexCoord2f (endXTexCoord, endYTexCoord); // draw lower right in world coordinates
- glVertex3d (endXDraw, endYDraw, 0.0);
- glEnd();
-
- }
-
- //////////////////////
-
- glReportError (); // report any errors
- offsetY += currTextureHeight; // offset drawing position for next texture vertically
- }
- offsetX += currTextureWidth; // offset drawing position for next texture horizontally
- }
- glReportError (); // report any errors
-
- glDisable (textureTarget); // done with texturing
-
- aglSwapBuffers (pWindowInfo->aglContext);
-}
-
-// finds the minimum OpenGL capabilites across all displays and GPUs attached to machine.
-
-static void FindMinimumOpenGLCapabilities (pRecGLCap pOpenGLCaps)
-{
- WindowPtr pWin = NULL;
- Rect rectWin = {0, 0, 10, 10};
- GLint attrib[] = { AGL_RGBA, AGL_NONE };
- AGLPixelFormat fmt = NULL;
- AGLContext ctx = NULL;
- GLint deviceMaxTextureSize = 0, NPOTDMaxTextureSize = 0;
-
- if (NULL != gpOpenGLCaps)
- {
- // init desired caps to max values
- pOpenGLCaps->f_ext_texture_rectangle = true;
- pOpenGLCaps->f_ext_client_storage = true;
- pOpenGLCaps->f_ext_packed_pixel = true;
- pOpenGLCaps->f_ext_texture_edge_clamp = true;
- pOpenGLCaps->f_gl_texture_edge_clamp = true;
- pOpenGLCaps->maxTextureSize = 0x7FFFFFFF;
- pOpenGLCaps->maxNOPTDTextureSize = 0x7FFFFFFF;
-
- // build window
- pWin = NewCWindow (0L, &rectWin, NULL, false,
- plainDBox, (WindowPtr) -1L, true, 0L);
-
- // build context
- fmt = aglChoosePixelFormat(NULL, 0, attrib);
- if (fmt)
- ctx = aglCreateContext(fmt, NULL);
- if (ctx)
- {
- GDHandle hgdNthDevice;
-
- aglSetDrawable(ctx, GetWindowPort (pWin));
- aglSetCurrentContext(ctx);
-
- // for each display
- hgdNthDevice = GetDeviceList ();
- while (hgdNthDevice)
- {
- if (TestDeviceAttribute (hgdNthDevice, screenDevice))
- if (TestDeviceAttribute (hgdNthDevice, screenActive))
- {
- // move window to display
- MoveWindow (pWin, (**hgdNthDevice).gdRect.left + 5, (**hgdNthDevice).gdRect.top + 5, false);
- aglUpdateContext(ctx);
-
- // for each cap (this can obviously be expanded)
- // if this driver/GPU/display is less capable
- // save this minimum capability
- {
- // get strings
- enum { kShortVersionLength = 32 };
- const GLubyte * strVersion = glGetString (GL_VERSION); // get version string
- const GLubyte * strExtension = glGetString (GL_EXTENSIONS); // get extension string
-
- // get just the non-vendor specific part of version string
- GLubyte strShortVersion [kShortVersionLength];
- short i = 0;
- while ((((strVersion[i] <= '9') && (strVersion[i] >= '0')) || (strVersion[i] == '.')) && (i < kShortVersionLength)) // get only basic version info (until first space)
- strShortVersion [i] = strVersion[i++];
- strShortVersion [i] = 0; //truncate string
-
- // compare capabilities based on extension string and GL version
- pOpenGLCaps->f_ext_texture_rectangle =
- pOpenGLCaps->f_ext_texture_rectangle && (NULL != strstr ((const char *) strExtension, "GL_EXT_texture_rectangle"));
- pOpenGLCaps->f_ext_client_storage =
- pOpenGLCaps->f_ext_client_storage && (NULL != strstr ((const char *) strExtension, "GL_APPLE_client_storage"));
- pOpenGLCaps->f_ext_packed_pixel =
- pOpenGLCaps->f_ext_packed_pixel && (NULL != strstr ((const char *) strExtension, "GL_APPLE_packed_pixel"));
- pOpenGLCaps->f_ext_texture_edge_clamp =
- pOpenGLCaps->f_ext_texture_edge_clamp && (NULL != strstr ((const char *) strExtension, "GL_SGIS_texture_edge_clamp"));
- pOpenGLCaps->f_gl_texture_edge_clamp =
- pOpenGLCaps->f_gl_texture_edge_clamp && (!strstr ((const char *) strShortVersion, "1.0") && !strstr ((const char *) strShortVersion, "1.1")); // if not 1.0 and not 1.1 must be 1.2 or greater
-
- // get device max texture size
- glGetIntegerv (GL_MAX_TEXTURE_SIZE, &deviceMaxTextureSize);
- if (deviceMaxTextureSize < pOpenGLCaps->maxTextureSize)
- pOpenGLCaps->maxTextureSize = deviceMaxTextureSize;
- // get max size of non-power of two texture on devices which support
- if (NULL != strstr ((const char *) strExtension, "GL_EXT_texture_rectangle"))
- {
- #ifdef GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT
- glGetIntegerv (GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT, &NPOTDMaxTextureSize);
- if (NPOTDMaxTextureSize < pOpenGLCaps->maxNOPTDTextureSize)
- pOpenGLCaps->maxNOPTDTextureSize = NPOTDMaxTextureSize;
- #endif
- }
- }
- // next display
- hgdNthDevice = GetNextDevice(hgdNthDevice);
- }
- }
- aglDestroyContext( ctx );
- }
- else
- { // could not build context set caps to min
- pOpenGLCaps->f_ext_texture_rectangle = false;
- pOpenGLCaps->f_ext_client_storage = false;
- pOpenGLCaps->f_ext_packed_pixel = false;
- pOpenGLCaps->f_ext_texture_edge_clamp = false;
- pOpenGLCaps->f_gl_texture_edge_clamp = false;
- pOpenGLCaps->maxTextureSize = 0;
- }
-
- // set clamp param based on retrieved capabilities
- if (pOpenGLCaps->f_gl_texture_edge_clamp) // if OpenGL 1.2 or later and texture edge clamp is supported natively
- pOpenGLCaps->edgeClampParam = GL_CLAMP_TO_EDGE; // use 1.2+ constant to clamp texture coords so as to not sample the border color
- else if (pOpenGLCaps->f_ext_texture_edge_clamp) // if GL_SGIS_texture_edge_clamp extension supported
- pOpenGLCaps->edgeClampParam = GL_CLAMP_TO_EDGE_SGIS; // use extension to clamp texture coords so as to not sample the border color
- else
- pOpenGLCaps->edgeClampParam = GL_CLAMP; // clamp texture coords to [0, 1]
-
- aglDestroyPixelFormat( fmt );
- DisposeWindow( pWin );
- }
-}
-
-//--------------------------------------------------------------------------------------------
-
-static OSStatus
-WindowEventHandler( EventHandlerCallRef inCaller, EventRef inEvent, void* inRefcon )
-{
- OSStatus err = eventNotHandledErr;
- WindowRef window = (WindowRef) inRefcon;
-
- if( GetEventClass(inEvent) == kEventClassMouse )
- {
- Point mousePoint; // UInt32 modifiers;
- verify_noerr( GetEventParameter(inEvent, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &mousePoint) );
- pRecImage pWindowInfo = (pRecImage) GetWRefCon (window); // get the gl info for the window
- if(pWindowInfo) {
- SetPortWindowPort(window);
- GlobalToLocal (&mousePoint); //convert mouse coordinates to local coordintes prior to recording
- mousePoint.h /= pWindowInfo->zoomX; mousePoint.v /= pWindowInfo->zoomY;
- if(mousePoint.h >= 0 && mousePoint.h < pWindowInfo->imageWidth && mousePoint.v >= 0 && mousePoint.v < pWindowInfo->imageHeight)
- g_video->on_mouse(mousePoint.h, mousePoint.v, GetEventKind(inEvent) == kEventMouseUp?-1:1), err = noErr;
- }
- }
- else if( GetEventClass(inEvent) == kEventClassKeyboard )
- {
- char ch;
- verify_noerr( GetEventParameter( inEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof( ch ), NULL, &ch ) );
- if(g_video)
- g_video->on_key(ch);
- }
- else //if( GetEventClass(inEvent) == kEventClassWindow )
- {
- if (GetEventKind(inEvent) == kEventWindowDrawContent)
- {
- //DrawGL(window);
- err = noErr;
- }
- else if (GetEventKind(inEvent) == kEventWindowClose)
- {
- if (window)
- {
- g_video->running = false;
- }
- err = noErr;
- }
- else if (GetEventKind(inEvent) == kEventWindowShowing)
- {
- err = BuildGLForWindow (window);
- }
- else if ((GetEventKind(inEvent) == kEventWindowResizeCompleted) || (GetEventKind(inEvent) == kEventWindowDragCompleted))
- {
- err = ResizeMoveGLWindow (window);
- }
- else if (GetEventKind(inEvent) == kEventWindowZoomed)
- {
- err = ResizeMoveGLWindow (window);
- }
- }
-
- return err;
-}
-//--------------------------------------------------------------------------------------------
-DEFINE_ONE_SHOT_HANDLER_GETTER( WindowEventHandler )
-
-//--------------------------------------------------------------------------------------------
-WindowRef HandleNew()
-{
- OSStatus err;
- WindowRef window;
- pRecImage pWindowInfo = NULL;
- static const EventTypeSpec kWindowEvents[] =
- {
- { kEventClassMouse, kEventMouseUp },
- { kEventClassMouse, kEventMouseDown },
- { kEventClassKeyboard, kEventRawKeyDown },
-// { kEventClassCommand, kEventCommandProcess },
- { kEventClassWindow, kEventWindowShowing },
- { kEventClassWindow, kEventWindowClose },
- { kEventClassWindow, kEventWindowDrawContent },
- { kEventClassWindow, kEventWindowResizeCompleted },
- { kEventClassWindow, kEventWindowDragCompleted },
- { kEventClassWindow, kEventWindowZoomed}
- };
- if (!gpOpenGLCaps)
- {
- gpOpenGLCaps = (pRecGLCap) NewPtrClear (sizeof (recGLCap));
- FindMinimumOpenGLCapabilities (gpOpenGLCaps);
- }
-
- // Create a window. "MainWindow" is the name of the window object. This name is set in
- // InterfaceBuilder when the nib is created.
- err = CreateWindowFromNib( sNibRef, CFSTR("MainWindow"), &window );
- require_noerr( err, CantCreateWindow );
- // We don't need the nib reference anymore.
- DisposeNibReference(sNibRef);
-
- pWindowInfo = (recImage *) NewPtrClear (sizeof (recImage));
- pWindowInfo->textureWidth = pWindowInfo->imageWidth = g_sizex;
- pWindowInfo->textureHeight = pWindowInfo->imageHeight = g_sizey;
- pWindowInfo->imageDepth = 32;
- pWindowInfo->fTileTextures = true;
- pWindowInfo->fOverlapTextures = false; // TODO: ???
- pWindowInfo->maxTextureSize = gpOpenGLCaps->maxTextureSize;
- pWindowInfo->fNPOTTextures = gpOpenGLCaps->f_ext_texture_rectangle;
- pWindowInfo->fClientTextures = gpOpenGLCaps->f_ext_client_storage; // texture from client memory if available
- pWindowInfo->fAGPTexturing = true; // if AGP texturing selected
- pWindowInfo->pImageBuffer = (unsigned char*) g_pImg;
- // set default parameters for this image
- pWindowInfo->zoomX = 1.0f; // pixel 1 to 1 size
- pWindowInfo->zoomY = 1.0f; // pixel 1 to 1 size
- SetWRefCon (window, (long) pWindowInfo);
- char buffer[256]; buffer[0] = snprintf(buffer+1, 255, "%s", g_video->title);
- SetWTitle (window, (ConstStr255Param)buffer);
- // Install a command handler on the window. We don't use this handler yet, but nearly all
- // Carbon apps will need to handle commands, so this saves everyone a little typing.
- InstallStandardEventHandler(GetWindowEventTarget(window));
- InstallWindowEventHandler( window, GetWindowEventHandlerUPP(),
- GetEventTypeCount( kWindowEvents ), kWindowEvents, window, NULL );
- if (noErr != BuildGLForWindow (window))
- {
- DisposeGLForWindow (window);
- DisposeWindow (window);
- return 0;
- }
-
- // Position new windows in a staggered arrangement on the main screen
- RepositionWindow( window, NULL, kWindowCascadeOnMainScreen );
-
- // The window was created hidden, so show it
- ShowWindow( window );
- return window;
-
-CantCreateWindow:
- return 0;
-}
-
-
-//--------------------------------------------------------------------------------------------
-static OSStatus
-AppEventHandler( EventHandlerCallRef inCaller, EventRef inEvent, void* inRefcon )
-{
- OSStatus result = eventNotHandledErr;
-
- return result;
-}
-
-//=======================================================================================================
-
-video::video()
- : red_mask(0xff0000), red_shift(16), green_mask(0xff00),
- green_shift(8), blue_mask(0xff), blue_shift(0), depth(24)
-{
- assert(g_video == 0);
- g_video = this; title = "Video"; updating = true; calc_fps = false;
-}
-
-bool video::init_window(int x, int y)
-{
- g_sizex = x; g_sizey = y; g_window = 0;
- g_pImg = new unsigned int[x*y];
-
- // Check for graphics availability
- if( CGGetOnlineDisplayList(0, NULL, NULL) ) {
- running = true; // console mode
- return false;
- }
-
- OSStatus err;
- static const EventTypeSpec kAppEvents[] =
- {
- { kEventClassCommand, kEventCommandProcess }
- };
-
- // Create a Nib reference, passing the name of the nib file (without the .nib extension).
- // CreateNibReference only searches into the application bundle.
- err = CreateNibReference( CFSTR("main"), &sNibRef );
- require_noerr( err, ReturnLabel );
-
- // Install our handler for common commands on the application target
- // Register for standard event handlers
- InstallStandardEventHandler(GetApplicationEventTarget()); // Doesn't work?
- verify_noerr( InstallApplicationEventHandler( NewEventHandlerUPP( AppEventHandler ),
- GetEventTypeCount( kAppEvents ), kAppEvents, 0, NULL ) );
-
- // Once the nib reference is created, set the menu bar. "MainMenu" is the name of the menu bar
- // object. This name is set in InterfaceBuilder when the nib is created.
- //err = SetMenuBarFromNib( sNibRef, CFSTR("MenuBar") );
- //require_noerr( err, ReturnLabel );
- InstallStandardEventHandler(GetMenuEventTarget(AcquireRootMenu()));
-
- // Create a new window. A full-fledged application would do this from an AppleEvent handler for kAEOpenApplication.
- g_window = HandleNew();
-
-ReturnLabel:
- return running = g_window != 0;
-}
-
-bool video::init_console()
-{
- running = true;
- return true;
-}
-
-void video::terminate()
-{
- g_video = 0; running = false;
- if(g_pImg) { delete[] g_pImg; g_pImg = 0; }
- if(g_window) {
- DisposeGLForWindow (g_window);
- DisposeWindow (g_window);
- g_window = 0;
- }
-}
-
-video::~video()
-{
- if(g_video) terminate();
-}
-
-//! Count and display FPS count in titlebar
-bool video::next_frame()
-{
- if(!running) return false;
- if(!g_window) return running;
- //! try acquire mutex if threaded code, returns on failure
- if(threaded && pthread_mutex_trylock(&g_mutex))
- return running;
- g_fps++;
- struct timezone tz; struct timeval now_time; gettimeofday(&now_time, &tz);
- double sec = (now_time.tv_sec+1.0*now_time.tv_usec/1000000.0) - (g_time.tv_sec+1.0*g_time.tv_usec/1000000.0);
- if(sec > 1) {
- memcpy(&g_time, &now_time, sizeof(g_time));
- if(calc_fps) {
- double fps = g_fps; g_fps = 0;
- char buffer[256]; buffer[0] = snprintf(buffer+1, 255, "%s%s: %d fps", title, updating?"":" (no updating)", int(fps/sec));
- SetWTitle (g_window, (ConstStr255Param) buffer );
- }
- }
-
- EventRef theEvent;
- EventTargetRef theTarget;
- OSStatus err;
- // Run the event loop
-
- theTarget = GetEventDispatcherTarget();
- while( (err = ReceiveNextEvent(0, NULL, kEventDurationNoWait, true, &theEvent)) == noErr)
- {
- SendEventToEventTarget(theEvent, theTarget);
- ReleaseEvent(theEvent);
- }
- if(err != eventLoopTimedOutErr) running = false;
- if(updating) {
- pRecImage pWindowInfo = (pRecImage) GetWRefCon (g_window); // get the gl info for the window
- if(pWindowInfo) DrawGL(g_window);
- }
- if(threaded) pthread_mutex_unlock(&g_mutex);
- return true;
-}
-
-//! Do standard loop
-void video::main_loop()
-{
- struct timezone tz; gettimeofday(&g_time, &tz);
- //RunApplicationEventLoop(); -- using another application loop model
- on_process();
-}
-
-//! Change window title
-void video::show_title()
-{
- char buffer[256]; buffer[0] = snprintf(buffer+1, 255, "%s", title);
- SetWTitle (g_window, (ConstStr255Param) buffer );
-}
-
-///////////////////////////////////////////// public methods of video class ///////////////////////
-
-drawing_area::drawing_area(int x, int y, int sizex, int sizey)
- : start_x(x), start_y(y), size_x(sizex), size_y(sizey), pixel_depth(24),
- base_index(y*g_sizex + x), max_index(g_sizex*g_sizey), index_stride(g_sizex), ptr32(g_pImg)
-{
- assert(x < g_sizex); assert(y < g_sizey);
- assert(x+sizex <= g_sizex); assert(y+sizey <= g_sizey);
-
- index = base_index; // current index
-}
-
-drawing_area::~drawing_area() {}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef __VIDEO_H__
-#define __VIDEO_H__
-
-#include <cassert>
-#if _WIN32 || _WIN64
-#include <windows.h>
-#else
-#include <unistd.h>
-#endif
-
-typedef unsigned int color_t;
-typedef unsigned char colorcomp_t;
-
-//! Sipmle proxy class for managing of different video systems
-class video
-{
- //! colorspace information
- char depth, red_shift, green_shift, blue_shift;
- color_t red_mask, green_mask, blue_mask;
- friend class drawing_area;
-
-public:
- //! Constructor
- video();
- //! Destructor
- ~video();
- //! member to set window name
- const char *title;
- //! true is enable to show fps
- bool calc_fps;
- //! if true: on windows fork processing thread for on_process(), on non-windows note that next_frame() is called concurrently.
- bool threaded;
- //! true while running within main_loop()
- bool running;
- //! if true, do gui updating
- bool updating;
- //! initialize graphical video system
- bool init_window(int sizex, int sizey);
- //! initialize console. returns true if console is available
- bool init_console();
- //! terminate video system
- void terminate();
- //! Do standard event & processing loop. Use threaded = true to separate event/updating loop from frame processing
- void main_loop();
- //! Process next frame
- bool next_frame();
- //! Change window title
- void show_title();
- //! translate RGB components into packed type
- inline color_t get_color(colorcomp_t red, colorcomp_t green, colorcomp_t blue) const;
-
- //! Mouse events handler.
- virtual void on_mouse(int x, int y, int key) { }
- //! Mouse events handler.
- virtual void on_key(int key) { }
- //! Main processing loop. Redefine with your own
- virtual void on_process() { while(next_frame()); }
-
-#ifdef _WINDOWS
- //! Windows specific members
- //! if VIDEO_WINMAIN isn't defined then set this just before init() by arguments of WinMain
- static HINSTANCE win_hInstance; static int win_iCmdShow;
- //! optionally call it just before init() to set own. Use ascii strings convention
- void win_set_class(WNDCLASSEX &);
- //! load and set accelerator table from resources
- void win_load_accelerators(int idc);
-#endif
-};
-
-//! Drawing class
-class drawing_area
-{
- const size_t base_index, max_index, index_stride;
- const char pixel_depth;
- unsigned int * const ptr32;
- size_t index;
-public:
- const int start_x, start_y, size_x, size_y;
- //! constructor
- drawing_area(int x, int y, int sizex, int sizey);
- //! destructor
- ~drawing_area();
- //! set current position. local_x could be bigger then size_x
- inline void set_pos(int local_x, int local_y);
- //! put pixel in current position with incremental address calculating to next right pixel
- inline void put_pixel(color_t color);
- //! draw pixel at position by packed color
- void set_pixel(int localx, int localy, color_t color)
- { set_pos(localx, localy); put_pixel(color); }
-};
-
-inline color_t video::get_color(colorcomp_t red, colorcomp_t green, colorcomp_t blue) const
-{
- if(red_shift == 16) // only for depth == 24 && red_shift > blue_shift
- return (red<<16) | (green<<8) | blue;
- else if(depth >= 24)
- return (red<<red_shift) | (green<<green_shift) | (blue<<blue_shift);
- else if(depth > 0) {
- register char bs = blue_shift, rs = red_shift;
- if(blue_shift < 0) blue >>= -bs, bs = 0;
- else /*red_shift < 0*/ red >>= -rs, rs = 0;
- return (red<<rs)&red_mask | (green<<green_shift)&green_mask | (blue<<bs)&blue_mask;
- } else { // UYVY colorspace
- register unsigned y, u, v;
- y = red * 77 + green * 150 + blue * 29; // sum(77+150+29=256) * max(=255): limit->2^16
- u = (2048 + (blue << 3) - (y >> 5)) >> 4; // (limit->2^12)>>4
- v = (2048 + (red << 3) - (y >> 5)) >> 4;
- y = y >> 8;
- return u | (y << 8) | (v << 16) | (y << 24);
- }
-}
-
-inline void drawing_area::set_pos(int local_x, int local_y)
-{
- index = base_index + local_x + local_y*index_stride;
-}
-
-inline void drawing_area::put_pixel(color_t color)
-{
- assert(index < max_index);
- if(pixel_depth > 16) ptr32[index++] = color;
- else if(pixel_depth > 0)
- ((unsigned short*)ptr32)[index++] = (unsigned short)color;
- else { // UYVY colorspace
- if(index&1) color >>= 16;
- ((unsigned short*)ptr32)[index++] = (unsigned short)color;
- }
-}
-
-#if defined(_WINDOWS) && (defined(VIDEO_WINMAIN) || defined(VIDEO_WINMAIN_ARGS) )
-#include <cstdlib>
-//! define WinMain for subsystem:windows.
-#ifdef VIDEO_WINMAIN_ARGS
-int main(int, char *[]);
-#else
-int main();
-#endif
-int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR szCmdLine, int iCmdShow)
-{
- video::win_hInstance = hInstance; video::win_iCmdShow = iCmdShow;
-#ifdef VIDEO_WINMAIN_ARGS
- return main(__argc, __argv);
-#else
- return main();
-#endif
-}
-#endif
-
-#endif// __VIDEO_H__
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/////// Common internal implementation of Windows-specific stuff //////////////
-/////// Must be the first included header //////////////
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE
-#endif
-// Check that the target Windows version has all API calls requried.
-#ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0400
-#endif
-#if _WIN32_WINNT<0x0400
-# define YIELD_TO_THREAD() Sleep(0)
-#else
-# define YIELD_TO_THREAD() SwitchToThread()
-#endif
-#include "video.h"
-#include <fcntl.h>
-#include <io.h>
-#include <iostream>
-#include <fstream>
-
-#pragma comment(lib, "gdi32.lib")
-#pragma comment(lib, "user32.lib")
-
-// maximum mumber of lines the output console should have
-static const WORD MAX_CONSOLE_LINES = 500;
-const COLORREF RGBKEY = RGB(8, 8, 16); // at least 8 for 16-bit palette
-HWND g_hAppWnd; // The program's window handle
-HANDLE g_handles[2] = {0,0};// thread and wake up event
-unsigned int * g_pImg = 0; // drawing memory
-int g_sizex, g_sizey;
-static video * g_video = 0;
-WNDPROC g_pUserProc = 0;
-HINSTANCE video::win_hInstance = 0;
-int video::win_iCmdShow = 0;
-static WNDCLASSEX * gWndClass = 0;
-static HACCEL hAccelTable = 0;
-static DWORD g_msec = 0;
-static int g_fps = 0, g_updates = 0, g_skips = 0;
-
-bool DisplayError(LPSTR lpstrErr, HRESULT hres = 0); // always returns false
-LRESULT CALLBACK InternalWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);
-
-//! Create window
-bool WinInit(HINSTANCE hInstance, int nCmdShow, WNDCLASSEX *uwc, const char *title, bool fixedsize)
-{
- WNDCLASSEX wndclass; // Our app's windows class
- if(uwc) {
- memcpy(&wndclass, uwc, sizeof(wndclass));
- g_pUserProc = uwc->lpfnWndProc;
- } else {
- memset(&wndclass, 0, sizeof(wndclass));
- wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
- wndclass.lpszClassName = title;
- }
- wndclass.cbSize = sizeof(wndclass);
- wndclass.hInstance = hInstance;
- wndclass.lpfnWndProc = InternalWndProc;
- wndclass.style |= CS_HREDRAW | CS_VREDRAW;
- wndclass.hbrBackground = CreateSolidBrush(RGBKEY);
-
- if( !RegisterClassExA(&wndclass) ) return false;
- int xaddend = GetSystemMetrics(fixedsize?SM_CXFIXEDFRAME:SM_CXFRAME)*2;
- int yaddend = GetSystemMetrics(fixedsize?SM_CYFIXEDFRAME:SM_CYFRAME)*2 + GetSystemMetrics(SM_CYCAPTION);
- if(wndclass.lpszMenuName) yaddend += GetSystemMetrics(SM_CYMENU);
-
- // Setup the new window's physical parameters - and tell Windows to create it
- g_hAppWnd = CreateWindowA(wndclass.lpszClassName, // Window class name
- title, // Window caption
- !fixedsize ? WS_OVERLAPPEDWINDOW : // Window style
- WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,
- CW_USEDEFAULT, // Initial x pos: use default placement
- 0, // Initial y pos: not used here
- g_sizex+xaddend,// Initial x size
- g_sizey+yaddend,// Initial y size
- NULL, // parent window handle
- NULL, // window menu handle
- hInstance, // program instance handle
- NULL); // Creation parameters
- return g_hAppWnd != NULL;
-}
-
-//! create console window with redirection
-static bool RedirectIOToConsole(void)
-{
- int hConHandle; size_t lStdHandle;
- CONSOLE_SCREEN_BUFFER_INFO coninfo;
- FILE *fp;
- // allocate a console for this app
- AllocConsole();
-
- // set the screen buffer to be big enough to let us scroll text
- GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &coninfo);
- coninfo.dwSize.Y = MAX_CONSOLE_LINES;
- SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coninfo.dwSize);
-
- // redirect unbuffered STDOUT to the console
- lStdHandle = (size_t)GetStdHandle(STD_OUTPUT_HANDLE);
- hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
- if(hConHandle <= 0) return false;
- fp = _fdopen( hConHandle, "w" );
- *stdout = *fp;
- setvbuf( stdout, NULL, _IONBF, 0 );
-
- // redirect unbuffered STDERR to the console
- lStdHandle = (size_t)GetStdHandle(STD_ERROR_HANDLE);
- hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
- if(hConHandle > 0) {
- fp = _fdopen( hConHandle, "w" );
- *stderr = *fp;
- setvbuf( stderr, NULL, _IONBF, 0 );
- }
-
- // redirect unbuffered STDIN to the console
- lStdHandle = (size_t)GetStdHandle(STD_INPUT_HANDLE);
- hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
- if(hConHandle > 0) {
- fp = _fdopen( hConHandle, "r" );
- *stdin = *fp;
- setvbuf( stdin, NULL, _IONBF, 0 );
- }
-
- // make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog
- // point to console as well
- std::ios::sync_with_stdio();
- return true;
-}
-
-
-video::video()
- : red_mask(0xff0000), red_shift(16), green_mask(0xff00),
- green_shift(8), blue_mask(0xff), blue_shift(0), depth(24)
-{
- assert(g_video == 0);
- g_video = this; title = "Video"; running = threaded = calc_fps = false; updating = true;
-}
-
-//! optionally call it just before init() to set own
-void video::win_set_class(WNDCLASSEX &wcex)
-{
- gWndClass = &wcex;
-}
-
-void video::win_load_accelerators(int idc)
-{
- hAccelTable = LoadAccelerators(win_hInstance, MAKEINTRESOURCE(idc));
-}
-
-bool video::init_console()
-{
- if(RedirectIOToConsole()) {
- if(!g_pImg && g_sizex && g_sizey)
- g_pImg = new unsigned int[g_sizex * g_sizey];
- if(g_pImg) running = true;
- return true;
- }
- return false;
-}
-
-video::~video()
-{
- if(g_video) terminate();
-}
-
-DWORD WINAPI thread_video(LPVOID lpParameter)
-{
- video *v = (video*)lpParameter;
- v->on_process();
- return 0;
-}
-
-static bool loop_once(video *v)
-{
- // screen update notify
- if(int updates = g_updates) {
- g_updates = 0;
- if(g_video->updating) { g_skips += updates-1; g_fps++; }
- else g_skips += updates;
- UpdateWindow(g_hAppWnd);
- }
- // update fps
- DWORD msec = GetTickCount();
- if(v->calc_fps && msec >= g_msec+1000) {
- double sec = (msec - g_msec)/1000.0;
- char buffer[256], n = _snprintf(buffer, 128, "%s: %d fps", v->title, int(double(g_fps + g_skips)/sec));
- if(g_skips) _snprintf(buffer+n, 128, " - %d skipped = %d updates", int(g_skips/sec), int(g_fps/sec));
- SetWindowTextA(g_hAppWnd, buffer);
- g_msec = msec; g_skips = g_fps = 0;
- }
- // event processing, including painting
- MSG msg;
- if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
- if( msg.message == WM_QUIT ) { v->running = false; return false; }
- if( !hAccelTable || !TranslateAccelerator(msg.hwnd, hAccelTable, &msg) )
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return true; // try again
- }
- return false;
-}
-
-//! Do standard event loop
-void video::main_loop()
-{
- // let Windows draw and unroll the window
- InvalidateRect(g_hAppWnd, 0, false);
- g_msec = GetTickCount(); // let's stay for 0,5 sec
- while(g_msec + 500 > GetTickCount()) { loop_once(this); Sleep(1); }
- g_msec = GetTickCount();
- // now, start main process
- if(threaded) {
- g_handles[0] = CreateThread (
- NULL, // LPSECURITY_ATTRIBUTES security_attrs
- 0, // SIZE_T stacksize
- (LPTHREAD_START_ROUTINE) thread_video,
- this, // argument
- 0, 0);
- if(!g_handles[0]) { DisplayError("Can't create thread"); return; }
- else // harmless race is possible here
- g_handles[1] = CreateEvent(NULL, false, false, NULL);
- while(running) {
- while(loop_once(this));
- YIELD_TO_THREAD(); // give time for processing when running on single CPU
- DWORD r = MsgWaitForMultipleObjects(2, g_handles, false, INFINITE, QS_ALLINPUT^QS_MOUSEMOVE);
- if(r == WAIT_OBJECT_0) break; // thread terminated
- }
- running = false;
- if(WaitForSingleObject(g_handles[0], 300) == WAIT_TIMEOUT)
- TerminateThread(g_handles[0], 0);
- if(g_handles[0]) CloseHandle(g_handles[0]);
- if(g_handles[1]) CloseHandle(g_handles[1]);
- g_handles[0] = g_handles[1] = 0;
- }
- else on_process();
-}
-
-//! Refresh screen picture
-bool video::next_frame()
-{
- if(!running) return false;
- g_updates++; // Fast but inaccurate counter. The data race here is benign.
- if(!threaded) while(loop_once(this));
- else if(g_handles[1]) {
- SetEvent(g_handles[1]);
- YIELD_TO_THREAD();
- }
- return true;
-}
-
-//! Change window title
-void video::show_title()
-{
- if(g_hAppWnd)
- SetWindowTextA(g_hAppWnd, title);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Uncomment next line to disable shared memory features if you have not libXext
-// (http://www.xfree86.org/current/mit-shm.html)
-//#define X_NOSHMEM
-
-#include "video.h"
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-#include <sys/time.h>
-#include <signal.h>
-#include <pthread.h>
-
-#ifndef X_NOSHMEM
-#include <errno.h>
-#include <X11/extensions/XShm.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-static XShmSegmentInfo shmseginfo;
-static Pixmap pixmap = 0;
-#endif
-static char *display_name = NULL;
-static Display *dpy = NULL;
-static Screen *scrn;
-static Visual *vis;
-static Colormap cmap;
-static GC gc;
-static Window win, rootW;
-static int dispdepth = 0;
-static XGCValues xgcv;
-static XImage *ximage;
-static int x_error = 0;
-static int vidtype = 3;
-static int g_sizex, g_sizey;
-static video *g_video = 0;
-static unsigned int *g_pImg = 0;
-static int g_fps = 0;
-struct timeval g_time;
-static pthread_mutex_t g_mutex = PTHREAD_MUTEX_INITIALIZER;
-Atom _XA_WM_DELETE_WINDOW = 0;// like in Xatom.h
-
-///////////////////////////////////////////// public methods of video class ///////////////////////
-
-video::video()
-{
- assert(g_video == 0);
- g_video = this; title = "Video"; calc_fps = running = false; updating = true;
-}
-
-inline void mask2bits(unsigned int mask, unsigned int &save, char &shift)
-{
- save = mask; if(!mask) { shift = dispdepth/3; return; }
- shift = 0; while(!(mask&1)) ++shift, mask >>= 1;
- int bits = 0; while(mask&1) ++bits, mask >>= 1;
- shift += bits - 8;
-}
-
-int xerr_handler(Display*, XErrorEvent *error)
-{
- x_error = error->error_code;
- if(g_video) g_video->running = false;
- return 0;
-}
-
-bool video::init_window(int xsize, int ysize)
-{
- { //enclose local variables before fail label
- g_sizex = xsize; g_sizey = ysize;
-
- // Open the display
- if (!dpy) {
- dpy = XOpenDisplay(display_name);
- if (!dpy) {
- fprintf(stderr, "Can't open X11 display %s\n", XDisplayName(display_name));
- goto fail;
- }
- }
- int theScreen = DefaultScreen(dpy);
- scrn = ScreenOfDisplay(dpy, theScreen);
- dispdepth = DefaultDepth(dpy, theScreen);
- XVisualInfo vinfo;
- if (!( (dispdepth >= 15 && dispdepth <= 32 && XMatchVisualInfo(dpy, theScreen, dispdepth, TrueColor, &vinfo) )
- || XMatchVisualInfo(dpy, theScreen, 24, TrueColor, &vinfo)
- || XMatchVisualInfo(dpy, theScreen, 32, TrueColor, &vinfo)
- || XMatchVisualInfo(dpy, theScreen, 16, TrueColor, &vinfo)
- || XMatchVisualInfo(dpy, theScreen, 15, TrueColor, &vinfo)
- )) {
- fprintf(stderr, "Display has no appropriate True Color visual\n");
- goto fail;
- }
- vis = vinfo.visual;
- depth = dispdepth = vinfo.depth;
- mask2bits(vinfo.red_mask, red_mask, red_shift);
- mask2bits(vinfo.green_mask, green_mask, green_shift);
- mask2bits(vinfo.blue_mask, blue_mask, blue_shift);
- rootW = RootWindow(dpy, theScreen);
- cmap = XCreateColormap(dpy, rootW, vis, AllocNone);
- XSetWindowAttributes attrs;
- attrs.backing_store = Always;
- attrs.colormap = cmap;
- attrs.event_mask = StructureNotifyMask|KeyPressMask|ButtonPressMask|ButtonReleaseMask;
- attrs.background_pixel = BlackPixelOfScreen(scrn);
- attrs.border_pixel = WhitePixelOfScreen(scrn);
- win = XCreateWindow(dpy, rootW,
- 0, 0, xsize, ysize, 2,
- dispdepth, InputOutput, vis,
- CWBackingStore | CWColormap | CWEventMask |
- CWBackPixel | CWBorderPixel,
- &attrs);
- if(!win) {
- fprintf(stderr, "Can't create the window\n");
- goto fail;
- }
- XSizeHints sh;
- sh.flags = PSize | PMinSize | PMaxSize;
- sh.width = sh.min_width = sh.max_width = xsize;
- sh.height = sh.min_height = sh.max_height = ysize;
- XSetStandardProperties( dpy, win, g_video->title, g_video->title, None, NULL, 0, &sh );
- _XA_WM_DELETE_WINDOW = XInternAtom(dpy, "WM_DELETE_WINDOW", false);
- XSetWMProtocols(dpy, win, &_XA_WM_DELETE_WINDOW, 1);
- gc = XCreateGC(dpy, win, 0L, &xgcv);
- XMapRaised(dpy, win);
- XFlush(dpy);
-#ifdef X_FULLSYNC
- XSynchronize(dpy, true);
-#endif
- XSetErrorHandler(xerr_handler);
-
- int imgbytes = xsize*ysize*(dispdepth<=16?2:4);
- const char *vidstr;
-#ifndef X_NOSHMEM
- int major, minor, pixmaps;
- if(XShmQueryExtension(dpy) &&
- XShmQueryVersion(dpy, &major, &minor, &pixmaps))
- { // Shared memory
- shmseginfo.shmid = shmget(IPC_PRIVATE, imgbytes, IPC_CREAT|0777);
- if(shmseginfo.shmid < 0) {
- fprintf(stderr, "Warning: Can't get shared memory: %s\n", strerror(errno));
- goto generic;
- }
- g_pImg = (unsigned int*)(shmseginfo.shmaddr = (char*)shmat(shmseginfo.shmid, 0, 0));
- if(g_pImg == (unsigned int*)-1) {
- fprintf(stderr, "Warning: Can't attach to shared memory: %s\n", strerror(errno));
- shmctl(shmseginfo.shmid, IPC_RMID, NULL);
- goto generic;
- }
- shmseginfo.readOnly = false;
- if(!XShmAttach(dpy, &shmseginfo) || x_error) {
- char err[256]; XGetErrorText(dpy, x_error, err, 255);
- fprintf(stderr, "Warning: Can't attach shared memory to display: %s (%d)\n", err, x_error);
- shmdt(shmseginfo.shmaddr); shmctl(shmseginfo.shmid, IPC_RMID, NULL);
- goto generic;
- }
-
-#ifndef X_NOSHMPIX
- if(pixmaps && XShmPixmapFormat(dpy) == ZPixmap)
- { // Pixmaps
- vidtype = 2; vidstr = "X11 shared memory pixmap";
- pixmap = XShmCreatePixmap(dpy, win, (char*)g_pImg, &shmseginfo, xsize, ysize, dispdepth);
- XSetWindowBackgroundPixmap(dpy, win, pixmap);
- } else
-#endif//!X_NOSHMPIX
- { // Standart
- vidtype = 1; vidstr = "X11 shared memory";
- ximage = XShmCreateImage(dpy, vis, dispdepth,
- ZPixmap, 0, &shmseginfo, xsize, ysize);
- if(!ximage) {
- fprintf(stderr, "Can't create the shared image\n");
- goto fail;
- }
- assert(ximage->bytes_per_line == xsize*(dispdepth<=16?2:4));
- ximage->data = shmseginfo.shmaddr;
- }
- } else
-#endif
- {
-generic:
- vidtype = 0; vidstr = "generic X11";
- g_pImg = new unsigned int[imgbytes/sizeof(int)];
- ximage = XCreateImage(dpy, vis, dispdepth, ZPixmap, 0, (char*)g_pImg, xsize, ysize, 32, imgbytes/ysize);
- if(!ximage) {
- fprintf(stderr, "Can't create the image\n");
- goto fail;
- }
- }
- printf("Note: using %s with %s visual for %d-bit color depth\n", vidstr, vis==DefaultVisual(dpy, theScreen)?"default":"non-default", dispdepth);
- running = true;
- return true;
- } // end of enclosing local varables
-fail:
- terminate(); init_console();
- return false;
-}
-
-bool video::init_console()
-{
- if(!g_pImg && g_sizex && g_sizey) {
- dispdepth = 24; red_shift = 16; vidtype = 3; // fake video
- g_pImg = new unsigned int[g_sizex*g_sizey];
- running = true;
- }
- return true;
-}
-
-void video::terminate()
-{
- running = false;
- if(dpy) {
- vidtype = 3; // stop video
- if(threaded) { pthread_mutex_lock(&g_mutex); pthread_mutex_unlock(&g_mutex); }
- if(ximage) { XDestroyImage(ximage); ximage = 0; g_pImg = 0; } // it frees g_pImg for vidtype == 0
-#ifndef X_NOSHMEM
- if(pixmap) XFreePixmap(dpy, pixmap);
- if(shmseginfo.shmaddr) { XShmDetach(dpy, &shmseginfo); shmdt(shmseginfo.shmaddr); g_pImg = 0; }
- if(shmseginfo.shmid >= 0) shmctl(shmseginfo.shmid, IPC_RMID, NULL);
-#endif
- if(gc) XFreeGC(dpy, gc);
- if(win) XDestroyWindow(dpy, win);
- XCloseDisplay(dpy); dpy = 0;
- }
- if(g_pImg) { delete[] g_pImg; g_pImg = 0; } // if was allocated for console mode
-}
-
-video::~video()
-{
- if(g_video) terminate();
- g_video = 0;
-}
-
-//! Do standard event loop
-void video::main_loop()
-{
- struct timezone tz; gettimeofday(&g_time, &tz);
- on_process();
-}
-
-//! Check for pending events once
-bool video::next_frame()
-{
- if(!running) return false;
- //! try acquire mutex if threaded code, returns on failure
- if(vidtype == 3 || threaded && pthread_mutex_trylock(&g_mutex))
- return running;
- //! Refresh screen picture
- g_fps++;
-#ifndef X_NOSHMPIX
- if(vidtype == 2 && updating) XClearWindow(dpy, win);
-#endif
- while( XPending(dpy) ) {
- XEvent report; XNextEvent(dpy, &report);
- switch( report.type ) {
- case ClientMessage:
- if(report.xclient.format != 32 || report.xclient.data.l[0] != _XA_WM_DELETE_WINDOW) break;
- case DestroyNotify:
- running = false;
- case KeyPress:
- on_key( XLookupKeysym(&report.xkey, 0) ); break;
- case ButtonPress:
- on_mouse( report.xbutton.x, report.xbutton.y, report.xbutton.button ); break;
- case ButtonRelease:
- on_mouse( report.xbutton.x, report.xbutton.y, -report.xbutton.button ); break;
- }
- }
- struct timezone tz; struct timeval now_time; gettimeofday(&now_time, &tz);
- double sec = (now_time.tv_sec+1.0*now_time.tv_usec/1000000.0) - (g_time.tv_sec+1.0*g_time.tv_usec/1000000.0);
- if(sec > 1) {
- memcpy(&g_time, &now_time, sizeof(g_time));
- if(calc_fps) {
- double fps = g_fps; g_fps = 0;
- char buffer[256]; snprintf(buffer, 256, "%s%s: %d fps", title, updating?"":" (no updating)", int(fps/sec));
- XStoreName(dpy, win, buffer);
- }
-#ifndef X_FULLSYNC
- XSync(dpy, false); // It is often better then using XSynchronize(dpy, true)
-#endif//X_FULLSYNC
- }
- if(threaded) pthread_mutex_unlock(&g_mutex);
- return true;
-}
-
-//! Change window title
-void video::show_title()
-{
- if(vidtype < 3)
- XStoreName(dpy, win, title);
-}
-
-drawing_area::drawing_area(int x, int y, int sizex, int sizey)
- : start_x(x), start_y(y), size_x(sizex), size_y(sizey), pixel_depth(dispdepth),
- base_index(y*g_sizex + x), max_index(g_sizex*g_sizey), index_stride(g_sizex), ptr32(g_pImg)
-{
- assert(x < g_sizex); assert(y < g_sizey);
- assert(x+sizex <= g_sizex); assert(y+sizey <= g_sizey);
-
- index = base_index; // current index
-}
-
-drawing_area::~drawing_area()
-{
- if(!g_video->updating) return;
-#ifndef X_NOSHMEM
- switch(vidtype) {
- case 0:
-#endif
- pthread_mutex_lock(&g_mutex);
- if(vidtype == 0) XPutImage(dpy, win, gc, ximage, start_x, start_y, start_x, start_y, size_x, size_y);
- pthread_mutex_unlock(&g_mutex);
-#ifndef X_NOSHMEM
- break;
- case 1:
- pthread_mutex_lock(&g_mutex);
- if(vidtype == 1) XShmPutImage(dpy, win, gc, ximage, start_x, start_y, start_x, start_y, size_x, size_y, false);
- pthread_mutex_unlock(&g_mutex);
- break;
- /*case 2: make it in next_frame(); break;*/
- }
-#endif
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory contains common code that is used in the Threading Building Blocks examples.
-
-<P>
-This code is not intended to be used directly. It is incorporated automatically by the examples that need it.
-</P>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="gui">gui</A>
-<DD>GUI code for examples that have graphical user interfaces. Currently supports:
- <UL>
- <LI>GDI+*, Direct Draw (Windows* systems)
- <LI>OpenGL* (Mac OS* X systems)
- <LI>X-windows (Linux* or Mac OS* X systems)
- </UL>
- See the examples that use the GUI
- (<A HREF=../parallel_for/tachyon/index.html>tachyon</A> and <A HREF=../parallel_for/seismic/index.html>seismic</A>)
- for more details.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=count_strings
-ARGS=
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(PROG) *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Count_Strings
-ARGS=
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) *.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) *.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Workaround for ICC 11.0 not finding __sync_fetch_and_add_4 on some of the Linux platforms.
-#if __linux__ && defined(__INTEL_COMPILER)
-#define __sync_fetch_and_add(ptr,addend) _InterlockedExchangeAdd(const_cast<void*>(reinterpret_cast<volatile void*>(ptr)), addend)
-#endif
-
-#include <string>
-#include <cstring>
-#include <cctype>
-#include <cstdlib>
-#include <cstdio>
-#include "tbb/concurrent_hash_map.h"
-#include "tbb/blocked_range.h"
-#include "tbb/parallel_for.h"
-#include "tbb/tick_count.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tbb_allocator.h"
-
-
-//! String type with scalable allocator.
-/** On platforms with non-scalable default memory allocators, the example scales
- better if the string allocator is changed to tbb::tbb_allocator<char>. */
-typedef std::basic_string<char,std::char_traits<char>,tbb::tbb_allocator<char> > MyString;
-
-using namespace tbb;
-using namespace std;
-
-//! Set to true to counts.
-static bool Verbose = false;
-
-//! Working threads count
-static int NThread = 1;
-
-//! Problem size
-size_t N = 1000000;
-const int size_factor = 2;
-
-//! Indicates if the number of threads wasn't set explicitly
-static bool is_number_of_threads_set = false;
-//! A concurrent hash table that maps strings to ints.
-typedef concurrent_hash_map<MyString,int> StringTable;
-
-//! Function object for counting occurrences of strings.
-struct Tally {
- StringTable& table;
- Tally( StringTable& table_ ) : table(table_) {}
- void operator()( const blocked_range<MyString*> range ) const {
- for( MyString* p=range.begin(); p!=range.end(); ++p ) {
- StringTable::accessor a;
- table.insert( a, *p );
- a->second += 1;
- }
- }
-};
-
-static MyString* Data;
-
-static void CountOccurrences(int nthreads) {
- StringTable table;
-
- tick_count t0 = tick_count::now();
- parallel_for( blocked_range<MyString*>( Data, Data+N, 1000 ), Tally(table) );
- tick_count t1 = tick_count::now();
-
- int n = 0;
- for( StringTable::iterator i=table.begin(); i!=table.end(); ++i ) {
- if( Verbose && nthreads )
- printf("%s %d\n",i->first.c_str(),i->second);
- n += i->second;
- }
-
- if (is_number_of_threads_set) {
- printf("threads = %d total = %d unique = %u time = %g\n", nthreads, n, unsigned(table.size()), (t1-t0).seconds());
- } else {
- if ( nthreads == 1 ) {
- printf("serial run total = %d unique = %u time = %g\n", n, unsigned(table.size()), (t1-t0).seconds());
- } else {
- printf("parallel run total = %d unique = %u time = %g\n", n, unsigned(table.size()), (t1-t0).seconds());
- }
- }
-}
-
-/// Generator of random words
-
-struct Sound {
- const char *chars;
- int rates[3];// begining, middle, ending
-};
-Sound Vowels[] = {
- {"e", {445,6220,1762}}, {"a", {704,5262,514}}, {"i", {402,5224,162}}, {"o", {248,3726,191}},
- {"u", {155,1669,23}}, {"y", {4,400,989}}, {"io", {5,512,18}}, {"ia", {1,329,111}},
- {"ea", {21,370,16}}, {"ou", {32,298,4}}, {"ie", {0,177,140}}, {"ee", {2,183,57}},
- {"ai", {17,206,7}}, {"oo", {1,215,7}}, {"au", {40,111,2}}, {"ua", {0,102,4}},
- {"ui", {0,104,1}}, {"ei", {6,94,3}}, {"ue", {0,67,28}}, {"ay", {1,42,52}},
- {"ey", {1,14,80}}, {"oa", {5,84,3}}, {"oi", {2,81,1}}, {"eo", {1,71,5}},
- {"iou", {0,61,0}}, {"oe", {2,46,9}}, {"eu", {12,43,0}}, {"iu", {0,45,0}},
- {"ya", {12,19,5}}, {"ae", {7,18,10}}, {"oy", {0,10,13}}, {"ye", {8,7,7}},
- {"ion", {0,0,20}}, {"ing", {0,0,20}}, {"ium", {0,0,10}}, {"er", {0,0,20}}
-};
-Sound Consonants[] = {
- {"r", {483,1414,1110}}, {"n", {312,1548,1114}}, {"t", {363,1653,251}}, {"l", {424,1341,489}},
- {"c", {734,735,260}}, {"m", {732,785,161}}, {"d", {558,612,389}}, {"s", {574,570,405}},
- {"p", {519,361,98}}, {"b", {528,356,30}}, {"v", {197,598,16}}, {"ss", {3,191,567}},
- {"g", {285,430,42}}, {"st", {142,323,180}}, {"h", {470,89,30}}, {"nt", {0,350,231}},
- {"ng", {0,117,442}}, {"f", {319,194,19}}, {"ll", {1,414,83}}, {"w", {249,131,64}},
- {"k", {154,179,47}}, {"nd", {0,279,92}}, {"bl", {62,235,0}}, {"z", {35,223,16}},
- {"sh", {112,69,79}}, {"ch", {139,95,25}}, {"th", {70,143,39}}, {"tt", {0,219,19}},
- {"tr", {131,104,0}}, {"pr", {186,41,0}}, {"nc", {0,223,2}}, {"j", {184,32,1}},
- {"nn", {0,188,20}}, {"rt", {0,148,51}}, {"ct", {0,160,29}}, {"rr", {0,182,3}},
- {"gr", {98,87,0}}, {"ck", {0,92,86}}, {"rd", {0,81,88}}, {"x", {8,102,48}},
- {"ph", {47,101,10}}, {"br", {115,43,0}}, {"cr", {92,60,0}}, {"rm", {0,131,18}},
- {"ns", {0,124,18}}, {"sp", {81,55,4}}, {"sm", {25,29,85}}, {"sc", {53,83,1}},
- {"rn", {0,100,30}}, {"cl", {78,42,0}}, {"mm", {0,116,0}}, {"pp", {0,114,2}},
- {"mp", {0,99,14}}, {"rs", {0,96,16}}, /*{"q", {52,57,1}},*/ {"rl", {0,97,7}},
- {"rg", {0,81,15}}, {"pl", {56,39,0}}, {"sn", {32,62,1}}, {"str", {38,56,0}},
- {"dr", {47,44,0}}, {"fl", {77,13,1}}, {"fr", {77,11,0}}, {"ld", {0,47,38}},
- {"ff", {0,62,20}}, {"lt", {0,61,19}}, {"rb", {0,75,4}}, {"mb", {0,72,7}},
- {"rc", {0,76,1}}, {"gg", {0,74,1}}, {"pt", {1,56,10}}, {"bb", {0,64,1}},
- {"sl", {48,17,0}}, {"dd", {0,59,2}}, {"gn", {3,50,4}}, {"rk", {0,30,28}},
- {"nk", {0,35,20}}, {"gl", {40,14,0}}, {"wh", {45,6,0}}, {"ntr", {0,50,0}},
- {"rv", {0,47,1}}, {"ght", {0,19,29}}, {"sk", {23,17,5}}, {"nf", {0,46,0}},
- {"cc", {0,45,0}}, {"ln", {0,41,0}}, {"sw", {36,4,0}}, {"rp", {0,36,4}},
- {"dn", {0,38,0}}, {"ps", {14,19,5}}, {"nv", {0,38,0}}, {"tch", {0,21,16}},
- {"nch", {0,26,11}}, {"lv", {0,35,0}}, {"wn", {0,14,21}}, {"rf", {0,32,3}},
- {"lm", {0,30,5}}, {"dg", {0,34,0}}, {"ft", {0,18,15}}, {"scr", {23,10,0}},
- {"rch", {0,24,6}}, {"rth", {0,23,7}}, {"rh", {13,15,0}}, {"mpl", {0,29,0}},
- {"cs", {0,1,27}}, {"gh", {4,10,13}}, {"ls", {0,23,3}}, {"ndr", {0,25,0}},
- {"tl", {0,23,1}}, {"ngl", {0,25,0}}, {"lk", {0,15,9}}, {"rw", {0,23,0}},
- {"lb", {0,23,1}}, {"tw", {15,8,0}}, /*{"sq", {15,8,0}},*/ {"chr", {18,4,0}},
- {"dl", {0,23,0}}, {"ctr", {0,22,0}}, {"nst", {0,21,0}}, {"lc", {0,22,0}},
- {"sch", {16,4,0}}, {"ths", {0,1,20}}, {"nl", {0,21,0}}, {"lf", {0,15,6}},
- {"ssn", {0,20,0}}, {"xt", {0,18,1}}, {"xp", {0,20,0}}, {"rst", {0,15,5}},
- {"nh", {0,19,0}}, {"wr", {14,5,0}}
-};
-const int VowelsNumber = sizeof(Vowels)/sizeof(Sound);
-const int ConsonantsNumber = sizeof(Consonants)/sizeof(Sound);
-int VowelsRatesSum[3] = {0,0,0}, ConsonantsRatesSum[3] = {0,0,0};
-
-int CountRateSum(Sound sounds[], const int num, const int part)
-{
- int sum = 0;
- for(int i = 0; i < num; i++)
- sum += sounds[i].rates[part];
- return sum;
-}
-
-const char *GetLetters(int type, const int part)
-{
- Sound *sounds; int rate, i = 0;
- if(type & 1)
- sounds = Vowels, rate = rand() % VowelsRatesSum[part];
- else
- sounds = Consonants, rate = rand() % ConsonantsRatesSum[part];
- do {
- rate -= sounds[i++].rates[part];
- } while(rate > 0);
- return sounds[--i].chars;
-}
-
-static void CreateData() {
- for(int i = 0; i < 3; i++) {
- ConsonantsRatesSum[i] = CountRateSum(Consonants, ConsonantsNumber, i);
- VowelsRatesSum[i] = CountRateSum(Vowels, VowelsNumber, i);
- }
- for( int i=0; i<N; ++i ) {
- int type = rand();
- Data[i] = GetLetters(type++, 0);
- for( int j = 0; j < type%size_factor; ++j )
- Data[i] += GetLetters(type++, 1);
- Data[i] += GetLetters(type, 2);
- }
- MyString planet = Data[12]; planet[0] = toupper(planet[0]);
- MyString helloworld = Data[0]; helloworld[0] = toupper(helloworld[0]);
- helloworld += ", "+Data[1]+" "+Data[2]+" "+Data[3]+" "+Data[4]+" "+Data[5];
- printf("Message from planet '%s': %s!\nAnalyzing whole text...\n", planet.c_str(), helloworld.c_str());
-}
-
-/// Main Driver
-
-static void ParseCommandLine( int argc, char* argv[] ) {
- int i = 1;
- if( i<argc && strcmp( argv[i], "verbose" )==0 ) {
- Verbose = true;
- ++i;
- }
- if( i<argc )
- if( !isdigit(argv[i][0]) ) {
- fprintf(stderr,"Usage: %s [verbose] [number-of-strings] [number-of-threads]\n",argv[0]);
- exit(1);
- } else {
- N = strtol(argv[i++],0,0);
- }
- if( i<argc )
- if( !isdigit(argv[i][0]) ) {
- fprintf(stderr,"Usage: %s [verbose] [number-of-strings] [number-of-threads]\n",argv[0]);
- exit(1);
- } else {
- NThread = strtol(argv[i++],0,0);
- is_number_of_threads_set = true;
- }
-}
-
-int main( int argc, char* argv[] ) {
- srand(2);
- ParseCommandLine( argc, argv );
- Data = new MyString[N];
- CreateData();
- if (is_number_of_threads_set) {
- task_scheduler_init init(NThread);
- CountOccurrences(NThread);
- } else { // Number of threads wasn't set explicitly. Run serial and parallel version
- { // serial run
- task_scheduler_init init_serial(1);
- CountOccurrences(1);
- }
- { // parallel run (number of threads is selected automatically)
- task_scheduler_init init_parallel;
- CountOccurrences(0);
- }
- }
- delete[] Data;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Example program that demonstrates template class concurrent_hash_map.
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="count_strings.cpp">count_strings.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>count_strings [verbose] [<I>N</I>] [<I>P</I>]</TT>
-<DD><I>N</I> is the number of strings and <I>P</I> is the number of threads to be used. The "verbose" option enables printing
- of extra information during execution.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with a small number of strings and the desired number of threads, e.g., <TT>count_strings 10000 2</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "count_strings", "count_strings.vcproj", "{C931C7A2-074E-4150-9E7A-39A03250411C}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {C931C7A2-074E-4150-9E7A-39A03250411C}.Debug.ActiveCfg = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411C}.Debug.Build.0 = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411C}.Release.ActiveCfg = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411C}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="count_strings"
- ProjectGUID="{C931C7A2-074E-4150-9E7A-39A03250411C}"
- RootNamespace="count_strings"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\count_strings.cpp">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "count_strings", "count_strings.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="count_strings"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252C}"
- RootNamespace="count_strings"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\count_strings.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "count_strings", "count_strings.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252C}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="count_strings"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252C}"
- RootNamespace="count_strings"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\count_strings.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- A1F593A60B8F042A00073279 /* count_strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* count_strings.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8DD76F6C0486A84900D96B5E /* count_strings */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = count_strings; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F593A50B8F042A00073279 /* count_strings.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = count_strings.cpp; path = ../count_strings.cpp; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* count_strings */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = count_strings;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- A1F593A50B8F042A00073279 /* count_strings.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* count_strings */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* count_strings */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "count_strings" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = count_strings;
- productInstallPath = "$(HOME)/bin";
- productName = count_strings;
- productReference = 8DD76F6C0486A84900D96B5E /* count_strings */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "count_strings" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* count_strings */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* count_strings */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593A60B8F042A00073279 /* count_strings.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = count_strings;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = count_strings;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = count_strings;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = count_strings;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "count_strings" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "count_strings" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has examples of the template <code>concurrent_hash_map</code>.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="count_strings/index.html">count_strings</A>
-<DD>Concurrently inserts strings into a concurrent_hash_map.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has example usages of Threading Building Blocks.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="GettingStarted/index.html">GettingStarted</A>
-<DD>Examples from the <A HREF="../doc/Getting_Started.pdf">Getting Started Guide</A>.
-<DT><A HREF="concurrent_hash_map/index.html">concurrent_hash_map</A>
-<DD>Examples using <CODE>concurrent_hash_map</CODE>.
-<DT><A HREF="parallel_do/index.html">parallel_do</A>
-<DD>Examples using <CODE>parallel_do</CODE>.
-<DT><A HREF="parallel_for/index.html">parallel_for</A>
-<DD>Examples using <CODE>parallel_for</CODE>.
-<DT><A HREF="parallel_reduce/index.html">parallel_reduce</A>
-<DD>Examples using <CODE>parallel_reduce</CODE>.
-<DT><A HREF="parallel_while/index.html">parallel_while</A>
-<DD>Examples using <CODE>parallel_while</CODE>.
-<DT><A HREF="pipeline/index.html">pipeline</A>
-<DD>Examples using <CODE>pipeline</CODE>.
-<DT><A HREF="task/index.html">task</A>
-<DD>Examples using raw <CODE>task</CODE> interface.
-<DT><A HREF="test_all/index.html">test_all</A>
-<DD>Examples that test all the parts of the package.
-<DT><A HREF="common/index.html">common</A>
-<DD>Common files for building various examples. Not used directly.
-</DL>
-
-<A NAME=build><H2>To Build</H2></A>
-Build each example by using one of the following methods. The specific directions for each
-method can be found below.
-<UL>
-<LI>Build by using a <A HREF=#build_1>Microsoft* Visual Studio* project (Windows* systems only)</A>.
-<LI>Build by using a <A HREF=#build_2>Xcode* IDE project (Mac OS* X systems only)</A>.
-<LI>Build by using a <A HREF=#build_3>Makefile (Windows*, Linux* or Mac OS* X systems)</A>.
-</UL>
-
-<P>
-Some of the following directions refer to a shell window; this refers
-to the command prompt environment/window normally used on your system.
-A shell might be a cmd.exe command prompt window (Windows* systems), or a
-sh, bash, csh, ksh, etc. (or compatible) shell window (Windows*, Linux* or Mac OS* X systems).
-</P>
-
-<A NAME=build_1><H4>To build by using a Microsoft* Visual Studio* project (Windows* systems):</H4></A>
-Perform the following steps:
-<OL>
-<LI>Identify the solution (*.sln) file for the example you wish to build and run.
- <UL>
- <LI>For Microsoft* Visual Studio* .NET 2003, the *.sln file is in the example's vc7.1 sub-directory.
- <LI>For Microsoft* Visual Studio* 2005, the *.sln file is in the example's vc8 sub-directory.
- </UL>
-<LI>Open the project by using one of the following methods:
- <UL>
- <LI>Navigate to the *.sln file from My Computer, by using Windows Explorer, or by using another file browser.
- Double-click the *.sln file to invoke Microsoft* Visual Studio* and open the project.
- <LI>Invoke Microsoft* Visual Studio* from the Start menu and use the "Open Project" dialog to navigate to
- and open the project.
- </UL>
-<LI>Press <ctrl-F5> to build and run the example.
-</OL>
-
-<A NAME=build_2><H4>To build by using a Xcode* IDE project (Mac OS* X systems):</H4></A>
-Perform the following steps:
-<OL>
-<LI>Identify the project (*.xcodeproj) file for the example you wish to build and run.
- <UL>
- <LI>The *.xcodeproj file is in the example's xcode sub-directory.
- </UL>
-<LI>Open the project by using one of the following methods:
- <UL>
- <LI>Navigate to the *.xcodeproj file by using the Finder.
- Double-click the *.xcodeproj file to invoke the Xcode* IDE and open the project.
- <LI>Invoke the Xcode* IDE and use the "File ⇒ Open…" dialog to navigate to
- and open the project.
- </UL>
-<LI>Press <Apple-R>, or press the "Build and Go" button in the toolbox, to build and run the example.
-</OL>
-
-<A NAME=build_3><H4>To build by using a Makefile (Windows*, Linux* or Mac OS* X systems):</H4></A>
-Perform the following steps:
-<OL>
-<LI>Open a shell window. For Windows* systems, make sure this shell window has the proper environment
- defined for use with Microsoft* Visual Studio* (.NET 2003 or 2005); such a shell can be invoked
- from the Start menu, under Visual Studio, Visual Studio Tools, Visual Studio Command Prompt.
-<LI>Set up the environment in this shell window for use with Threading Building Blocks.
- <BR>See below for how to set up the environment for
- <A HREF=#env_1>Windows*</A>, <A HREF=#env_23>Linux*</A> or <A HREF=#env_23>Mac OS* X</A> systems.
-<LI>Unless you installed Threading Building Blocks yourself, you may not have write permissions
- to the directory containing the example. In this case, make a copy of the example, and use the copy
- for the following steps.
-<LI>In the shell window, navigate to the directory for the example
- (or to the directory for the copy of the example if you made one in the previous step).
-<LI>Use one or more of the following commands to build and run the example.
- Here, make refers to the make command normally used on your system: this could be
- nmake, gmake, or make on Windows* systems, or make or gmake on Linux* or Mac OS* X systems.
- <DL>
- <DT><TT>make</TT>
- <DD>Default build and run. Equivalent to 'make release test'.
- <DT><TT>make release</TT>
- <DD>Compile and link against the release version of the Threading Building Blocks library.
- The resulting executable is left in the directory for the example.
- <DT><TT>make debug</TT>
- <DD>Compile and link against the debug version of the Threading Building Blocks library.
- The resulting executable is left in the directory for the example.
- <DT><TT>make test</TT>
- <DD>Run an executable previously produced by one of the above commands.
- <DT><TT>make <B>[</B>(above options or targets)<B>]</B> CXX=<B>{</B>icl, icc<B>}</B></TT>
- <DD>Build and run as above, but use Intel® compilers instead of default, native compilers
- (e.g., icl instead of cl.exe on Windows* systems, or icc instead of g++ on Linux* or Mac OS* X systems).
- <DT><TT>make clean</TT>
- <DD>Remove any executables or intermediate files produced by the above commands.
- </DL>
-</OL>
-
-<A NAME=env_1><H4>To set up the environment (Windows* systems):</H4></A>
-It is <B>strongly</B> recommended that the environment be set up when installing Threading Building Blocks.
-Do this by selecting the appropriate check-box during the install. However, if the environment is not set up
-during installation, or you wish to build for an alternate architecture or Microsoft* Visual Studio* version,
-it may be set up, for a given type of shell window, by using one of the following commands:
-<DL>
-<DT>For cmd.exe (command prompt):
-<DD><TT><<I>installdir</I>>\{ia32,intel64}\{vc7.1,vc8}\bin\tbbvars.bat</TT>
-<DT>For sh, bash, ksh (or compatibles):
-<DD><TT>. <<I>installdir</I>>\{ia32,intel64}\{vc7.1,vc8}\bin\tbbvars.sh</TT>
-<DT>For csh (or compatibles):
-<DD><TT>source <<I>installdir</I>>\{ia32,intel64}\{vc7.1,vc8}\bin\tbbvars.csh</TT>
-<DT><I>Notes:</I>
-<DD><I><SL>
- <LI>Choose one of {ia32,intel64} depending on the architecture to be used.
- <LI>Choose one of {vc7.1,vc8} depending on whether Microsoft* Visual Studio* .NET 2003 or
- Microsoft* Visual Studio* 2005 is to be used.
- <LI>Environment setup need only be performed once per shell window to be used.
- <LI>Always source tbbvars.sh or tbbvars.csh rather than executing them directly.
- </SL></I>
-</DL>
-
-<A NAME=env_23><H4>To set up the environment (Linux* or Mac OS* X systems):</H4></A>
-The environment may be set up, for a given type of shell window, by using one of the following commands:
-<DL>
-<DT>For sh, bash, ksh (or compatibles):
-<DD>. <<I>installdir</I>>/bin/tbbvars.sh
-<DT>For csh (or compatibles):
-<DD>source <<I>installdir</I>>/tbbvars.csh
-<DT>For sh, bash, ksh (or compatibles), when using an alternate architecture or platform:
-<DD>. <<I>installdir</I>>/{ia32,intel64,ia64}/cc<<I>gccversion</I>>_libc<<I>libcversion</I>>_kernel<<I>kernelversion</I>>/bin/tbbvars.sh
-<DT>For csh (or compatibles), when using an alternate architecture or platform:
-<DD>source <<I>installdir</I>>/{ia32,intel64,ia64}/cc<<I>gccversion</I>>_libc<<I>libcversion</I>>_kernel<<I>kernelversion</I>>/bin/tbbvars.csh
-<DT><I>Notes:</I>
-<DD><I><SL>
- <LI>Choose one of {ia32,intel64,ia64} depending on the architecture to be used.
- <LI>Choose a cc<<I>gccversion</I>>_libc<<I>libcversion</I>>_kernel<<I>kernelversion</I>>
- value, from among the available platforms installed with Threading Building Blocks
- (for <A HREF=../ia32>ia32</A>, <A HREF=../intel64>intel64</A> or <A HREF=../ia64>ia64</A>),
- depending on the platform to be used.
- <LI>Environment setup need only be performed once per shell window to be used.
- <LI>Always source tbbvars.sh or tbbvars.csh rather than executing them directly.
- </SL></I>
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has examples of the template <code>parallel_do</code>.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="parallel_preorder/index.html">parallel_preorder</A>
-<DD>Parallel preorder traversal of a graph.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <cstdio>
-#include <cstdlib>
-#include "Graph.h"
-
-using namespace std;
-
-void Graph::create_random_dag( size_t number_of_nodes ) {
- my_vertex_set.resize(number_of_nodes);
- for( size_t k=0; k<number_of_nodes; ++k ) {
- Cell& c = my_vertex_set[k];
- int op = int((rand()>>8)%5u);
- if( op>int(k) ) op = int(k);
- switch( op ) {
- default:
- c.op = OP_VALUE;
- c.value = Cell::value_type((float)k);
- break;
- case 1:
- c.op = OP_NEGATE;
- break;
- case 2:
- c.op = OP_SUB;
- break;
- case 3:
- c.op = OP_ADD;
- break;
- case 4:
- c.op = OP_MUL;
- break;
- }
- for( int j=0; j<ArityOfOp[c.op]; ++j ) {
- Cell& input = my_vertex_set[rand()%k];
- c.input[j] = &input;
- }
- }
-}
-
-void Graph::print() {
- for( size_t k=0; k<my_vertex_set.size(); ++k ) {
- printf("Cell %d:",int(k));
- for( size_t j=0; j<my_vertex_set[k].successor.size(); ++j )
- printf(" %d",int(my_vertex_set[k].successor[j] - &my_vertex_set[0]));
- printf("\n");
- }
-}
-
-void Graph::get_root_set( vector<Cell*>& root_set ) {
- for( size_t k=0; k<my_vertex_set.size(); ++k ) {
- my_vertex_set[k].successor.clear();
- }
- root_set.clear();
- for( size_t k=0; k<my_vertex_set.size(); ++k ) {
- Cell& c = my_vertex_set[k];
- c.ref_count = ArityOfOp[c.op];
- for( int j=0; j<ArityOfOp[c.op]; ++j ) {
- c.input[j]->successor.push_back(&c);
- }
- if( ArityOfOp[c.op]==0 )
- root_set.push_back(&my_vertex_set[k]);
- }
-}
-
-void Cell::update() {
- switch( op ) {
- case OP_VALUE:
- break;
- case OP_NEGATE:
- value = -(input[0]->value);
- break;
- case OP_ADD:
- value = input[0]->value + input[1]->value;
- break;
- case OP_SUB:
- value = input[0]->value - input[1]->value;
- break;
- case OP_MUL:
- value = input[0]->value * input[1]->value;
- break;
- }
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "Matrix.h"
-#include "tbb/atomic.h"
-#include <vector>
-
-namespace TBB = tbb;
-
-enum OpKind {
- // Use Cell's value
- OP_VALUE,
- // Unary negation
- OP_NEGATE,
- // Addition
- OP_ADD,
- // Subtraction
- OP_SUB,
- // Multiplication
- OP_MUL
-};
-
-static const int ArityOfOp[] = {0,1,2,2,2};
-
-class Cell {
-public:
- //! Operation for this cell
- OpKind op;
-
- //! Inputs to this cell
- Cell* input[2];
-
- //! Type of value stored in a Cell
- typedef Matrix value_type;
-
- //! Value associated with this Cell
- value_type value;
-
- //! Set of cells that use this Cell as an input
- std::vector<Cell*> successor;
-
- //! Reference count of number of inputs that are not yet updated.
- TBB::atomic<int> ref_count;
-
- //! Update the Cell's value.
- void update();
-
- //! Default construtor
- Cell() {}
-};
-
-//! A directed graph where the vertices are Cells.
-class Graph {
- std::vector<Cell> my_vertex_set;
-public:
- //! Create a random acyclic directed graph
- void create_random_dag( size_t number_of_nodes );
-
- //! Print the graph
- void print();
-
- //! Get set of cells that have no inputs.
- void get_root_set( std::vector<Cell*>& root_set );
-};
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=parallel_preorder
-ARGS=1:4
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(PROG) *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Parallel_Preorder
-ARGS=1:4
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) *.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) *.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-class Matrix {
- static const int n = 10;
- float array[n][n];
-public:
- Matrix() {}
- Matrix( float z ) {
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- array[i][j] = i==j ? z : 0;
- }
- friend Matrix operator-( const Matrix& x ) {
- Matrix result;
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- result.array[i][j] = -x.array[i][j];
- return result;
- }
- friend Matrix operator+( const Matrix& x, const Matrix& y ) {
- Matrix result;
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- result.array[i][j] = x.array[i][j] + y.array[i][j];
- return result;
- }
- friend Matrix operator-( const Matrix& x, const Matrix& y ) {
- Matrix result;
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- result.array[i][j] = x.array[i][j] - y.array[i][j];
- return result;
- }
- friend Matrix operator*( const Matrix& x, const Matrix& y ) {
- Matrix result(0);
- for( int i=0; i<n; ++i )
- for( int k=0; k<n; ++k )
- for( int j=0; j<n; ++j )
- result.array[i][j] += x.array[i][k] * y.array[k][j];
- return result;
- }
-};
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Example that uses parallel_do to do parallel preorder traversal of a sparse graph.
-<P>
-Each vertex in the graph is called a "cell".
-Each cell has a value.
-The value is a matrix.
-Some of the cells have operators
-that compute the cell's value, using other cell's values as input.
-A cell that uses the value of cell x is called a successor of x.
-</P><P>
-The algorithm works as follows.
-<OL>
-<LI> Compute the set of cells that have no inputs. This set is called <TT>root_set</TT>.
-<LI> Each cell has an associated field <TT>ref_count</TT> that is an atomic integer.
- Initialize <TT>ref_count</TT> to the number of inputs for the Cell.
-<LI> Update each cell in <TT>root_set</TT>, by applying a <TT>parallel_do</TT> to a <TT>root_set</TT>
-<LI> After updating a cell, for each of its successors
-<OL>
-<LI> Atomically decrement the successor's <TT>ref_count</TT>
-<LI> If the count became zero, add the cell to the set of cells to be updated,
- by calling <TT>parallel_do_feeder_impl::add</TT>.
-</OL>
-</OL>
-</P><P>
-The times printed are for the traversal and update,
-and do not include time for computing the root_set.
-</P>
-<B>NOTE: </B>It is important to understand that this example is unlikely to show speedup
-if the cell values are changed to type "float". The reason is twofold.
-<UL>
-<LI> The smaller value type causes each Cell to be significantly smaller than a cache line,
- which leads to false sharing conflicts.
-<LI> The time to update the cells becomes very small, and consequently the overhead of
- parallel_do swamps the useful work.
-</UL>
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="parallel_preorder.cpp">parallel_preorder.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Graph.cpp">Graph.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Graph.h">Graph.h</A>
-<DD>Source code for example.
-<DT><A HREF="Matrix.h">Matrix.h</A>
-<DD>Source code for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>parallel_preorder [<I>M</I>[:<I>N</I>] [<I>Rounds</I> [<I>'pause'</I>]]]</TT>
-<DD><I>M</I> and <I>N</I> are a range of numbers of threads to be used.
-<DD><I>Rounds</I> is the number of rounds the example runs internally. Default value
- is 50; reduce it to shorten example run time.
-<DD>If 'pause' is specified, the application will wait for a user to hit return before it exits.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with the desired number of threads and smaller number of rounds, e.g., <TT>parallel_preorder 4 5</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/* Example program that shows how to use parallel_do to do parallel preorder
- traversal of a directed acyclic graph. */
-
-#include "tbb/parallel_do.h"
-#include "tbb/atomic.h"
-#include <vector>
-#include <algorithm>
-#include <cstring>
-#include <cstdio>
-#include "Graph.h"
-
-using namespace std;
-
-//! Number of trials. Can be changed from command line
-int ntrial = 50;
-
-class Body {
-public:
- Body() {};
-
- //------------------------------------------------------------------------
- // Following signatures are required by parallel_do
- //------------------------------------------------------------------------
- typedef Cell* argument_type;
-
- void operator()( Cell* c, tbb::parallel_do_feeder<Cell*>& feeder ) const {
- c->update();
- // Restore ref_count in preparation for subsequent traversal.
- c->ref_count = ArityOfOp[c->op];
- for( size_t k=0; k<c->successor.size(); ++k ) {
- Cell* successor = c->successor[k];
- if( 0 == --(successor->ref_count) ) {
- feeder.add( successor );
- }
- }
- }
-};
-
-void ParallelPreorderTraversal( const vector<Cell*>& root_set ) {
- tbb::parallel_do(root_set.begin(), root_set.end(),Body());
-}
-
-//------------------------------------------------------------------------
-// Test driver
-//------------------------------------------------------------------------
-
-#include <cctype>
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tick_count.h"
-
-//! A closed range of int.
-struct IntRange {
- int low;
- int high;
- void set_from_string( const char* s );
- IntRange( int low_, int high_ ) : low(low_), high(high_) {}
-};
-
-void IntRange::set_from_string( const char* s ) {
- char* end;
- high = low = strtol(s,&end,0);
- switch( *end ) {
- case ':':
- high = strtol(end+1,0,0);
- break;
- case '\0':
- break;
- default:
- printf("unexpected character = %c\n",*end);
- }
-}
-
-//! Number of threads to use.
-static IntRange NThread(1,4);
-
-//! If true, then at end wait for user to hit return
-static bool PauseFlag = false;
-
-//! Displays usage message
-void Usage(char * argv0) {
- fprintf(stderr, "Usage: %s [nthread [ntrials ['pause']]]\n", argv0);
- fprintf(stderr, "where nthread is a non-negative integer, or range of the form low:high [%d:%d]\n", NThread.low, NThread.high);
- fprintf(stderr, "ntrials is a positive integer. Default value is 50, reduce it (e.g. to 5) to shorten example run time\n");
- fprintf(stderr, "The application waits for user to hit return if 'pause' is specified\n");
-}
-
-//! Parse the command line.
-static void ParseCommandLine( int argc, char* argv[] ) {
- int i = 1;
- if( i<argc && !isdigit(argv[i][0]) ) {
- // Command line is garbled.
- Usage(argv[0]);
- exit(1);
- }
- if( i<argc )
- NThread.set_from_string(argv[i++]);
- if( i<argc && !isdigit(argv[i][0]) ) {
- // Command line is garbled.
- Usage(argv[0]);
- exit(1);
- }
- if (i<argc) {
- ntrial = strtol(argv[i++], 0, 0);
- }
- if (ntrial == 0) {
- // Command line is garbled.
- Usage(argv[0]);
- exit(1);
- }
- if (i<argc && strcmp( argv[i], "pause" )==0 ) {
- PauseFlag = true;
- }
-}
-
-int main( int argc, char* argv[] ) {
- ParseCommandLine(argc,argv);
-
- // Start scheduler with given number of threads.
- for( int p=NThread.low; p<=NThread.high; ++p ) {
- tbb::task_scheduler_init init(p);
- srand(2);
- tbb::tick_count::interval_t interval;
- size_t total_root_set_size = 0;
- for( int trial=0; trial<ntrial; ++trial ) {
- Graph g;
- g.create_random_dag(1000);
- vector<Cell*> root_set;
- g.get_root_set(root_set);
- total_root_set_size += root_set.size();
-
- tbb::tick_count t0 = tbb::tick_count::now();
- for( int i=0; i<10; ++i ) {
- ParallelPreorderTraversal(root_set);
- }
- tbb::tick_count t1 = tbb::tick_count::now();
-
- interval += t1-t0;
- }
- printf("%g seconds using %d threads (average of %g nodes in root_set)\n",interval.seconds(),p,(double)total_root_set_size/ntrial);
- }
-
- if (PauseFlag) {
- printf ("Press return key to exit");
- char c;
- int n = scanf("%c", &c);
- if( n!=1 ) {
- fprintf(stderr,"Fatal error: unexpected end of input\n");
- exit(1);
- }
- }
-
- return 0;
-}
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parallel_preorder", "parallel_preorder.vcproj", "{519446A2-AF27-429B-A5DF-625B8F034021}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {519446A2-AF27-429B-A5DF-625B8F034021}.Debug.ActiveCfg = Debug|Win32
- {519446A2-AF27-429B-A5DF-625B8F034021}.Debug.Build.0 = Debug|Win32
- {519446A2-AF27-429B-A5DF-625B8F034021}.Release.ActiveCfg = Release|Win32
- {519446A2-AF27-429B-A5DF-625B8F034021}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="parallel_preorder"
- ProjectGUID="{519446A2-AF27-429B-A5DF-625B8F034021}"
- RootNamespace="parallel_preorder"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\Graph.cpp">
- </File>
- <File
- RelativePath="..\parallel_preorder.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\Graph.h">
- </File>
- <File
- RelativePath="..\Matrix.h">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parallel_preorder", "parallel_preorder.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="parallel_preorder"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252B}"
- RootNamespace="parallel_preorder"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\Graph.cpp"
- >
- </File>
- <File
- RelativePath="..\parallel_preorder.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\Graph.h"
- >
- </File>
- <File
- RelativePath="..\Matrix.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parallel_preorder", "parallel_preorder.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="parallel_preorder"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252B}"
- RootNamespace="parallel_preorder"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\Graph.cpp"
- >
- </File>
- <File
- RelativePath="..\parallel_preorder.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\Graph.h"
- >
- </File>
- <File
- RelativePath="..\Matrix.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- 05593AAB0B8F55D500DE73AB /* parallel_preorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593AA70B8F55D500DE73AB /* parallel_preorder.cpp */; };
- 05593AA80B8F55D500DE73AB /* Graph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593AA40B8F55D500DE73AB /* Graph.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8DD76F6C0486A84900D96B5E /* parallel_preorder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = parallel_preorder; sourceTree = BUILT_PRODUCTS_DIR; };
- 05593AA70B8F55D500DE73AB /* parallel_preorder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = parallel_preorder.cpp; path = ../parallel_preorder.cpp; sourceTree = SOURCE_ROOT; };
- 05593AA40B8F55D500DE73AB /* Graph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Graph.cpp; path = ../Graph.cpp; sourceTree = SOURCE_ROOT; };
- 05593AA50B8F55D500DE73AB /* Graph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Graph.h; path = ../Graph.h; sourceTree = SOURCE_ROOT; };
- 05593AA60B8F55D500DE73AB /* Matrix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Matrix.h; path = ../Matrix.h; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* parallel_preorder */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = parallel_preorder;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- 05593AA70B8F55D500DE73AB /* parallel_preorder.cpp */,
- 05593AA40B8F55D500DE73AB /* Graph.cpp */,
- 05593AA50B8F55D500DE73AB /* Graph.h */,
- 05593AA60B8F55D500DE73AB /* Matrix.h */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* parallel_preorder */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* parallel_preorder */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "parallel_preorder" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = parallel_preorder;
- productInstallPath = "$(HOME)/bin";
- productName = parallel_preorder;
- productReference = 8DD76F6C0486A84900D96B5E /* parallel_preorder */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "parallel_preorder" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* parallel_preorder */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* parallel_preorder */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 05593AA80B8F55D500DE73AB /* Graph.cpp in Sources */,
- 05593AAB0B8F55D500DE73AB /* parallel_preorder.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "parallel_preorder" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "parallel_preorder" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=game_of_life
-ARGS=2:4 -t 5
-
-all: release test
-
-release: src/Evolution.cpp src/Update_state.cpp src/Game_of_life.cpp
- $(CXX) -O2 -DNDEBUG -D_CONSOLE $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: src/Evolution.cpp src/Update_state.cpp src/Game_of_life.cpp
- $(CXX) -O0 -D_CONSOLE -g -DTBB_DO_ASSERT $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- rm -f $(PROG) *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=game_of_life
-ARGS=2:4 -t 5
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) ./src/Evolution.cpp ./src/Game_of_life.cpp ./src/Update_state.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) ./src/Evolution.cpp ./src/Game_of_life.cpp ./src/Update_state.cpp /MDd /Od /Zi /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-The "Game of life" example demonstrates interoperability of TBB and .NET.
-<br>This program runs 2 simultaneous instances of the classic Conway's "Game of Life".
-One of these instances uses serial calculations to update the board. The other one calculates in parallel with TBB.
-The visualization is written in managed C++ and uses .NET CLR.
-
-<H2>Source Files</H2>
-<DL>
-<DT><A HREF="src/Form1.h">Form1.h</A>, <A HREF="src/Board.h">Board.h</A>
-<DD>Header files for GUI classes.
-<DT><A HREF="src/Evolution.h">Evolution.h</A>, <A HREF="src/Evolution.cpp">Evolution.cpp</A>
-<DD>Contain class hierarchy to implement game evolution in serial and parallel.
-<DT><A HREF="src/Update_state.cpp">Update_state.cpp </A>
-<DD>Implements 2 approaches for calculating steps in the program: with the use of SSE intrinsics, and ordinary C++ code.
-<DT><A HREF="src/Game_of_life.cpp">Game_of_life.cpp </A>
-<DD>Contains program entry point and other source not related to logical structure of the example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="src">src</A>
-<DD>Contains source files mentioned above.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-<P></P>
-
-<H2>Usage</H2>
-<DL>
-For Windows* systems, Microsoft* Visual Studio* projects are provided for each of the above versions.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-using namespace System;
-using namespace System::Reflection;
-using namespace System::Runtime::CompilerServices;
-using namespace System::Runtime::InteropServices;
-using namespace System::Security::Permissions;
-
-//
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly:AssemblyTitleAttribute("Automata")];
-[assembly:AssemblyDescriptionAttribute("")];
-[assembly:AssemblyConfigurationAttribute("")];
-[assembly:AssemblyCompanyAttribute("")];
-[assembly:AssemblyProductAttribute("Automata")];
-[assembly:AssemblyCopyrightAttribute("Copyright (c) 2007")];
-[assembly:AssemblyTrademarkAttribute("")];
-[assembly:AssemblyCultureAttribute("")];
-
-//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the value or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly:AssemblyVersionAttribute("1.0.*")];
-
-[assembly:ComVisible(false)];
-
-[assembly:CLSCompliantAttribute(true)];
-
-[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef __BOARD_H__
-#define __BOARD_H__
-
-#define WIN32_LEAN_AND_MEAN
-
-#ifndef _CONSOLE
-#include <windows.h>
-
-using namespace System;
-using namespace System::ComponentModel;
-using namespace System::Collections;
-using namespace System::Windows::Forms;
-using namespace System::Data;
-using namespace System::Drawing;
-#define LabelPtr Label^
-#define BoardPtr Board^
-#else
-#define LabelPtr int*
-#define BoardPtr Board*
-#endif
-
-struct Matrix
-{
- int width;
- int height;
- char* data;
-};
-
-#ifndef _CONSOLE
-public ref class Board : public System::Windows::Forms::UserControl
-#else
-class Board
-#endif
- {
- public:
- Board(int width, int height, int squareSize, LabelPtr counter);
- virtual ~Board();
- void seed(int s);
- void seed(const BoardPtr s);
-#ifndef _CONSOLE
- protected:
- virtual void OnPaint(PaintEventArgs^ e) override;
- void Board::draw(Graphics^ g);
-
- private:
- System::ComponentModel::Container ^components;
-
-#pragma region Windows Form Designer generated code
- void InitializeComponent(void)
- {
- this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
- }
-#pragma endregion
-
- private: delegate void drawDelegate(Int32);
- public:
- //! Called from the Evolution thread
- void draw( Int32 nCurIteration )
- {
- if (this->InvokeRequired)
- {
- drawDelegate^ d = gcnew drawDelegate(this, &Board::draw);
- IAsyncResult^ result = BeginInvoke(d, nCurIteration);
- EndInvoke(result);
- return;
- }
- m_counter->Text = nCurIteration.ToString();
- Invalidate();
- }
-#endif
- public:
- Matrix *m_matrix;
-
- private:
-#ifndef _CONSOLE
- SolidBrush^ m_occupiedBrush;
- SolidBrush^ m_freeBrush;
- Graphics^ m_graphics;
- Graphics^ m_mem_dc;
- Bitmap^ m_bmp;
-#endif
- int m_width;
- int m_height;
- int m_squareSize;
- LabelPtr m_counter;
- };
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- Evolution.cpp: implementation file for evolution classes; evolution
- classes do looped evolution of patterns in a defined
- 2 dimensional space
-*/
-
-#include "Evolution.h"
-#include "Board.h"
-
-#ifdef USE_SSE
-#define GRAIN_SIZE 14
-#else
-#define GRAIN_SIZE 4000
-#endif
-#define TIME_SLICE 330
-
-/*
- Evolution
-*/
-
-/**
- Evolution::UpdateMatrix() - moves the calculated destination data
- to the source data block. No destination zeroing is required since it will
- be completely overwritten during the next calculation cycle.
-**/
-void Evolution::UpdateMatrix()
-{
- memcpy(m_matrix->data, m_dest, m_size);
-}
-
-/*
- SequentialEvolution
-*/
-
-//! SequentialEvolution::Run - begins looped evolution
-#ifndef _CONSOLE
-void SequentialEvolution::Run()
-{
-#else
-void SequentialEvolution::Run(double execution_time, int nthread)
-{
- printf("Starting game (Sequential evolution)\n");
-#endif
-
- m_nIteration = 0;
- m_serial_time = 0;
- tbb::tick_count t0 = tbb::tick_count::now();
- while (!m_done)
- {
- if( !is_paused )
- {
- tbb::tick_count t = tbb::tick_count::now();
- Step();
- tbb::tick_count t1 = tbb::tick_count::now();
- ++m_nIteration;
- double work_time = (t1-t0).seconds();
-#ifndef _CONSOLE
- if ( work_time * 1000 < TIME_SLICE )
- continue;
- m_serial_time += work_time;
- m_board->draw(m_nIteration);
-#else
- m_serial_time += work_time;
-#endif
- }
- //! Let the parallel algorithm work uncontended almost the same time
- //! as the serial one. See ParallelEvolution::Run() as well.
-#ifndef _CONSOLE
- m_evt_start_parallel->Set();
- m_evt_start_serial->WaitOne();
- t0 = tbb::tick_count::now();
-#else
- t0 = tbb::tick_count::now();
- if(m_serial_time > execution_time)
- {
- printf("iterations count = %d time = %g\n", m_nIteration, m_serial_time);
- break;
- }
-#endif
- }
-}
-
-//! SequentialEvolution::Step() - override of step method
-void SequentialEvolution::Step()
-{
- if( !is_paused )
- {
-#ifdef USE_SSE
- UpdateState(m_matrix, m_matrix->data, 0, m_matrix->height);
-#else
- UpdateState(m_matrix, m_dest, 0, (m_matrix->width * m_matrix->height)-1);
- UpdateMatrix();
-#endif
- }
-}
-
-/*
- ParallelEvolution
-*/
-
-//! SequentialEvolution::Run - begins looped evolution
-#ifndef _CONSOLE
-void ParallelEvolution::Run()
-{
-#else
-void ParallelEvolution::Run(double execution_time, int nthread)
-{
- if(nthread == tbb::task_scheduler_init::automatic)
- printf("Starting game (Parallel evolution for automatic number of thread(s))\n");
- else
- printf("Starting game (Parallel evolution for %d thread(s))\n", nthread);
-#endif
-
- m_nIteration = 0;
- m_parallel_time = 0;
-
-#ifndef _CONSOLE
- //! start task scheduler as necessary
- if (m_pInit == NULL)
- {
- m_pInit = new tbb::task_scheduler_init();
- }
- m_evt_start_parallel->WaitOne();
-#else
- tbb::task_scheduler_init init(nthread);
-#endif
-
- double work_time = m_serial_time;
- tbb::tick_count t0 = tbb::tick_count::now();
-
- while (!m_done)
- {
- if( !is_paused )
- {
- tbb::tick_count t = tbb::tick_count::now();
- Step();
- tbb::tick_count t1 = tbb::tick_count::now();
- ++m_nIteration;
- double real_work_time = (t1-t0).seconds();
-#ifndef _CONSOLE
- if ( real_work_time < work_time )
- continue;
- m_parallel_time += real_work_time;
- m_board->draw(m_nIteration);
-#else
- m_parallel_time += real_work_time;
-#endif
- }
- //! Let the serial algorithm work the same time as the parallel one.
-#ifndef _CONSOLE
- m_evt_start_serial->Set();
- m_evt_start_parallel->WaitOne();
-
- work_time = m_serial_time - m_parallel_time;
- t0 = tbb::tick_count::now();
-#else
- t0 = tbb::tick_count::now();
- if(m_parallel_time > execution_time)
- {
- printf("iterations count = %d time = %g\n", m_nIteration, m_parallel_time);
- init.terminate();
- break;
- }
-#endif
- }
-}
-
-/**
- class tbb_parallel_task
-
- TBB requires a class for parallel loop implementations. The actual
- loop "chunks" are performed using the () operator of the class.
- The blocked_range contains the range to calculate. Please see the
- TBB documentation for more information.
-**/
-#ifndef _CONSOLE
-public class tbb_parallel_task
-#else
-class tbb_parallel_task
-#endif
-{
-public:
- static void set_values (Matrix* source, char* dest)
- {
- m_source = source;
- m_dest = dest;
- return;
- }
-
- void operator()( const tbb::blocked_range<size_t>& r ) const
- {
- int begin = (int)r.begin(); //! capture lower range number for this chunk
- int end = (int)r.end(); //! capture upper range number for this chunk
- UpdateState(m_source, m_dest, begin, end);
- }
-
- tbb_parallel_task () {}
-
-private:
- static Matrix* m_source;
- static char* m_dest;
-};
-
-Matrix* tbb_parallel_task::m_source;
-char* tbb_parallel_task::m_dest;
-
-//! ParallelEvolution::Step() - override of Step method
-void ParallelEvolution::Step()
-{
- size_t begin = 0; //! beginning cell position
-#ifdef USE_SSE
- size_t end = m_matrix->height; //! ending cell position
-#else
- size_t end = m_size-1; //! ending cell position
-#endif
-
- //! set matrix pointers
- tbb_parallel_task::set_values(m_matrix, m_dest);
-
- //! do calculation loop
- parallel_for (tbb::blocked_range<size_t> (begin, end, GRAIN_SIZE), tbb_parallel_task());
- UpdateMatrix();
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/**
- Evolution.h: Header file for evolution classes; evolution classes do
- looped evolution of patterns in a defined 2 dimensional space
-**/
-
-#ifndef __EVOLUTION_H__
-#define __EVOLUTION_H__
-
-#include "Board.h"
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#define WIN32_LEAN_AND_MEAN
-
-//! Threading Building Blocks includes
-#include "tbb/task_scheduler_init.h"
-#include "tbb/blocked_range.h"
-#include "tbb/parallel_for.h"
-#include "tbb/tick_count.h"
-
-#ifndef _CONSOLE
-#include <windows.h>
-using namespace System::Threading;
-#else
-typedef unsigned int Int32;
-#endif
-
-void UpdateState(Matrix * m_matrix, char * dest ,int begin, int end);
-
-/**
- class Evolution - base class for SequentialEvolution and ParallelEvolution
-**/
-#ifndef _CONSOLE
-public ref class Evolution abstract
-#else
-class Evolution
-#endif
-{
-public:
- Evolution( Matrix *m, //! beginning matrix including initial pattern
- BoardPtr board //! the board to update
- ) : m_matrix(m), m_board(board),
- m_size(m_matrix->height * m_matrix->width), m_done(false)
- {
- //! allocate memory for second matrix data block
- m_dest = new char[m_size];
- is_paused = false;
-#ifdef _CONSOLE
- m_serial_time = 0;
-#endif
- }
-
- virtual ~Evolution()
- {
- delete[] m_dest;
- }
-
- //! Run() - begins looped evolution
-#ifndef _CONSOLE
- virtual void Run() = 0;
-#else
- virtual void Run(double execution_time, int nthread) = 0;
-#endif
-
- //! Quit() - tell the thread to terminate
- virtual void Quit() { m_done = true; }
-
- //! Step() - performs a single evolutionary generation computation on the game matrix
- virtual void Step() = 0;
-
- //! SetPause() - change condition of variable is_paused
- virtual void SetPause(bool condition)
- {
- if ( condition == true )
- is_paused = true;
- else
- is_paused = false;
- }
-
-protected:
- /**
- UpdateMatrix() - moves the previous destination data to the source
- data block and zeros out destination.
- **/
- void UpdateMatrix();
-
-protected:
- Matrix* m_matrix; //! Pointer to initial matrix
- char* m_dest; //! Pointer to calculation destination data
- BoardPtr m_board; //! The game board to update
- int m_size; //! size of the matrix data block
- volatile bool m_done; //! a flag used to terminate the thread
- Int32 m_nIteration; //! current calculation cycle index
- volatile bool is_paused; //! is needed to perform next iteration
-
- //! Calculation time of the sequential version (since the start), seconds.
- /**
- This member is updated by the sequential version and read by parallel,
- so no synchronization is necessary.
- **/
-#ifndef _CONSOLE
- static volatile double m_serial_time = 0;
-
- static System::Threading::AutoResetEvent ^m_evt_start_serial = gcnew AutoResetEvent(false),
- ^m_evt_start_parallel = gcnew AutoResetEvent(false);
-#else
- double m_serial_time;
-#endif
-};
-
-/**
- class SequentialEvolution - derived from Evolution - calculate life generations serially
-**/
-#ifndef _CONSOLE
-public ref class SequentialEvolution: public Evolution
-#else
-class SequentialEvolution: public Evolution
-#endif
-{
-public:
- SequentialEvolution(Matrix *m, BoardPtr board)
- : Evolution(m, board)
- {}
-#ifndef _CONSOLE
- virtual void Run() override;
- virtual void Step() override;
-#else
- virtual void Run(double execution_time, int nthread);
- virtual void Step();
-#endif
-
-};
-
-/**
- class ParallelEvolution - derived from Evolution - calculate life generations
- in parallel using Intel's TBB package
-**/
-#ifndef _CONSOLE
-public ref class ParallelEvolution: public Evolution
-#else
-class ParallelEvolution: public Evolution
-#endif
-{
-public:
-
- ParallelEvolution(Matrix *m, BoardPtr board)
- : Evolution(m, board),
- m_parallel_time(0)
- {
- // instantiate a task_scheduler_init object and save a pointer to it
- m_pInit = NULL;
- }
-
- ~ParallelEvolution()
- {
- //! delete task_scheduler_init object
- if (m_pInit != NULL)
- delete m_pInit;
- }
-#ifndef _CONSOLE
- virtual void Run() override;
- virtual void Step() override;
-#else
- virtual void Run(double execution_time, int nthread);
- virtual void Step();
-#endif
-
-
-private:
- tbb::task_scheduler_init* m_pInit;
-
- double m_parallel_time;
-};
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef _CONSOLE
-#ifndef __FORM1_H__
-#define __FORM1_H__
-
-#include <time.h>
-#include "Board.h"
-#include "Evolution.h"
-
-#define BOARD_SQUARE_SIZE 2
-
- using namespace System;
- using namespace System::ComponentModel;
- using namespace System::Collections;
- using namespace System::Windows::Forms;
- using namespace System::Data;
- using namespace System::Drawing;
-
- public ref class Form1 : public System::Windows::Forms::Form
- {
- public:
- Form1(void)
- {
- InitializeComponent();
-
- FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
- ClientSize = System::Drawing::Size(1206, 600+m_ribbonHeight+menuStrip1->Height);
-
- int boardWidth = (ClientRectangle.Width/2-m_sepWidth/2)/BOARD_SQUARE_SIZE;
- int boardHeight = (ClientRectangle.Height-menuStrip1->Height-m_ribbonHeight)/BOARD_SQUARE_SIZE;
-
- m_board1 = gcnew Board(boardWidth, boardHeight, BOARD_SQUARE_SIZE, seqGen);
- m_board2 = gcnew Board(boardWidth, boardHeight, BOARD_SQUARE_SIZE, parGen);
-
- Controls->Add(m_board1);
- Controls->Add(m_board2);
-
- m_board1->Location = System::Drawing::Point(2, m_ribbonHeight + menuStrip1->Height);
- m_board2->Location = System::Drawing::Point(2 + boardWidth*BOARD_SQUARE_SIZE + m_sepWidth/2, m_ribbonHeight + menuStrip1->Height);
-
- m_seq = gcnew SequentialEvolution(m_board1->m_matrix, m_board1);
- m_par = gcnew ParallelEvolution(m_board2->m_matrix, m_board2);
-
- m_seqThread = gcnew Thread(gcnew ThreadStart(m_seq, &SequentialEvolution::Run));
- m_parThread = gcnew Thread(gcnew ThreadStart(m_par, &ParallelEvolution::Run));
-
- Thread::CurrentThread->Priority = ThreadPriority::AboveNormal;
-
- m_suspend = true;
- }
- protected:
- ~Form1()
- {
- if (components)
- {
- delete components;
- }
- }
- private: System::Windows::Forms::MenuStrip^ menuStrip1;
- private: System::Windows::Forms::ToolStripMenuItem^ fileToolStripMenuItem;
- private: System::Windows::Forms::ToolStripMenuItem^ exitToolStripMenuItem;
- private: System::Windows::Forms::ToolStripMenuItem^ gameToolStripMenuItem;
- private: System::Windows::Forms::ToolStripMenuItem^ seedToolStripMenuItem;
- private: System::Windows::Forms::ToolStripMenuItem^ runToolStripMenuItem;
- private: System::Windows::Forms::ToolStripMenuItem^ pauseToolStripMenuItem;
- private: Board^ m_board1;
- private: Board^ m_board2;
- private: System::Windows::Forms::Label^ Sequential;
- private: System::Windows::Forms::Label^ label1;
- private: static const int m_sepWidth = 5;
- private: static const int m_ribbonHeight = 26;
- private: SequentialEvolution^ m_seq;
- private: ParallelEvolution^ m_par;
- private: Thread^ m_seqThread;
- private: Thread^ m_parThread;
- private: System::Windows::Forms::Label^ seqGen;
- private: System::Windows::Forms::Label^ parGen;
- private: bool m_suspend;
-
- private:
- System::ComponentModel::Container ^components;
-
-#pragma region Windows Form Designer generated code
- void InitializeComponent(void)
- {
- this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());
- this->fileToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
- this->exitToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
- this->gameToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
- this->seedToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
- this->runToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
- this->pauseToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
- this->Sequential = (gcnew System::Windows::Forms::Label());
- this->label1 = (gcnew System::Windows::Forms::Label());
- this->seqGen = (gcnew System::Windows::Forms::Label());
- this->parGen = (gcnew System::Windows::Forms::Label());
- this->menuStrip1->SuspendLayout();
- this->SuspendLayout();
- //
- // menuStrip1
- //
- this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2)
- {this->fileToolStripMenuItem, this->gameToolStripMenuItem});
- this->menuStrip1->Location = System::Drawing::Point(0, 0);
- this->menuStrip1->Name = L"menuStrip1";
- this->menuStrip1->Padding = System::Windows::Forms::Padding(8, 2, 0, 2);
- this->menuStrip1->Size = System::Drawing::Size(1600, 26);
- this->menuStrip1->TabIndex = 0;
- this->menuStrip1->Text = L"menuStrip1";
- this->menuStrip1->ItemClicked += gcnew System::Windows::Forms::ToolStripItemClickedEventHandler(this, &Form1::menuStrip1_ItemClicked);
- //
- // fileToolStripMenuItem
- //
- this->fileToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(1) {this->exitToolStripMenuItem});
- this->fileToolStripMenuItem->Name = L"fileToolStripMenuItem";
- this->fileToolStripMenuItem->Size = System::Drawing::Size(40, 22);
- this->fileToolStripMenuItem->Text = L"File";
- //
- // exitToolStripMenuItem
- //
- this->exitToolStripMenuItem->Name = L"exitToolStripMenuItem";
- this->exitToolStripMenuItem->Size = System::Drawing::Size(99, 22);
- this->exitToolStripMenuItem->Text = L"Exit";
- this->exitToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::OnExit);
- //
- // gameToolStripMenuItem
- //
- this->gameToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(3) {this->seedToolStripMenuItem,
- this->runToolStripMenuItem, this->pauseToolStripMenuItem});
- this->gameToolStripMenuItem->Name = L"gameToolStripMenuItem";
- this->gameToolStripMenuItem->Size = System::Drawing::Size(59, 22);
- this->gameToolStripMenuItem->Text = L"Game";
- //
- // seedToolStripMenuItem
- //
- this->seedToolStripMenuItem->Name = L"seedToolStripMenuItem";
- this->seedToolStripMenuItem->Size = System::Drawing::Size(115, 22);
- this->seedToolStripMenuItem->Text = L"Seed";
- this->seedToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::OnSeed);
- //
- // runToolStripMenuItem
- //
- this->runToolStripMenuItem->Enabled = false;
- this->runToolStripMenuItem->Name = L"runToolStripMenuItem";
- this->runToolStripMenuItem->Size = System::Drawing::Size(115, 22);
- this->runToolStripMenuItem->Text = L"Run";
- this->runToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::OnRun);
- //
- // pauseToolStripMenuItem
- //
- this->pauseToolStripMenuItem->Enabled = false;
- this->pauseToolStripMenuItem->Name = L"pauseToolStripMenuItem";
- this->pauseToolStripMenuItem->Size = System::Drawing::Size(115, 22);
- this->pauseToolStripMenuItem->Text = L"Pause";
- this->pauseToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::OnPauseResume);
- //
- // Sequential
- //
- this->Sequential->AutoSize = true;
- this->Sequential->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
- static_cast<System::Byte>(0)));
- this->Sequential->Location = System::Drawing::Point(12, 32);
- this->Sequential->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);
- this->Sequential->Name = L"Sequential";
- this->Sequential->Size = System::Drawing::Size(239, 18);
- this->Sequential->TabIndex = 1;
- this->Sequential->Text = L"Sequential Algorithm generation:";
- //
- // label1
- //
- this->label1->AutoSize = true;
- this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
- static_cast<System::Byte>(0)));
- this->label1->Location = System::Drawing::Point(813, 32);
- this->label1->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);
- this->label1->Name = L"label1";
- this->label1->Size = System::Drawing::Size(219, 18);
- this->label1->TabIndex = 2;
- this->label1->Text = L"Parallel Algorithm generation: ";
- //
- // seqGen
- //
- this->seqGen->AutoSize = true;
- this->seqGen->Location = System::Drawing::Point(289, 35);
- this->seqGen->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);
- this->seqGen->Name = L"seqGen";
- this->seqGen->Size = System::Drawing::Size(16, 17);
- this->seqGen->TabIndex = 3;
- this->seqGen->Text = L"0";
- //
- // parGen
- //
- this->parGen->AutoSize = true;
- this->parGen->Location = System::Drawing::Point(1068, 35);
- this->parGen->Margin = System::Windows::Forms::Padding(4, 0, 4, 0);
- this->parGen->Name = L"parGen";
- this->parGen->Size = System::Drawing::Size(16, 17);
- this->parGen->TabIndex = 4;
- this->parGen->Text = L"0";
- //
- // Form1
- //
- this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);
- this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
- this->ClientSize = System::Drawing::Size(1600, 738);
- this->Controls->Add(this->parGen);
- this->Controls->Add(this->seqGen);
- this->Controls->Add(this->label1);
- this->Controls->Add(this->Sequential);
- this->Controls->Add(this->menuStrip1);
- this->MainMenuStrip = this->menuStrip1;
- this->Margin = System::Windows::Forms::Padding(4);
- this->MaximizeBox = false;
- this->Name = L"Form1";
- this->Text = L"Game of Life";
- this->menuStrip1->ResumeLayout(false);
- this->menuStrip1->PerformLayout();
- this->ResumeLayout(false);
- this->PerformLayout();
-
- }
-#pragma endregion
- protected:
- void CloseApp ()
- {
- m_seq->Quit();
- m_par->Quit();
- //! Perform a very ungracious exit, should coordinate the threads
- System::Environment::Exit(0);
- }
-
- protected:
- virtual void OnPaint(PaintEventArgs^ e) override
- {
- }
-
- virtual void OnFormClosing(FormClosingEventArgs^ e) override
- {
- CloseApp();
- }
-
- void OnExit(System::Object^ sender, System::EventArgs^ e)
- {
- CloseApp();
- }
-
- void OnSeed(System::Object^ sender, System::EventArgs^ e)
- {
- this->seedToolStripMenuItem->Enabled = false;
- this->runToolStripMenuItem->Enabled = true;
- time_t now = time(NULL);
- this->m_board1->seed((int)now);
- this->m_board2->seed(this->m_board1);
- this->Invalidate();
- }
-
- void OnRun(System::Object^ sender, System::EventArgs^ e)
- {
- this->runToolStripMenuItem->Enabled = false;
- this->pauseToolStripMenuItem->Enabled = true;
- m_seqThread->Start();
- m_parThread->Start();
- }
-
- void OnPauseResume(System::Object^ sender, System::EventArgs^ e)
- {
- if (m_suspend)
- {
- m_seq->SetPause(true);
- m_par->SetPause(true);
- this->pauseToolStripMenuItem->Text = L"Resume";
- }
- else
- {
- m_seq->SetPause(false);
- m_par->SetPause(false);
- this->pauseToolStripMenuItem->Text = L"Pause";
- }
- m_suspend = !m_suspend;
- }
-
- private:
- System::Void menuStrip1_ItemClicked(System::Object^ sender, System::Windows::Forms::ToolStripItemClickedEventArgs^ e)
- {}
-};
-#endif
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- Game_of_life.cpp :
- main project file.
-*/
-#include "Board.h"
-#include "Form1.h"
-
-#define WIN32_LEAN_AND_MEAN
-
-#ifndef _CONSOLE
-#include <windows.h>
-#else
-#include <iostream>
-#include <sstream>
-#include <time.h>
-#include "Evolution.h"
-
-#define BOARD_SQUARE_SIZE 2
-
-int low; //! lower range limit of threads
-int high; //! high range limit of threads
-double execution_time; //! time for game of life iterations
-#endif
-
-Board::Board(int width, int height, int squareSize, LabelPtr counter)
-: m_width(width), m_height(height), m_squareSize(squareSize), m_counter(counter)
-{
-#ifndef _CONSOLE
- InitializeComponent();
- DoubleBuffered = true;
-
- this->Width = m_squareSize*width;
- this->Height = m_squareSize*height;
-#endif
- m_matrix = new Matrix();
- m_matrix->width = width;
- m_matrix->height = height;
- m_matrix->data = new char[width*height];
- memset(m_matrix->data, 0, width*height);
-#ifndef _CONSOLE
- m_occupiedBrush = gcnew SolidBrush(Color::Black);
- m_freeBrush = gcnew SolidBrush(Color::LightGray);
-
- m_graphics = CreateGraphics();
- m_bmp = gcnew Bitmap(Width, Height);
- m_mem_dc = Graphics::FromImage(m_bmp);
-#endif
-}
-
-Board::~Board()
-{
-#ifndef _CONSOLE
- if (components)
- {
- delete components;
- }
-#endif
- delete[] m_matrix->data;
- delete m_matrix;
-}
-
-void Board::seed(int s)
-{
- srand(s);
- for (int j=0; j<m_height; j++)
- {
- for (int i=0; i<m_width; i++)
- {
- int x = rand()/(int)(((unsigned)RAND_MAX + 1) / 100);
- m_matrix->data[i+j*m_width] = x>75? 1: 0; // 25% occupied
- }
- }
-#ifndef _CONSOLE
- Invalidate();
-#endif
-}
-
-void Board::seed( const BoardPtr src )
-{
- memcpy(m_matrix->data, src->m_matrix->data, m_height*m_width);
-#ifndef _CONSOLE
- Invalidate();
-#endif
-}
-
-#ifndef _CONSOLE
-void Board::draw(Graphics^ g)
-{
- m_mem_dc->FillRectangle(m_freeBrush, Drawing::Rectangle(0, 0, m_width*m_squareSize, m_height*m_squareSize));
- for (int j=0; j<m_height; j++)
- {
- for (int i=0; i<m_width; i++)
- {
- if ( m_matrix->data[i+j*m_width] )
- {
- m_mem_dc->FillRectangle(m_occupiedBrush, Drawing::Rectangle(i*m_squareSize, j*m_squareSize, m_squareSize, m_squareSize));
- }
- }
- }
- g->DrawImage(m_bmp, 0, 0);
-}
-
-void Board::OnPaint(PaintEventArgs^ e)
-{
- draw(e->Graphics);
-}
-
-[STAThreadAttribute]
-int main(array<System::String ^> ^args)
-{
- // Enabling Windows XP visual effects before any controls are created
- Application::EnableVisualStyles();
- Application::SetCompatibleTextRenderingDefault(false);
-
- // Create the main window and run it
- Application::Run(gcnew Form1());
- return 0;
-}
-#else
-
-//! Print usage of this program
-void PrintUsage()
-{
- printf("Usage: gol [M[:N] -t execution_time]\nM and N are a range of numbers of threads to be used.\nexecution_time is a time (in sec) for execution game_of_life iterations\n");
- printf("Default values:\nM:\t\tautomatic\nN:\t\tM\nexecution_time:\t10\n");
-}
-
-//! Parse command line
-bool ParseCommandLine(int argc, char * argv [])
-{
- char* s = argv[1];
- char* end;
- //! command line without parameters
- if(argc == 1)
- {
- low = tbb::task_scheduler_init::automatic;
- high = low;
- execution_time = 5;
- return true;
- }
- //! command line with parameters
- if(argc != 4)
- {
- PrintUsage();
- return false;
- }
- if(std::string("-t") != argv[argc-2])
- //! process M[:N] parameter
- high = strtol(s,&end,0);
- low = strtol(s,&end,0);
- switch( *end )
- {
- case ':':
- high = strtol(end+1,0,0);
- break;
- case '\0':
- break;
- default:
- PrintUsage();
- return false;
- }
- if (high < low)
- {
- std::cout << "Set correct range. Current range: " << low << ":" << high << std::endl;
- PrintUsage();
- return false;
-
- }
- //! process execution_time parameter
- execution_time = strtol(argv[argc-1],&end,0);
- return true;
-}
-
-int main( int argc, char* argv[] )
-{
- if(!ParseCommandLine( argc, argv ))
- return 1;
- SequentialEvolution* m_seq;
- ParallelEvolution* m_par;
- Board* m_board1;
- Board* m_board2;
- int* count = NULL;
-
- int boardWidth = 300;
- int boardHeight = 300;
-
- m_board1 = new Board(boardWidth, boardHeight, BOARD_SQUARE_SIZE, count);
- m_board2 = new Board(boardWidth, boardHeight, BOARD_SQUARE_SIZE, count);
-
- time_t now = time(NULL);
- printf("Generate Game of life board\n");
- m_board1->seed((int)now);
- m_board2->seed(m_board1);
-
- m_seq = new SequentialEvolution(m_board1->m_matrix, m_board1);
- m_seq->Run(execution_time, 1);
- delete m_seq;
-
- m_par = new ParallelEvolution(m_board2->m_matrix, m_board2);
- for( int p = low; p <= high; ++p )
- {
- m_par->Run(execution_time, p);
- }
- delete m_par;
-
- delete m_board1;
- delete m_board2;
- return 0;
-}
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "Evolution.h"
-
-#ifdef USE_SSE
-/* Update states with SSE */
-
-#include <xmmintrin.h>
-#include <emmintrin.h>
-
-inline void create_record( char * src, unsigned * dst, unsigned width)
-{
- dst[0] |= src[width - 1];
- for( unsigned a=0; a<31u; ++a )
- dst[0] |= src[a]<<(a+1);
- unsigned a;
- for( a=31u; a<width; ++a )
- dst[(a+1)/32u] |= src[a]<<((a+1)%32u);
- dst[(a+1)/32u] |= src[0]<<((a+1)%32u);
-}
-
-inline void sum_offset( __m128i * X, __m128i * A, __m128i * B, __m128i * C,
- unsigned size_sse_ar, unsigned shift )
-{
- for(unsigned i=0; i<size_sse_ar; ++i)
- {
- __m128i tmp = _mm_and_si128(A[i],X[shift + i]);
- A[i]=_mm_xor_si128(A[i],X[shift + i]);
- C[i]=_mm_or_si128(C[i],_mm_and_si128(B[i],tmp));
- B[i]=_mm_xor_si128(B[i],tmp);
- }
-}
-
-inline void shift_left2D( __m128i * X, unsigned height, unsigned size_sse_row )
-{
- for( unsigned b=0; b<height; ++b )
- {
- unsigned ind = b*size_sse_row;
- unsigned x0 = X[ind].m128i_u32[0] & 1;
-
- X[ind] =_mm_or_si128( _mm_srli_epi16(X[ind],1),
- _mm_slli_epi16( _mm_srli_si128( X[ind], 2), 15) );
-
- unsigned x1 = X[ind + 1].m128i_u32[0] & 1;
- X[ind+1] =_mm_or_si128( _mm_srli_epi16( X[ind+1],1),
- _mm_slli_epi16( _mm_srli_si128( X[ind+1], 2), 15) );
- X[ind].m128i_u32[3] |= x1<<31;
-
- unsigned x2 = X[ind + 2].m128i_u32[0] & 1;
- X[ind+2] =_mm_or_si128( _mm_srli_epi16( X[ind+2],1),
- _mm_slli_epi16( _mm_srli_si128( X[ind+2], 2), 15) );
- X[ind+1].m128i_u32[3] |= x2<<31;
-
- unsigned* dst = (unsigned*)&X[ind];
- dst[301/32u] |= x0<<(301%32u);
- }
-}
-
-inline void shift_right2D( __m128i * X, unsigned height, unsigned size_sse_row )
-{
- for( unsigned b=0; b<height; ++b )
- {
- unsigned ind = b*size_sse_row;
-
- unsigned x0 = X[ind].m128i_u32[3]; x0>>=31;
- X[ind] =_mm_or_si128( _mm_slli_epi16(X[ind],1),
- _mm_srli_epi16( _mm_slli_si128( X[ind], 2), 15) );
-
- unsigned x1 = X[ind + 1].m128i_u32[3]; x1>>=31;
- X[ind + 1] =_mm_or_si128( _mm_slli_epi16(X[ind + 1],1),
- _mm_srli_epi16( _mm_slli_si128( X[ind + 1], 2), 15) );
- X[ind + 1].m128i_u32[0] |= x0;
-
- unsigned* dst = (unsigned*)&X[ind];
- unsigned x2 = dst[301/32u] & (1<<(301%32u)); x2>>=(301%32u);
- X[ind + 2] =_mm_or_si128( _mm_slli_epi16(X[ind + 2],1),
- _mm_srli_epi16( _mm_slli_si128( X[ind + 2], 2), 15) );
- X[ind + 2].m128i_u32[0] |= x1;
- X[ind].m128i_u32[0] |= x2;
- }
-}
-
-void UpdateState(Matrix * m_matrix, char * dest ,int begin, int end)
-{
- //300/128 + 1 =3, 3*300=900
- unsigned size_sse_row = m_matrix->width/128 + 1; //3
- unsigned size_sse_ar=size_sse_row * (end - begin);
- __m128i X[906], A[900], B[900], C[900];
- char * mas = m_matrix->data;
-
- for( unsigned i=0; i<size_sse_ar; ++i)
- {
- A[i].m128i_u32[0]=0;A[i].m128i_u32[1]=0;A[i].m128i_u32[2]=0;A[i].m128i_u32[3]=0;
- B[i].m128i_u32[0]=0;B[i].m128i_u32[1]=0;B[i].m128i_u32[2]=0;B[i].m128i_u32[3]=0;
- C[i].m128i_u32[0]=0;C[i].m128i_u32[1]=0;C[i].m128i_u32[2]=0;C[i].m128i_u32[3]=0;
- }
-
- for( unsigned i=0; i<size_sse_ar+6; ++i)
- {
- X[i].m128i_u32[0]=0;X[i].m128i_u32[1]=0;X[i].m128i_u32[2]=0;X[i].m128i_u32[3]=0;
- }
-
- // create X[] with bounds
- unsigned height = end - begin;
- unsigned width = m_matrix->width;
- for( unsigned b = 0 ; b < height; ++b )
- {
- char* src = &mas[(b + begin)*width];
- unsigned* dst = (unsigned*)&X[(b+1)*size_sse_row];
- create_record(src, dst, width);
- }
- // create high row in X[]
- char * src;
- if(begin == 0)
- {
- src = &mas[(m_matrix->height-1)*width];
- }
- else
- {
- src = &mas[(begin-1)*width];
- }
- unsigned* dst = (unsigned*)X;
- create_record(src, dst, width);
-
- //create lower row in X[]
- if(end == m_matrix->height )
- {
- src = mas;
- }
- else
- {
- src = &mas[end*width];
- }
- dst = (unsigned*)&X[(height+1)*size_sse_row];
- create_record(src, dst, width);
-
- //sum( C, B, A, X+offset_for_upwards ); high-left friend
- sum_offset(X,A,B,C,size_sse_ar, 0);
-
- //sum( C, B, A, X+offset_for_no_vertical_shift );
- sum_offset(X,A,B,C,size_sse_ar, size_sse_row);
-
- //sum( C, B, A, X+offset_for_downwards );
- sum_offset(X,A,B,C,size_sse_ar, 2*size_sse_row);
-
- //shift_left( X ); (when view 2D) in our logic it is in right
- height = end - begin + 2;
- shift_left2D( X, height, size_sse_row);
-
- //sum( C, B, A, X+offset_for_upwards ); high-left friend
- sum_offset(X,A,B,C,size_sse_ar, 0);
-
- //sum( C, B, A, X+offset_for_downwards );
- sum_offset(X,A,B,C,size_sse_ar, 2*size_sse_row);
-
- //shift_left( X ); (view in 2D) in our logic it is right shift
- height = end - begin + 2;
- shift_left2D( X, height, size_sse_row);
-
- //sum( C, B, A, X+offset_for_upwards ); high-right friend
- sum_offset(X,A,B,C,size_sse_ar, 0);
-
- //sum( C, B, A, X+offset_for_no_vertical_shift ); right friend
- sum_offset(X,A,B,C,size_sse_ar, size_sse_row);
-
- //sum( C, B, A, X+offset_for_downwards ); right down friend
- sum_offset(X,A,B,C,size_sse_ar, 2*size_sse_row);
-
- //shift_right( X ); (when view in 2D) in our case it left shift.
- height = end - begin + 2;
- shift_right2D( X, height, size_sse_row);
-
- //X = (X|A)&B&~C (done bitwise over the arrays)
- unsigned shift = size_sse_row;
- for(unsigned i=0; i<size_sse_ar; ++i)
- {
- C[i].m128i_u32[0] = ~C[i].m128i_u32[0];
- C[i].m128i_u32[1] = ~C[i].m128i_u32[1];
- C[i].m128i_u32[2] = ~C[i].m128i_u32[2];
- C[i].m128i_u32[3] = ~C[i].m128i_u32[3];
- X[shift + i] = _mm_and_si128(_mm_and_si128(_mm_or_si128(X[shift + i],
- A[i]),B[i]),C[i]);
- }
-
- height = end - begin;
- width=m_matrix->width;
- for( unsigned b=0; b<height; ++b )
- {
- char* dst = &dest[(b+begin)*width];
- unsigned* src = (unsigned*)&X[(b+1)*size_sse_row];
- for( unsigned a=0; a<width; ++a )
- {
- unsigned c = src[a/32u] & 1<<(a%32u);
- dst[a] = c>>(a%32u);
- }
- }
-}
-#else
-/* end SSE block */
-
-// ----------------------------------------------------------------------
-// GetAdjacentCellState() - returns the state (value) of the specified
-// adjacent cell of the current cell "cellNumber"
-char GetAdjacentCellState(
- char* source, // pointer to source data block
- int x, // logical width of field
- int y, // logical height of field
- int cellNumber, // number of cell position to examine
- int cp // which adjacent position
- )
-{
-/*
-cp
-*-- cp=1 ... --- cp=8 (summary: -1-2-3-
--x- -x- -4-x-5-
---- --* -6-7-8- )
-*/
- char cellState = 0; // return value
-
- // set up boundary flags to trigger field-wrap logic
- bool onTopRow = false;
- bool onBottomRow = false;
- bool onLeftColumn = false;
- bool onRightColumn = false;
-
- // check to see if cell is on top row
- if (cellNumber < x)
- {
- onTopRow = true;
- }
- // check to see if cell is on bottom row
- if ((x*y)-cellNumber <= x)
- {
- onBottomRow = true;
- }
- // check to see if cell is on left column
- if (cellNumber%x == 0)
- {
- onLeftColumn = true;
- }
- // check to see if cell is on right column
- if ((cellNumber+1)%x == 0)
- {
- onRightColumn = true;
- }
-
- switch (cp)
- {
- case 1:
- if (onTopRow && onLeftColumn)
- {
- return *(source+((x*y)-1));
- }
- if (onTopRow && !onLeftColumn)
- {
- return *(source+(((x*y)-x)+(cellNumber-1)));
- }
- if (onLeftColumn && !onTopRow)
- {
- return *(source+(cellNumber-1));
- }
- return *((source+cellNumber)-(x+1));
-
- case 2:
- if (onTopRow)
- {
- return *(source+(((x*y)-x)+cellNumber));
- }
- return *((source+cellNumber)-x);
-
- case 3:
- if (onTopRow && onRightColumn)
- {
- return *(source+((x*y)-x));
- }
- if (onTopRow && !onRightColumn)
- {
- return *(source+(((x*y)-x)+(cellNumber+1)));
- }
- if (onRightColumn && !onTopRow)
- {
- return *(source+((cellNumber-(x*2))+1));
- }
- return *(source+(cellNumber-(x-1)));
-
- case 4:
- if (onRightColumn)
- {
- return *(source+(cellNumber-(x-1)));
- }
- return *(source+(cellNumber+1));
-
- case 5:
- if (onBottomRow && onRightColumn)
- {
- return *source;
- }
- if (onBottomRow && !onRightColumn)
- {
- return *(source+((cellNumber-((x*y)-x))+1));
- }
- if (onRightColumn && !onBottomRow)
- {
- return *(source+(cellNumber+1));
- }
- return *(source+(((cellNumber+x))+1));
-
- case 6:
- if (onBottomRow)
- {
- return *(source+(cellNumber-((x*y)-x)));
- }
- return *(source+(cellNumber+x));
-
- case 7:
- if (onBottomRow && onLeftColumn)
- {
- return *(source+(x-1));
- }
- if (onBottomRow && !onLeftColumn)
- {
- return *(source+(cellNumber-((x*y)-x)-1));
- }
- if (onLeftColumn && !onBottomRow)
- {
- return *(source+(cellNumber+((x*2)-1)));
- }
- return *(source+(cellNumber+(x-1)));
-
- case 8:
- if (onLeftColumn)
- {
- return *(source+(cellNumber+(x-1)));
- }
- return *(source+(cellNumber-1));
- }
- return cellState;
-}
-
-char CheckCell(Matrix * m_matrix, int cellNumber)
-{
- char total = 0;
- char* source = m_matrix->data;
- //look around to find cell's with status "alive"
- for(int i=1; i<9; i++)
- {
- total += GetAdjacentCellState(source, m_matrix->width, m_matrix->height, cellNumber, i);
- }
- // if the number of adjacent live cells is < 2 or > 3, the result is a dead
- // cell regardless of its current state. (A live cell dies of loneliness if it
- // has less than 2 neighbors, and of overcrowding if it has more than 3; a new
- // cell is born in an empty spot only if it has exactly 3 neighbors.
- if (total < 2 || total > 3)
- {
- return 0;
- }
-
- // if we get here and the cell position holds a living cell, it stays alive
- if (*(source+cellNumber))
- {
- return 1;
- }
-
- // we have an empty position. If there are only 2 neighbors, the position stays
- // empty.
- if (total == 2)
- {
- return 0;
- }
-
- // we have an empty position and exactly 3 neighbors. A cell is born.
- return 1;
-}
-
-void UpdateState(Matrix * m_matrix, char * dest ,int begin, int end)
-{
- for (int i=begin; i<=end; i++)
- {
- *(dest+i) = CheckCell(m_matrix, i);
- }
-}
-
-#endif
-/* end non-SSE block */
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game of Life", "Game_of_life.vcproj", "{731C7E2E-2766-41D9-96FC-0A3548973803}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug(console)|Win32 = Debug(console)|Win32
- Debug(console)|x64 = Debug(console)|x64
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release(console)|Win32 = Release(console)|Win32
- Release(console)|x64 = Release(console)|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug(console)|Win32.ActiveCfg = Debug(console)|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug(console)|Win32.Build.0 = Debug(console)|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug(console)|x64.ActiveCfg = Debug(console)|x64
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug(console)|x64.Build.0 = Debug(console)|x64
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug|Win32.ActiveCfg = Debug|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug|Win32.Build.0 = Debug|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug|x64.ActiveCfg = Debug|x64
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Debug|x64.Build.0 = Debug|x64
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release(console)|Win32.ActiveCfg = Release(console)|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release(console)|Win32.Build.0 = Release(console)|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release(console)|x64.ActiveCfg = Release(console)|x64
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release(console)|x64.Build.0 = Release(console)|x64
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release|Win32.ActiveCfg = Release|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release|Win32.Build.0 = Release|Win32
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release|x64.ActiveCfg = Release|x64
- {731C7E2E-2766-41D9-96FC-0A3548973803}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="Game of Life"
- ProjectGUID="{731C7E2E-2766-41D9-96FC-0A3548973803}"
- RootNamespace="Game_of_life"
- Keyword="ManagedCProj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;USE_SSE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- GenerateXMLDocumentationFiles="false"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="false"
- AdditionalDependencies="tbb_debug.lib user32.lib $(NOINHERIT)"
- LinkIncremental="2"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib;"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- SubSystem="2"
- EntryPointSymbol="main"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- GenerateXMLDocumentationFiles="false"
- WarningLevel="2"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="false"
- AdditionalDependencies="tbb_debug.lib user32.lib $(NOINHERIT)"
- LinkIncremental="2"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- SubSystem="2"
- EntryPointSymbol="main"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-S -03
"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="false"
- AdditionalDependencies="tbb.lib user32.lib $(NOINHERIT)"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib;"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- EntryPointSymbol="main"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- ManagedExtensions="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-S -03
"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="false"
- AdditionalDependencies="tbb.lib user32.lib $(NOINHERIT)"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib;"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- EntryPointSymbol="main"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Debug(console)|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- ManagedExtensions="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description=""
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;USE_SSE"
- ExceptionHandling="1"
- RuntimeLibrary="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Debug(console)|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- ManagedExtensions="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description=""
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- ExceptionHandling="1"
- RuntimeLibrary="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release(console)|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- ManagedExtensions="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description=""
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;USE_SSE"
- RuntimeLibrary="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release(console)|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- ManagedExtensions="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description=""
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;USE_SSE"
- RuntimeLibrary="2"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- </Configurations>
- <References>
- <AssemblyReference
- RelativePath="System.dll"
- AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- />
- <AssemblyReference
- RelativePath="System.Data.dll"
- AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
- />
- <AssemblyReference
- RelativePath="System.Drawing.dll"
- AssemblyName="System.Drawing, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- />
- <AssemblyReference
- RelativePath="System.Windows.Forms.dll"
- AssemblyName="System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- />
- <AssemblyReference
- RelativePath="System.XML.dll"
- AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- />
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\src\AssemblyInfo.cpp"
- >
- <FileConfiguration
- Name="Debug(console)|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug(console)|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release(console)|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release(console)|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\Evolution.cpp"
- >
- </File>
- <File
- RelativePath="..\src\Game_of_life.cpp"
- >
- </File>
- <File
- RelativePath="..\src\Update_state.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\src\Board.h"
- >
- </File>
- <File
- RelativePath="..\src\Evolution.h"
- >
- </File>
- <File
- RelativePath="..\src\Form1.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\app.ico"
- >
- </File>
- <File
- RelativePath=".\app.rc"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon placed first or with lowest ID value becomes application icon
-
-LANGUAGE 9, 1
-#pragma code_page(1252)
-1 ICON "app.ico"
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
- "\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by app.rc
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game_of_life", "Game_of_life.vcproj", "{56035D17-379A-4C67-A113-6E82CCDDBA50}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug(console)|Win32 = Debug(console)|Win32
- Debug(console)|x64 = Debug(console)|x64
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release(console)|Win32 = Release(console)|Win32
- Release(console)|x64 = Release(console)|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug(console)|Win32.ActiveCfg = Debug(console)|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug(console)|Win32.Build.0 = Debug(console)|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug(console)|x64.ActiveCfg = Debug(console)|x64
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug(console)|x64.Build.0 = Debug(console)|x64
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug|Win32.ActiveCfg = Debug|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug|Win32.Build.0 = Debug|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug|x64.ActiveCfg = Debug|x64
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Debug|x64.Build.0 = Debug|x64
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release(console)|Win32.ActiveCfg = Release(console)|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release(console)|Win32.Build.0 = Release(console)|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release(console)|x64.ActiveCfg = Release(console)|x64
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release(console)|x64.Build.0 = Release(console)|x64
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release|Win32.ActiveCfg = Release|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release|Win32.Build.0 = Release|Win32
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release|x64.ActiveCfg = Release|x64
- {56035D17-379A-4C67-A113-6E82CCDDBA50}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="Game_of_life"
- ProjectGUID="{56035D17-379A-4C67-A113-6E82CCDDBA50}"
- RootNamespace="Game_of_life"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- ManagedExtensions="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;"
- MinimalRebuild="false"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="false"
- AdditionalDependencies="tbb_debug.lib user32.lib $(NOINHERIT)"
- LinkIncremental="2"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- SubSystem="2"
- EntryPointSymbol="main"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Debug(console)|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;USE_SSE"
- RuntimeLibrary="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release(console)|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;USE_SSE"
- RuntimeLibrary="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- FixedBaseAddress="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- ManagedExtensions="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG;"
- MinimalRebuild="false"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- IgnoreImportLibrary="false"
- AdditionalDependencies="tbb_debug.lib user32.lib $(NOINHERIT)"
- LinkIncremental="2"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- AssemblyDebug="1"
- SubSystem="2"
- EntryPointSymbol="main"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG;"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Debug(console)|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release(console)|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- FixedBaseAddress="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)"
"
- />
- </Configuration>
- </Configurations>
- <References>
- <AssemblyReference
- RelativePath="System.dll"
- AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- MinFrameworkVersion="131072"
- />
- <AssemblyReference
- RelativePath="System.Data.dll"
- AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
- MinFrameworkVersion="131072"
- />
- <AssemblyReference
- RelativePath="System.Drawing.dll"
- AssemblyName="System.Drawing, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- MinFrameworkVersion="131072"
- />
- <AssemblyReference
- RelativePath="System.Windows.Forms.dll"
- AssemblyName="System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- MinFrameworkVersion="131072"
- />
- <AssemblyReference
- RelativePath="System.XML.dll"
- AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
- MinFrameworkVersion="131072"
- />
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\src\AssemblyInfo.cpp"
- >
- <FileConfiguration
- Name="Debug(console)|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release(console)|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug(console)|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release(console)|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\Evolution.cpp"
- >
- </File>
- <File
- RelativePath="..\src\Game_of_life.cpp"
- >
- </File>
- <File
- RelativePath="..\src\Update_state.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\src\Board.h"
- >
- </File>
- <File
- RelativePath="..\src\Evolution.h"
- >
- </File>
- <File
- RelativePath="..\src\Form1.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\app.ico"
- >
- </File>
- <File
- RelativePath=".\app.rc"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon placed first or with lowest ID value becomes application icon
-
-LANGUAGE 9, 1
-#pragma code_page(1252)
-1 ICON "app.ico"
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
- "\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by app.rc
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has examples of the template <code>parallel_for</code>.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="seismic/index.html">seismic</A>
-<DD>Parallel seismic wave simulation.
-<DT><A HREF="tachyon/index.html">tachyon</A>
-<DD>Parallel 2-D raytracer/renderer.
-<DT><A HREF="polygon_overlay/index.html">polygon_overlay</A>
-<DD>Simple polygon overlay.
-<DT><A HREF="game_of_life.NET/index.html">game_of_life</A>
-<DD>Simple Game of life overlay.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-NAME=pover
-ARGS=
-
-# The C++ compiler
-#CXX=g++
-
-include ../../common/gui/Makefile.gmake
-
-ifeq ($(UI),x)
-CXXFLAGS += -DX_FULLSYNC # TODO: is this necessary? -DUSE_SCALABLE_ALLOC=0
-endif # X
-
-SRCFILES = ../../common/gui/$(UI)video.cpp pover_video.cpp polymain.cpp polyover.cpp
-
-all: release test
-
-resources:
-ifeq ($(UI),mac)
- mkdir -p $(APPRES)/English.lproj $(NAME).app/Contents/MacOS
- $(PBXCP) xcode/English.lproj/main.nib $(APPRES)/English.lproj
- $(PBXCP) xcode/Info.plist $(APPRES)
-endif
-
-release: $(SRCFILES) resources
- $(CXX) -O3 -DNDEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb -ltbbmalloc $(LIBS)
-
-debug: $(SRCFILES) resources
- $(CXX) -g -O0 -DTBB_USE_DEBUG -D_DEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb_debug -ltbbmalloc_debug $(LIBS)
-
-clean:
- $(RM) $(EXE) *.o *.d
-ifeq ($(UI),mac)
- rm -rf $(NAME).app
-endif
-
-test:
-ifeq ($(UI),mac)
- export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(ARGS)
-else
- ./$(EXE) $(ARGS)
-endif
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Pover
-ARGS=
-
-# The C++ compiler options
-CXX = cl.exe
-
-# Uncomment one of next lines to choose user interface type (console, gdiplus, direct draw)
-#UI = con
-UI = gdi
-#UI = dd
-
-# Machine architecture, auto-detected from TBB_ARCH_PLATFORM by default
-# Use XARCH variable to change it. See index.html for more information
-ARCH0 = $(TBB_ARCH_PLATFORM)-
-ARCHA = $(ARCH0:\vc7.1-=)
-ARCHB = $(ARCHA:\vc8-=)
-ARCHC = $(ARCHB:\vc9-=)
-ARCH3 = $(ARCHC:ia32=x86)
-ARCH4 = $(ARCH3:intel64=AMD64)
-XARCH = $(ARCH4:-=x86)
-
-MAKEINC = ../../common/gui/Makefile.win
-
-all: release test
-release:
- @$(MAKE) -f $(MAKEINC) UI=$(UI) CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib tbbmalloc.lib $(LIBS)" XARCH=$(XARCH) RCNAME=pover SOURCE=*.cpp EXE=$(PROG).exe build_one
-debug:
- @$(MAKE) -f $(MAKEINC) UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) /D TBB_USE_DEBUG" LFLAGS="$(LDFLAGS) tbb_debug.lib tbbmalloc_debug.lib $(LIBS)" XARCH=$(XARCH) RCNAME=pover SOURCE=*.cpp EXE=$(PROG).exe build_one
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest vc7.1\pover.res
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Polygon Overlay example that demonstrates the use of parallel_for.
-<P>
-This example is a simple implementation of polygon overlay, as described in
-<a href="http://citeseer.ist.psu.edu/cache/papers/cs/11981/ftp:zSzzSzftp.cs.vu.nlzSzpubzSzbalzSzcowichanzSzPolygonzSzreport.pdf/langendoen95parallelizing.pdf">
- <i>Parallelizing the Polygon Overlay Problem Using Orca</i>, by H.F. Langendoen</a>.
-</P>
-The solution was implemented in three forms:
-<UL>
- <LI>The naive serial solution.
- <LI>The naive parallel solution, by splitting list of polygons from one map and intersecting
- each sub-list against the entire list of polygons from the second map.
- <LI>A parallel solution where each map is split into submaps, with each resulting submap being
- intersected against the corresponding submap from the other map. This solution requires some
- redundancy (some polygons are members of more than one submap). To prevent multiple copies
- of a polygon from being placed in the solution map, if both polygons are duplicated (that is,
- if they both appear in more than one map), they are intersected but the result is not placed
- in the solution map.
-</UL>
-The only optimization in each solution is that the area of the generated sub-polygons are subtracted from
-the original area of one of the source polygons. When the remaining area is zero, the intersection process
-is halted.
-<P>
-<i>A word about the speedup of the submap case.</i> One may get superlinear speedup in this case (for instance a
-laptop with Intel® Core(TM) Duo processor got a speedup of about 20 percent over serial.) This results from two effects:
-</P>
-<UL>
- <LI>the number of threads used, and
- <LI>the fact that for each submap, the number of polygons is smaller than that for the other two cases.
-</UL>
-If there are, say, 400 polygons in each map, then on average the number of intersections calculated is
-approximately 80,000 (400 * 200, where 200 is the average number of polygons examined before stopping.)
-If the maps are split into 2 submaps, the time for each submap is about 200*100, or 20,000. So even
-comparing the two sets of submaps serially should result in a speedup somewhere around 2. This number
-is affected by the number of redundant polygons being compared; this effect would eventually swamp the gain
-from comparing smaller numbers of polygons per submap. And remember the submaps are created by intersecting each
-map with a rectangular polygon covering the submap being generated, which is additional work taking about N * O(400)
-in the case above, where N is the number of submaps generated, that can be done in parallel.
-<P>
-Running the default release pover while varying the number of submaps from 1 to 1000, the speedup on the submap
-case for a 2-processor system looks like<br>
-<img src="speedup.gif" alt="Table of speedup for the algorithm"><br>
-</P>
-<P>
-One further optimization would be to sort one map, say <b>map1</b>, by maxY, and sort the other map (<b>map2</b>)
-by minY. For <b>p1</b> in <b>map1</b>, start testing for intersection at the first <b>p2</b> in <b>map2</b>
-that intersected the last polygon tested in <b>map1</b>. This would speed up the intersection process greatly,
-but the optimization would apply to all the methods, and the sort would have to be accounted for in the timing.
-</P>
-<P>
-The source maps are generated pseudo-randomly in the manner described in the paper above. That is, if
-we need N polygons, then N "boxes" are chosen at random, then one-at-a-time the areas are expanded in
-one of fours directions until the area hits an adjacent polygon. When this process is finished, the
-resulting map is inspected and any remaining unoccupied "boxes" are made into additional polygons, as
-large as possible in each case. So the actual number of polygons in each map will in general be larger
-than the number of polygons requested (sometimes by 10% or more.)
-</P>
-<P>
-One limitation of the program is that if the number of polygons in the source map is greater than the number of
-"boxes" (pixels in the GUI case), the maps cannot be generated.
-</P>
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="polyover.cpp">polyover.cpp</A>
-<DD>Source code for main program.
-<DT><A HREF="polyover.h">polyover.h</A>
-<DD>Global variables, classes and enums.
-<DT><A HREF="pover_video.cpp">pover_video.cpp</A>
-<DD>Source code for the GUI interface.
-<DT><A HREF="pover_video.h">pover_video.h</A>
-<DD>Defines for the GUI version.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Mac OS* Xcode* workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF="../../index.html#build">here</A>. For the various UI options, see the <A HREF="../../common/index.html">common GUI code</A> build instructions.
-
-<P>
-For Windows* systems, Microsoft* Visual Studio* projects are provided for each of the above versions.
-</P>
-
-<H2>Usage</H2>
-Building via the above make commands, or via Visual Studio projects on Windows* systems, produces executable files
-named pover.exe. To run these executables directly, use one or more of the following commands.
-<DL>
-<DT><TT>pover.exe</TT>
-<DD>Run this version (release or debug).
-<DT><TT>pover.exe n:m</TT>
-<DD>Run this version (release or debug) (m-n+1) times, with n threads to m threads inclusive.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version with the GUI turned off
- (e.g., <TT>make UI=con debug</TT>; see also the build directions above).
- <BR>Run it with a small dataset, e.g., <TT>pover.exe --polys 10 --size 5x5</TT>.
-</DL>
-
-<H2>Notes</H2>
-<UL>
-<LI>While running with the GUI display should yield reasonable performance in most cases, <I>running with no GUI
- display is strongly recommended</I> in order to demonstrate the full performance and scalability of the example.
-<LI>If using the X-windows (X11) GUI on Mac OS* systems, X11 might not be installed on the system by default.
- To install X11 on Mac OS* systems, use the operating system install disk, choose "Optional installs" and select X11 from
- the "Applications" list. Alternatively, if X11 is not available, build without the GUI (see build targets above).
-</UL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Polygon overlay
-//
-// Don't want warnings about deprecated sscanf, getenv
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE
-#endif
-#define _MAIN_C_ 1
-#include <iostream>
-#include <iomanip>
-#include <algorithm>
-#include <cstring>
-
-#include "tbb/tick_count.h"
-#include "tbb/task_scheduler_init.h"
-#include "pover_global.h"
-#include "polyover.h"
-#include "pover_video.h"
-#include "polymain.h"
-
-using namespace std;
-
-#if _DEBUG
-const char *faceNames[] = { "North", "East", "South", "West" };
-#endif
-
-/**
-**/
-int main( int argc, char **argv) {
- pover_video poly;
- poly.threaded = true;
- gVideo = &poly;
-
- if(!initializeVideo(argc, argv)) {
- return 1;
- }
-
- gIsGraphicalVersion = poly.graphic_display();
- if(argc > 1) {
- if(!ParseCmdLine(argc, argv)) {
- if(gIsGraphicalVersion) rt_sleep(10000);
- // if graphical, we haven't opened the console window so all the error messages we
- // so carefully wrote out disappeared into the ether. :(
- exit(1);
- }
- }
-
- if(gCsvFilename != NULL) {
-#define BUFLEN 1000
- std::string fname_buf = gCsvFilename;
- fname_buf += ".csv";
- gCsvFile.open(fname_buf.c_str());
- }
-
- // we have gMapXSize and gMapYSize determining the number of "squares"
- // we have g_xwinsize and g_ywinsize the total size of the window
- // we also have BORDER_SIZE the size of the border between maps
- // we need to determine
- // g_polyBoxSize -- the number of pixels on each size of each square
-
- if(gIsGraphicalVersion) {
- int xpixelsPerMap = (g_xwinsize - 4*BORDER_SIZE) / 3; // three maps, with borders between and outside
- gMapXSize = xpixelsPerMap; // make the boxes one per pixel
- gPolyXBoxSize = xpixelsPerMap / gMapXSize;
- int ypixelsPerMap = (g_ywinsize - 2*BORDER_SIZE); // one map vertically
- gMapYSize = ypixelsPerMap; // one pixel per box, rather.
-
- gPolyYBoxSize = ypixelsPerMap / gMapYSize;
- if((gPolyXBoxSize == 0) || (gPolyYBoxSize == 0)) {
- cout << "The display window is not large enough to show the maps" << std::endl;
- int minxSize = 4*BORDER_SIZE + 3*gMapXSize;
- int minySize = 2*BORDER_SIZE + gMapYSize;
- cout << " Should be at least " << minxSize << " x " << minySize << "." << std::endl;
- return 1;
- }
- map2XLoc = 2*BORDER_SIZE + gMapXSize * gPolyXBoxSize;
- maprXLoc = 3*BORDER_SIZE + 2 * gMapXSize * gPolyXBoxSize;
-
- }
- else { // not gIsGraphicalVersion
- // gMapXSize, gMapYSize, gNPolygons defined in pover_global.h
- }
-
- // create two polygon maps
- SetRandomSeed(gMyRandomSeed); // for repeatability
-
- gVideo->main_loop();
-}
-
-void Usage(int argc, char **argv) {
- char *cmdTail = strrchr(*argv, '\\');
- if(cmdTail == NULL) {
- cmdTail = *argv;
- }
- else {
- cmdTail++;
- }
- cout << cmdTail << " [threads[:threads2]] [--polys npolys] [--size nnnxnnn] [--seed nnn]" << std::endl;
- cout << "Create polygon maps and overlay them." << std::endl << std::endl;
- cout << "Parameters:" << std::endl;
- cout << " threads[:threads2] - number of threads to run" << std::endl;
- cout << " --polys npolys - number of polygons in each map" << std::endl;
- cout << " --size nnnxnnn - size of each map (X x Y)" << std::endl;
- cout << " --seed nnn - initial value of random number generator" << std::endl;
- cout << " --csv filename - write timing data to CSV-format file" << std::endl;
- cout << " --grainsize n - set grainsize to n" << std::endl;
- cout << " --use_malloc - allocate polygons with malloc instead of scalable allocator" << std::endl;
- cout << std::endl;
- cout << "npolys must be smaller than the size of the map" << std::endl;
- cout << std::endl;
- exit(1);
-}
-
-bool ParseCmdLine(int argc, char **argv ) {
- bool error_found = false;
- bool nPolysSpecified = false;
- bool nMapSizeSpecified = false;
- bool nSeedSpecified = false;
- bool csvSpecified = false;
- bool grainsizeSpecified = false;
- bool mallocSpecified = false;
- int origArgc = argc;
- char** origArgv = argv;
- unsigned int newnPolygons = gNPolygons;
- unsigned int newSeed = gMyRandomSeed;
- unsigned int newX = gMapXSize;
- unsigned int newY = gMapYSize;
- unsigned int newGrainSize = gGrainSize;
- argc--; argv++;
- if(argc > 0 && isdigit((*argv)[0])) {
- // first argument is one or two numbers, specifying how mny threads to run
- char* end; gThreadsHigh = gThreadsLow = (int)strtol(argv[0],&end,0);
- switch( *end) {
- case ':': gThreadsHigh = (int)strtol(end+1,0,0); break;
- case '\0': break;
- default: cout << "Unexpected character in thread specifier: " << *end << std::endl; break;
- }
- if(gThreadsLow > gThreadsHigh) {
- int t = gThreadsLow;
- gThreadsLow = gThreadsHigh;
- gThreadsHigh = t;
- }
- argv++; argc--;
- }
- while(argc > 0) {
- // format 1: --size nnnxnnn, where nnn in {0 .. 9}+ -- size of map in "squares"
- if(!strncmp("--size", *argv, (size_t)6)) {
- if(nMapSizeSpecified) {
- cout << " Error: map size multiply specified" << std::endl;
- error_found = true;
- }
- else {
- argv++; argc--;
- if(argc == 0) {
- error_found = true;
- cout << " Error: --size must have a value" << std::endl;
- }
- if(strchr(*argv, 'x') != strrchr(*argv,'x')) {
- // more than one 'x'
- cout << "Error: map size should be nnnxnnn (" << *argv << ")" << std::endl;
- error_found = true;
- }
- else {
- int rval;
- rval = sscanf(*argv, "%ux%u", &newX, &newY);
- if(rval != 2) {
- cout << "Error parsing map size (format should be nnnxnnn (" << *argv << ")" << std::endl;
- error_found = true;
- }
- if(newX == 0 || newY == 0) {
- cout << "Error: size of map should be greater than 0 (" << *argv << ")" << std::endl;
- error_found = true;
- }
- }
- }
- argc--; argv++;
- }
- // format 2: --seed nnn -- initial random number seed
- else if(!strncmp("--seed", *argv, (size_t)6)) {
- argv++; argc--;
- if(nSeedSpecified) {
- cout << "Error: new seed multiply specified" << std::endl;
- error_found = true;
- }
- else {
- nSeedSpecified = true;
- int rtval = sscanf(*argv, "%u", &newSeed);
- if(rtval == 0) {
- cout << "Error: --seed should be an unsigned number (instead of " << *argv << ")" << std::endl;
- error_found = true;
- }
- }
- argv++; argc--;
- }
- // format 3: --polys n[n] -- number of polygons in each map
- else if(!strncmp("--polys", *argv, (size_t)7)) {
- //unsigned int newnPolygons;
- argv++; argc--;
- if(nPolysSpecified) {
- cout << "Error: number of polygons multiply-specified" << std::endl;
- error_found = true;
- }else {
- int rtval = sscanf(*argv, "%u", &newnPolygons);
- if(newnPolygons == 0) {
- cout << "Error: number of polygons must be greater than 0 (" << *argv << ")" << std::endl;
- }
- }
- argv++; argc--;
- }
- // format 4: --csv <fileroot> -- name of CSV output file ("xxx" for "xxx.csv")
- else if(!strncmp("--csv", *argv, (size_t)5)) {
- argv++; argc--;
- if(csvSpecified) {
- cout << "Error: Multiple specification of CSV file" << std::endl;
- error_found = true;
- }
- else {
- gCsvFilename = *argv;
- argv++; argc--;
- csvSpecified = true;
- }
- }
- else if(!strncmp("--grainsize", *argv, (size_t)11)) {
- argv++; argc--;
- if(grainsizeSpecified) {
- cout << "Error: Multiple specification of grainsize" << std::endl;
- error_found = true;
- }
- else {
- int grval = sscanf(*argv, "%u", &newGrainSize);
- grainsizeSpecified = true;
- if(newGrainSize == 0) {
- cout << "Error: grainsize must be greater than 0" << std::endl;
- error_found = true;
- }
- }
- argv++; argc--;
- }
- else if(!strncmp("--use_malloc", *argv, (size_t)12)) {
- argv++; argc--;
- if(mallocSpecified) {
- cout << "Error: --use_malloc multiply-specified" << std::endl;
- error_found = true;
- }
- else {
- mallocSpecified = true;
- gMBehavior = UseMalloc;
- }
- }
- else {
- cout << "Error: unrecognized argument: " << *argv << std::endl;
- error_found = true;
- argv++; argc--;
- }
- }
- if(!error_found) {
- if(newX * newY < newnPolygons) {
- error_found = true;
- cout << "Error: map size should not be smaller than the number of polygons (gNPolygons = " << newnPolygons << ", map size " << newX << "x" << newY << ")" << std::endl;
- }
- }
- if(!error_found) {
- gMapXSize = newX;
- gMapYSize = newY;
- gNPolygons = newnPolygons;
- gMyRandomSeed = newSeed;
- gGrainSize = (int)newGrainSize;
- }
- else {
- Usage(origArgc, origArgv);
- }
- return !error_found;
-}
-
-// create a polygon map with at least gNPolygons polygons.
-// Usually more than gNPolygons polygons will be generated, because the
-// process of growing the polygons results in holes.
-bool GenerateMap(Polygon_map_t **newMap, int xSize, int ySize, int gNPolygons, colorcomp_t maxR, colorcomp_t maxG, colorcomp_t maxB) {
- bool error_found = false;
- int *validPolys;
- int *validSide;
- int maxSides;
- RPolygon *newPoly;
-
- if(xSize <= 0) {
- cout << "xSize (" << xSize << ") should be > 0." << std::endl;
- error_found = true;
- }
- if(ySize <= 0) {
- cout << "ySize (" << ySize << ") should be > 0." << std::endl;
- error_found = true;
- }
- if(gNPolygons > (xSize * ySize)) {
- cout << "gNPolygons (" << gNPolygons << ") should be less than " << (xSize * ySize) << std::endl;
- error_found = true;
- }
- if(error_found) return false;
- // the whole map is [xSize x ySize] squares
- // the way we create the map is to
- // 1) pick nPolygon discrete squares on an [xSize x ySize] grid
- // 2) while there are unused squares on the grid
- // 3) pick a polygon with a side that has unused squares on a side
- // 4) expand the polygon by 1 to occupy the unused squares
- //
- // Continue until every square on the grid is occupied by a polygon
- int *tempMap;
- tempMap = (int *)malloc(xSize * ySize * sizeof(int));
- for(int i=0;i < xSize; i++) {
- for(int j=0;j < ySize; j++) {
- tempMap[i*ySize + j] = 0;
- }
- }
-
- // *newMap = new vector<RPolygon>;
- *newMap = new Polygon_map_t;
- (*newMap)->reserve(gNPolygons + 1); // how much bigger does this need to be on average?
- newPoly = RPolygon::alloc_RPolygon(0,0,xSize-1, ySize-1);
- (*newMap)->push_back(newPoly);
- for(int i=0; i < gNPolygons; i++) {
- int nX;
- int nY;
- do { // look for an empty square.
- nX = NextRan(xSize);
- nY = NextRan(ySize);
- } while(tempMap[nX * ySize + nY] != 0);
- int nR = (maxR * NextRan(1000)) / 999;
- int nG = (maxG * NextRan(1000)) / 999;
- int nB = (maxB * NextRan(1000)) / 999;
- newPoly = RPolygon::alloc_RPolygon(nX,nY,nX,nY,nR,nG,nB);
- (*newMap)->push_back(newPoly);
- tempMap[nX * ySize + nY] = i+1; // index of this polygon + 1
- }
- // now have to grow polygons to fill the space.
- validPolys = (int *)malloc(4*gNPolygons * sizeof(int));
- validSide = (int *)malloc(4*gNPolygons * sizeof(int));
- for(int i=0;i<gNPolygons;i++) {
- validPolys[4*i] = validPolys[4*i + 1] = validPolys[4*i + 2] = validPolys[4*i + 3] = i + 1;
- validSide[4*i] = NORTH_SIDE;
- validSide[4*i+1] = EAST_SIDE;
- validSide[4*i+2] = SOUTH_SIDE;
- validSide[4*i+3] = WEST_SIDE;
- }
- maxSides = 4*gNPolygons;
- while(maxSides > 0) {
- int indx = NextRan(maxSides);
- int polyIndx = validPolys[indx];
- int checkSide = validSide[indx];
- int xlow, xhigh, ylow, yhigh;
- int xlnew, xhnew, ylnew, yhnew;
- (**newMap)[polyIndx]->get(&xlow,&ylow,&xhigh,&yhigh);
- xlnew = xlow;
- xhnew = xhigh;
- ylnew = ylow;
- yhnew = yhigh;
- // can this polygon be expanded along the chosen side?
- switch(checkSide) {
- case NORTH_SIDE:
- // y-1 from xlow to xhigh
- ylow = yhigh = (ylow - 1);
- ylnew--;
- break;
- case EAST_SIDE:
- // x+1 from ylow to yhigh
- xlow = xhigh = (xhigh + 1);
- xhnew++;
- break;
- case SOUTH_SIDE:
- // y+1 from xlow to xhigh
- ylow = yhigh = (yhigh+1);
- yhnew++;
- break;
- case WEST_SIDE:
- // x-1 from ylow to yhigh
- xlow = xhigh = (xlow - 1);
- xlnew--;
- break;
- }
- bool okay_to_extend = !(((xlow < 0) || (xlow >= xSize)) || ((ylow < 0) || (ylow >= ySize)));
- for(int ii = xlow; (ii <= xhigh) && okay_to_extend; ii++) {
- for(int jj=ylow; (jj <= yhigh) && okay_to_extend; jj++) {
- okay_to_extend = tempMap[ii*ySize + jj] == 0;
- }
- }
- if(okay_to_extend) {
- (**newMap)[polyIndx]->set(xlnew,ylnew,xhnew,yhnew);
- for(int ii = xlow; ii <= xhigh; ii++) {
- for(int jj=ylow; jj <= yhigh && okay_to_extend; jj++) {
- tempMap[ii*ySize + jj] = polyIndx;
- }
- }
- }
- else {
- // once we cannot expand along a side, we will never be able to; remove from the list.
- for(int i=indx + 1; i < maxSides; i++) {
- validPolys[i-1] = validPolys[i];
- validSide[i-1] = validSide[i];
- }
- maxSides--;
- }
- }
-
- // Once no polygons can be grown, look for unused squares, and fill them with polygons.
- for(int j=0;j<ySize;j++) {
- for(int i=0;i<xSize;i++) {
- if(tempMap[i*ySize+j] == 0) {
- // try to grow in the x direction, then the y direction
- int ilen = i;
- int jlen = j;
- while(ilen < (xSize - 1) && tempMap[(ilen+1)*ySize + jlen] == 0) {
- ilen++;
- }
- bool yok = true;
- while(yok && jlen < (ySize - 1)) {
- for(int ii = i; ii <= ilen && yok; ii++) {
- yok = (tempMap[ii*ySize + jlen + 1] == 0);
- }
- if(yok) {
- jlen++;
- }
- }
-
- // create new polygon and push it on our list.
- int nR = (maxR * NextRan(1000)) / 999;
- int nG = (maxG * NextRan(1000)) / 999;
- int nB = (maxB * NextRan(1000)) / 999;
- newPoly = RPolygon::alloc_RPolygon(i,j,ilen,jlen,nR,nG,nB);
- (*newMap)->push_back(newPoly);
- gNPolygons++;
- for(int ii=i; ii<=ilen;ii++) {
- for(int jj=j;jj<=jlen;jj++) {
- tempMap[ii*ySize + jj] = gNPolygons;
- }
- }
- }
- }
- }
-
-#if _DEBUG
- if(!gIsGraphicalVersion) {
- cout << std::endl << "Final Map:" << std::endl;
- for(int j=0; j < ySize; j++ ) {
- cout << "Row " << setw(2) << j << ":";
- for(int i=0;i<xSize;i++) {
- int it = tempMap[i*ySize + j];
- if(it<10) {
- cout << setw(2) << it;
- }
- else {
- char ct = (int)'a' + it - 10;
- cout << " " << ct;
- }
- }
- cout << std::endl;
- }
- }
-#endif // _DEBUG
- free(tempMap);
- free(validPolys);
- free(validSide);
- return true;
-}
-
-void CheckPolygonMap(Polygon_map_t *checkMap) {
-#define indx(i,j) (i*gMapYSize + j)
-#define rangeCheck(str,n,limit) if(((n)<0)||((n)>=limit)) {cout << "checkMap error: " << str << " out of range (" << n << ")" << std::endl;anError=true;}
-#define xRangeCheck(str,n) rangeCheck(str,n,gMapXSize)
-#define yRangeCheck(str,n) rangeCheck(str,n,gMapYSize)
- // The first polygon is the whole map.
- bool anError = false;
- int *cArray;
- if(checkMap->size() <= 0) {
- cout << "checkMap error: no polygons in map" << std::endl;
- return;
- }
- // mapXhigh and mapYhigh are inclusive, that is, if the map is 5x5, those values would be 4.
- int mapXhigh, mapYhigh, mapLowX, mapLowY;
- int gMapXSize, gMapYSize;
- checkMap->at(0)->get(&mapLowX, &mapLowY, &mapXhigh, &mapYhigh);
- if((mapLowX !=0) || (mapLowY != 0)) {
- cout << "checkMap error: map origin not (0,0) (X=" << mapLowX << ", Y=" << mapLowY << ")" << std::endl;
- anError = true;
- }
- if((mapXhigh < 0) || (mapYhigh < 0)) {
- cout << "checkMap error: no area in map (X=" << mapXhigh << ", Y=" << mapYhigh << ")" << std::endl;
- anError = true;
- }
- if(anError) return;
- // bounds for array.
- gMapXSize = mapXhigh + 1;
- gMapYSize = mapYhigh + 1;
- cArray = (int *)malloc(sizeof(int)*(gMapXSize*gMapYSize));
-
- for(int i=0; i<gMapXSize; i++) {
- for(int j=0; j< gMapYSize; j++) {
- cArray[indx(i,j)] = 0;
- }
- }
-
- int xlow, xhigh, ylow, yhigh;
- for(int p=1; p < int(checkMap->size()) && !anError; p++) {
- checkMap->at(p)->get(&xlow, &ylow, &xhigh, &yhigh);
- xRangeCheck("xlow", xlow);
- yRangeCheck("ylow", ylow);
- xRangeCheck("xhigh", xhigh);
- yRangeCheck("yhigh", yhigh);
- if(xlow>xhigh) {
- cout << "checkMap error: xlow > xhigh (" << xlow << "," << xhigh << ")" << std::endl;
- anError = true;
- }
- if(ylow>yhigh) {
- cout << "checkMap error: ylow > yhigh (" << ylow << "," << yhigh << ")" << std::endl;
- anError = true;
- }
- for(int ii = xlow; ii <= xhigh; ii++) {
- for(int jj = ylow; jj <= yhigh; jj++) {
- if(cArray[indx(ii,jj)] != 0) {
- cout << "checkMap error: polygons " << cArray[indx(ii,jj)] << " and " << p << " intersect" << std::endl;
- anError = true;
- }
- cArray[indx(ii,jj)] = p;
- }
- }
- }
- for(int ii=0; ii < gMapXSize; ii++) {
- for(int jj=0; jj < gMapYSize; jj++) {
- if(cArray[indx(ii,jj)] == 0) {
- cout << "checkMap error: block(" << ii << ", " << jj << ") not in any polygon" << std::endl;
- anError = true;
- }
- }
- }
- free(cArray);
-}
-
-bool CompOnePolygon(RPolygon *p1, RPolygon *p2) {
- int xl1, xh1, yl1, yh1;
- int xl2, xh2, yl2, yh2;
- p1->get(&xl1, &yl1, &xh1, &yh1);
- p2->get(&xl2, &yl2, &xh2, &yh2);
- if(yl1>yl2) return true;
- if(yl1<yl2) return false;
- return (xl1 > xl2);
-}
-
-bool PolygonsEqual(RPolygon *p1, RPolygon *p2) {
- int xl1, xh1, yl1, yh1;
- int xl2, xh2, yl2, yh2;
- p1->get(&xl1, &yl1, &xh1, &yh1);
- p2->get(&xl2, &yl2, &xh2, &yh2);
- return ((xl1 == xl2) && (yl1==yl2) && (xh1 == xh2) && (yh1 == yh2));
-}
-
-bool ComparePolygonMaps(Polygon_map_t *map1, Polygon_map_t *map2) {
- // create two new polygon maps, copy the pointers from the original to these.
- // we have to skip the first polygon, which is the size of the whole map
- Polygon_map_t *t1, *t2;
- bool is_ok = true;
- t1 = new Polygon_map_t;
- t1->reserve(map1->size());
- for(unsigned int i=1;i<map1->size(); i++) {
- t1->push_back(map1->at(i));
- }
- t2 = new Polygon_map_t;
- t2->reserve(map2->size());
- for(unsigned int i=1;i<map2->size();i++) {
- t2->push_back(map2->at(i));
- }
- // sort the two created maps by (xlow, ylow)
- sort(t1->begin(), t1->end(), CompOnePolygon);
- sort(t2->begin(), t2->end(), CompOnePolygon);
- // compare each element of both maps.
- if(t1->size() != t2->size()) {
- cout << "Error: maps not the same size ( " << int(t1->size()) << " vs " << int(t2->size()) << ")." << std::endl;
- }
- int maxSize = (int)((t1->size() < t2->size()) ? t1->size() : t2->size());
- for(int i=0; i < maxSize; i++) {
- if(!PolygonsEqual(t1->at(i), t2->at(i))) {
- cout << "Error: polygons unequal (" << *(t1->at(i)) << " vs " << (*t2->at(i)) << std::endl;
- is_ok = false;
- }
- }
- delete t1;
- delete t2;
- return is_ok;
-}
-
-void SetRandomSeed(int newSeed) {
- srand((unsigned)newSeed);
-}
-
-int NextRan(int n) {
- // assert(n > 1);
- // if we are given 1, we will just return 0
- //assert(n < RAND_MAX);
- int rrand = rand() << 15 | rand();
- if(rrand < 0) rrand = -rrand;
- return rrand % n;
-}
-
-std::ostream& operator<<(std::ostream& s, const RPolygon &p) {
- int xl, yl, xh, yh;
- p.get(&xl, &yl, &xh, &yh);
- return s << "[(" << xl << "," << yl << ")-(" << xh << "," << yh << ")] ";
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "pover_global.h" // for declaration of DEFINE and INIT
-
-DEFINE Polygon_map_t *gPolymap1 INIT(0);
-DEFINE Polygon_map_t *gPolymap2 INIT(0);
-DEFINE Polygon_map_t *gResultMap INIT(0);
-
-extern void Usage(int argc, char **argv);
-
-extern bool ParseCmdLine(int argc, char **argv );
-
-extern bool GenerateMap(Polygon_map_t **newMap, int xSize, int ySize, int gNPolygons, colorcomp_t maxR, colorcomp_t maxG, colorcomp_t maxB);
-
-extern bool PolygonsOverlap(RPolygon *p1, RPolygon *p2, int &xl, int &yl, int &xh, int &yh);
-
-extern void CheckPolygonMap(Polygon_map_t *checkMap);
-
-extern bool CompOnePolygon(RPolygon *p1, RPolygon *p2);
-
-extern bool PolygonsEqual(RPolygon *p1, RPolygon *p2);
-
-extern bool ComparePolygonMaps(Polygon_map_t *map1, Polygon_map_t *map2);
-
-extern void SetRandomSeed(int newSeed);
-
-extern int NextRan(int n);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Polygon overlay
-//
-#include <iostream>
-#include <algorithm>
-#include <string.h>
-#include <cstdlib>
-#include <assert.h>
-#include "tbb/tick_count.h"
-#include "tbb/blocked_range.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/parallel_for.h"
-#include "tbb/mutex.h"
-#include "tbb/spin_mutex.h"
-#include "polyover.h"
-#include "polymain.h"
-#include "pover_video.h"
-
-using namespace std;
-
-/*!
-* @brief intersects a polygon with a map, adding any results to output map
-*
-* @param[out] resultMap output map (must be allocated)
-* @param[in] polygon to be intersected
-* @param[in] map intersected against
-* @param[in] lock to use when adding output polygons to result map
-*
-*/
-void OverlayOnePolygonWithMap(Polygon_map_t *resultMap, RPolygon *myPoly, Polygon_map_t *map2, tbb::spin_mutex *rMutex) {
- int r1, g1, b1, r2, g2, b2;
- int myr=0;
- int myg=0;
- int myb=0;
- int p1Area = myPoly->area();
- for(unsigned int j=1; (j < map2->size()) && (p1Area > 0); j++) {
- RPolygon *p2 = (*map2)[j];
- RPolygon *pnew;
- int newxMin, newxMax, newyMin, newyMax;
- myPoly->getColor(&r1, &g1, &b1);
- if(PolygonsOverlap(myPoly, p2, newxMin, newyMin, newxMax, newyMax)) {
- p2->getColor(&r2, &g2, &b2);
- myr = r1 + r2;
- myg = g1 + g2;
- myb = b1 + b2;
- pnew = RPolygon::alloc_RPolygon(newxMin, newyMin, newxMax, newyMax, myr, myg, myb);
- p1Area -= pnew->area(); // when all the area of the polygon is accounted for, we can quit.
- if(rMutex) {
- tbb::spin_mutex::scoped_lock lock(*rMutex);
-#if _DEBUG
- pnew->print(int(resultMap->size()));
-#endif
- resultMap->push_back(pnew);
- }
- else {
-#ifdef _DEBUG
- pnew->print(int(resultMap->size()));
-#endif
- resultMap->push_back(pnew);
- }
- }
- }
-}
-
-/*!
-* @brief Serial version of polygon overlay
-* @param[out] output map
-* @param[in] first map (map that individual polygons are taken from)
-* @param[in] second map (map passed to OverlayOnePolygonWithMap)
-*/
-void SerialOverlayMaps(Polygon_map_t **resultMap, Polygon_map_t *map1, Polygon_map_t *map2) {
- cout << "SerialOverlayMaps called" << std::endl;
- *resultMap = new Polygon_map_t;
-
- RPolygon *p0 = (*map1)[0];
- int mapxSize, mapySize, ignore1, ignore2;
- p0->get(&ignore1, &ignore2, &mapxSize, &mapySize);
- (*resultMap)->reserve(mapxSize*mapySize); // can't be any bigger than this
- // push the map size as the first polygon,
- p0 = RPolygon::alloc_RPolygon(0,0,mapxSize, mapySize);
- (*resultMap)->push_back(p0);
- for(unsigned int i=1; i < map1->size(); i++) {
- RPolygon *p1 = (*map1)[i];
- OverlayOnePolygonWithMap(*resultMap, p1, map2, NULL);
- }
-}
-
-/*!
-* @class ApplyOverlay
-* @brief Simple version of parallel overlay (make parallel on polygons in map1)
-*/
-class ApplyOverlay {
- Polygon_map_t *m_map1, *m_map2, *m_resultMap;
- tbb::spin_mutex *m_rMutex;
-public:
- /*!
- * @brief functor to apply
- * @param[in] r range of polygons to intersect from map1
- */
- void operator()( const tbb::blocked_range<int> & r) const {
- PRINT_DEBUG("From " << r.begin() << " to " << r.end());
- for(int i=r.begin(); i != r.end(); i++) {
- RPolygon *myPoly = (*m_map1)[i];
- OverlayOnePolygonWithMap(m_resultMap, myPoly, m_map2, m_rMutex);
- }
- }
- ApplyOverlay(Polygon_map_t *resultMap, Polygon_map_t *map1, Polygon_map_t *map2, tbb::spin_mutex *rmutex) :
- m_resultMap(resultMap), m_map1(map1), m_map2(map2), m_rMutex(rmutex) {}
-};
-
-/*!
-* @brief apply the parallel algorithm
-* @param[out] result_map generated map
-* @param[in] polymap1 first map to be applied (algorithm is parallel on this map)
-* @param[in] polymap2 second map.
-*/
-void NaiveParallelOverlay(Polygon_map_t *&result_map, Polygon_map_t &polymap1, Polygon_map_t &polymap2) {
-// -----------------------------------
- bool automatic_threadcount = false;
-
- if(gThreadsLow == THREADS_UNSET || gThreadsLow == tbb::task_scheduler_init::automatic) {
- gThreadsLow = gThreadsHigh = tbb::task_scheduler_init::automatic;
- automatic_threadcount = true;
- }
- result_map = new Polygon_map_t;
-
- RPolygon *p0 = polymap1[0];
- int mapxSize, mapySize, ignore1, ignore2;
- p0->get(&ignore1, &ignore2, &mapxSize, &mapySize);
- result_map->reserve(mapxSize*mapySize); // can't be any bigger than this
- // push the map size as the first polygon,
- tbb::spin_mutex *resultMutex = new tbb::spin_mutex();
- int grain_size = gGrainSize;
-
- for(int nthreads = gThreadsLow; nthreads <= gThreadsHigh; nthreads++) {
- tbb::task_scheduler_init init(nthreads);
- if(gIsGraphicalVersion) {
- RPolygon *xp = RPolygon::alloc_RPolygon(0, 0, gMapXSize-1, gMapYSize-1, 0, 0, 0); // Clear the output space
- RPolygon::free_RPolygon( xp );
- }
- // put size polygon in result map
- p0 = RPolygon::alloc_RPolygon(0,0,mapxSize, mapySize);
- result_map->push_back(p0);
-
- tbb::tick_count t0 = tbb::tick_count::now();
- tbb::parallel_for (tbb::blocked_range<int>(1,(int)(polymap1.size()),grain_size), ApplyOverlay(result_map, &polymap1, &polymap2, resultMutex));
- tbb::tick_count t1 = tbb::tick_count::now();
-
- double naiveParallelTime = (t1-t0).seconds() * 1000;
- cout << "Naive parallel with spin lock and ";
- if(automatic_threadcount) cout << "automatic";
- else cout << nthreads;
- cout << ((nthreads == 1) ? " thread" : " threads");
- cout << " took " << naiveParallelTime << " msec : speedup over serial " << (gSerialTime / naiveParallelTime) << std::endl;
- if(gCsvFile.is_open()) {
- gCsvFile << "," << naiveParallelTime;
- }
-#if _DEBUG
- CheckPolygonMap(result_map);
- ComparePolygonMaps(result_map, gResultMap);
-#endif
- for(int i=0; i<int(result_map->size());i++) {
- RPolygon::free_RPolygon(result_map->at(i));
- }
- result_map->clear();
- }
- delete resultMutex;
- if(gCsvFile.is_open()) {
- gCsvFile << std::endl;
- }
-// -----------------------------------
-}
-
-/*!
-* @class ApplySplitOverlay
-* @brief parallel by columnar strip
-*/
-
-class ApplySplitOverlay {
- Polygon_map_t *m_map1, *m_map2, *m_resultMap;
- tbb::spin_mutex *m_rMutex;
-public:
- /*!
- * @brief functor for columnar parallel version
- * @param[in] r range of map to be operated on
- */
- void operator()(const tbb::blocked_range<int> & r) const {
-#ifdef _DEBUG
- // if we are debugging, serialize the method. That way we can
- // see what is happening in each strip without the interleaving
- // confusing things.
- tbb::spin_mutex::scoped_lock lock(*m_rMutex);
- cout << unitbuf << "From " << r.begin() << " to " << r.end()-1 << std::endl;
-#endif
- // instead of handing out subsets of polygons from map1 to intersect
- // with the polygons in map2, we are handed a strip of the map from
- // [(r.begin(),0)-(r.end()-1,yMapSize)].
- //
- // make a polygon with those values, and intersect with all the polygons
- // in map1 and map2, creating flagged polygon lists fmap1 and fmap2.
- // There are four possiblities:
- //
- // 1) a polygon is contained entirely within the strip. We just
- // add the polygon to our flagged map.
- // 2) the polygon will be partly contained in our strip, and partly
- // in the strip to our right (higher x values). Add the polygon
- // to our flagged map.
- // 3) the polygon is partly contained in our map, and partly in the
- // strip to our left. Add the polygon to our map, but flag it as
- // a duplicate.
- // 4) the polygons do not intersect. Don't add to flagged map.
- //
-
- // get yMapSize
- int r1, g1, b1, r2, g2, b2;
- int myr=-1;
- int myg=-1;
- int myb=-1;
- int i1, i2, i3, yMapSize;
- m_map1->at(0)->get(&i1, &i2, &i3, &yMapSize);
- RPolygon *slicePolygon = RPolygon::alloc_RPolygon(r.begin(), 0, r.end() - 1, yMapSize);
-
- Flagged_map_t *fmap1, *fmap2;
- fmap1 = new std::vector<RPolygon_flagged>;
- fmap1->reserve(m_map1->size());
- fmap2 = new Flagged_map_t;
- fmap2->reserve(m_map2->size());
-
- PRINT_DEBUG(std::endl << "Map1 -------------------");
- for(unsigned int i=1; i<m_map1->size(); i++) {
- int xl, yl, xh, yh;
- RPolygon *px = m_map1->at(i);
- if(PolygonsOverlap(slicePolygon, px, xl, yl, xh, yh)) {
- bool is_duplicate = false;
- int pxl, pyl, pxh, pyh;
- int indx = (int)(fmap1->size());
- fmap1->resize(indx+1);
- fmap1->at(indx).setp(px);
- px->get(&pxl, &pyl, &pxh, &pyh);
- if(pxl < xl) {
- is_duplicate = true;
- }
- //fmap1->at(indx).setp(px);
- fmap1->at(indx).setDuplicate(is_duplicate);
- PRINT_DEBUG(" Polygon " << *px << " is in map, is_duplicate=" << is_duplicate);
-
- }
- }
-
- PRINT_DEBUG(std::endl << "Map2 -------------------");
-
- for(unsigned int i=1; i<m_map2->size(); i++) {
- int xl, yl, xh, yh;
- RPolygon *px = m_map2->at(i);
-
- if(PolygonsOverlap(slicePolygon, px, xl, yl, xh, yh)) {
- bool is_duplicate = false;
- int pxl, pyl, pxh, pyh;
- int indx = (int)(fmap2->size());
- fmap2->resize(indx+1);
- fmap2->at(indx).setp(px);
- px->get(&pxl, &pyl, &pxh, &pyh);
- if(pxl < xl) {
- is_duplicate = true;
- }
- fmap2->at(indx).setDuplicate(is_duplicate);
- PRINT_DEBUG(" Polygon " << *px << " is in map, is_duplicate=" << is_duplicate);
- }
- }
-
- // When intersecting polygons from fmap1 and fmap2, if BOTH are flagged
- // as duplicate, don't add the result to the output map. We can still
- // intersect them, because we are keeping track of how much of the polygon
- // is left over from intersecting, and quitting when the polygon is
- // used up.
-
- for(unsigned int ii=0; ii < fmap1->size(); ii++) {
- RPolygon *p1 = fmap1->at(ii).p();
- bool is_dup = fmap1->at(ii).isDuplicate();
- int parea = p1->area();
- p1->getColor(&r1, &g1, &b1);
- for(unsigned int jj=0;(jj < fmap2->size()) && (parea > 0); jj++) {
- int xl, yl, xh, yh;
- RPolygon *p2 = fmap2->at(jj).p();
- if(PolygonsOverlap(p1, p2, xl, yl, xh, yh)) {
- if(!(is_dup && fmap2->at(jj).isDuplicate())) {
- p2->getColor(&r2, &g2, &b2);
- myr = r1 + r2;
- myg = g1 + g2;
- myb = b1 + b2;
- RPolygon *pnew = RPolygon::alloc_RPolygon(xl, yl, xh, yh, myr, myg, myb);
-#ifdef _DEBUG
-#else
- tbb::spin_mutex::scoped_lock lock(*m_rMutex);
-#endif
- (*m_resultMap).push_back(pnew);
- }
- parea -= (xh-xl+1)*(yh-yl+1);
- }
- }
- }
-
- delete fmap1;
- delete fmap2;
- RPolygon::free_RPolygon( slicePolygon );
- }
-
- ApplySplitOverlay(Polygon_map_t *resultMap, Polygon_map_t *map1, Polygon_map_t *map2, tbb::spin_mutex *rmutex) :
- m_resultMap(resultMap), m_map1(map1), m_map2(map2), m_rMutex(rmutex) {}
-};
-
-
-/*!
-* @brief intersects two maps strip-wise
-*
-* @param[out] resultMap output map (must be allocated)
-* @param[in] polymap1 map to be intersected
-* @param[in] polymap2 map to be intersected
-*/
-void SplitParallelOverlay(Polygon_map_t **result_map, Polygon_map_t *polymap1, Polygon_map_t *polymap2) {
- int nthreads;
- bool automatic_threadcount = false;
- double domainSplitParallelTime;
- tbb::tick_count t0, t1;
- tbb::spin_mutex *resultMutex;
- if(gThreadsLow == THREADS_UNSET || gThreadsLow == tbb::task_scheduler_init::automatic ) {
- gThreadsLow = gThreadsHigh = tbb::task_scheduler_init::automatic;
- automatic_threadcount = true;
- }
- *result_map = new Polygon_map_t;
-
- RPolygon *p0 = (*polymap1)[0];
- int mapxSize, mapySize, ignore1, ignore2;
- p0->get(&ignore1, &ignore2, &mapxSize, &mapySize);
- (*result_map)->reserve(mapxSize*mapySize); // can't be any bigger than this
- resultMutex = new tbb::spin_mutex();
-
- int grain_size;
-#ifdef _DEBUG
- grain_size = gMapXSize / 4;
-#else
- grain_size = gGrainSize;
-#endif
-
- for(nthreads = gThreadsLow; nthreads <= gThreadsHigh; nthreads++) {
- tbb::task_scheduler_init init(nthreads);
- if(gIsGraphicalVersion) {
- RPolygon *xp = RPolygon::alloc_RPolygon(0, 0, gMapXSize-1, gMapYSize-1, 0, 0, 0); // Clear the output space
- RPolygon::free_RPolygon( xp );
- }
- // push the map size as the first polygon,
- p0 = RPolygon::alloc_RPolygon(0,0,mapxSize, mapySize);
- (*result_map)->push_back(p0);
- t0 = tbb::tick_count::now();
- tbb::parallel_for (tbb::blocked_range<int>(0,(int)(mapxSize+1),grain_size), ApplySplitOverlay((*result_map), polymap1, polymap2, resultMutex));
- t1 = tbb::tick_count::now();
- domainSplitParallelTime = (t1-t0).seconds()*1000;
- cout << "Splitting parallel with spin lock and ";
- if(automatic_threadcount) cout << "automatic";
- else cout << nthreads;
- cout << ((nthreads == 1) ? " thread" : " threads");
- cout << " took " << domainSplitParallelTime << " msec : speedup over serial " << (gSerialTime / domainSplitParallelTime) << std::endl;
- if(gCsvFile.is_open()) {
- gCsvFile << "," << domainSplitParallelTime;
- }
-#if _DEBUG
- CheckPolygonMap(*result_map);
- ComparePolygonMaps(*result_map, gResultMap);
-#endif
- for(int i=0; i<int((*result_map)->size());i++) {
- RPolygon::free_RPolygon((*result_map)->at(i));
- }
- (*result_map)->clear();
-
- }
- delete resultMutex;
- if(gCsvFile.is_open()) {
- gCsvFile << std::endl;
- }
-
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*!
- * polyover.h : extern declarations for polyover.cpp
-*/
-#include "rpolygon.h"
-#include "tbb/mutex.h"
-#include "tbb/spin_mutex.h"
-
-extern void OverlayOnePolygonWithMap(Polygon_map_t *resultMap, RPolygon *myPoly, Polygon_map_t *map2, tbb::spin_mutex *rMutex);
-
-extern void SerialOverlayMaps(Polygon_map_t **resultMap, Polygon_map_t *map1, Polygon_map_t *map2);
-
-// extern void NaiveParallelOverlay(Polygon_map_t **result_map, Polygon_map_t *polymap1, Polygon_map_t *polymap2);
-extern void NaiveParallelOverlay(Polygon_map_t *&result_map, Polygon_map_t &polymap1, Polygon_map_t &polymap2);
-
-extern void SplitParallelOverlay(Polygon_map_t **result_map, Polygon_map_t *polymap1, Polygon_map_t *polymap2);
-
-extern void CheckPolygonMap(Polygon_map_t *checkMap);
-extern bool ComparePolygonMaps(Polygon_map_t *map1, Polygon_map_t *map2);
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-//
-// pover_global.h
-//
-#ifndef _POVER_GLOBAL_H_
-#define _POVER_GLOBAL_H_
-
-#ifdef _MAIN_C_
-#define DEFINE // nothing
-#define STATIC static
-#define INIT(n) = n
-#else // not in main file
-#define DEFINE extern
-#define STATIC // nothing
-#define INIT(n) // nothing
-#endif // _MAIN_C_
-
-#include <iostream>
-#include <fstream>
-
-#ifdef _WINDOWS
-#include <windows.h>
-#endif
-
-// this Polygon class only supports rectangles
-DEFINE int gDrawXOffset INIT(0); // used for drawing polygons
-DEFINE int gDrawYOffset INIT(0);
-DEFINE int gPolyXBoxSize INIT(0); // number of pixels orresponding to one "square" (x)
-DEFINE int gPolyYBoxSize INIT(0); // number of pixels orresponding to one "square" (y)
-DEFINE bool gDoDraw INIT(false); // render the boxes
-
-#define THREADS_UNSET 0
-DEFINE int gThreadsLow INIT(THREADS_UNSET);
-DEFINE int gThreadsHigh INIT(THREADS_UNSET);
-
-DEFINE std::ofstream gCsvFile;
-DEFINE double gSerialTime;
-DEFINE char *gCsvFilename INIT(NULL);
-
-#define BORDER_SIZE 10 // number of pixels between maps
-
-// The map size and the number of polygons depends on the version we are compiling.
-// If DEBUG then it is small; else it is large.
-
-#ifdef _DEBUG
-DEFINE int gNPolygons INIT(30); // default number of polygons in map
-DEFINE int gMapXSize INIT(30);
-DEFINE int gMapYSize INIT(30);
-DEFINE int gGrainSize INIT(5);
-#else
-DEFINE int gNPolygons INIT(50000); // default number of polygons in map
-DEFINE int gMapXSize INIT(1000);
-DEFINE int gMapYSize INIT(1000);
-DEFINE int gGrainSize INIT(20);
-#endif
-DEFINE int gMyRandomSeed INIT(2453185);
-
-DEFINE bool gIsGraphicalVersion INIT(false);
-
-typedef enum {
- NORTH_SIDE,
- EAST_SIDE,
- SOUTH_SIDE,
- WEST_SIDE
-} allSides;
-
-#if _DEBUG
-#define PRINT_DEBUG(x) (cout << x << std::endl)
-#else
-#define PRINT_DEBUG(x)
-#endif
-
-
-#endif // _POVER_GLOBAL_H_
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Support for GUI display for Polygon overlay demo
-
-#define VIDEO_WINMAIN_ARGS
-#include <iostream>
-#include "polyover.h"
-#include "polymain.h"
-#include "pover_video.h"
-#include "tbb/tick_count.h"
-#include "tbb/task_scheduler_init.h"
-#ifndef _WIN32
-#include <sys/time.h>
-#include <unistd.h>
-
-void rt_sleep(int msec) {
- usleep(msec*1000);
-}
-
-#else //_WIN32
-
-#undef OLDUNIXTIME
-#undef STDTIME
-
-#include <windows.h>
-
-void rt_sleep(int msec) {
- Sleep(msec);
-}
-
-#endif /* _WIN32 */
-
-using namespace std;
-
-bool g_next_frame() {
- if(++n_next_frame_calls >= frame_skips) { // the data race here is benign
- n_next_frame_calls = 0;
- return gVideo->next_frame();
- }
- return gVideo->running;
-}
-
-bool g_last_frame() {
- if(n_next_frame_calls) return gVideo->next_frame();
- return gVideo->running;
-}
-
-bool initializeVideo(int argc, char **argv) {
- //pover_video *l_video = new pover_video();
- //gVideo = l_video;
- gVideo->init_console(); // don't check return code.
- gVideo->title = g_windowTitle;
- g_useGraphics = gVideo->init_window(g_xwinsize, g_ywinsize);
- return true;
-}
-
-void pover_video::on_process() {
- tbb::tick_count t0, t1;
- double naiveParallelTime, domainSplitParallelTime;
- // create map1 These could be done in parallel, if the pseudorandom number generator were re-seeded.
- GenerateMap(&gPolymap1, gMapXSize, gMapYSize, gNPolygons, /*red*/255, /*green*/0, /*blue*/127);
- // create map2
- GenerateMap(&gPolymap2, gMapXSize, gMapYSize, gNPolygons, /*red*/0, /*green*/255, /*blue*/127);
- //
- // Draw source maps
- gDrawXOffset = map1XLoc;
- gDrawYOffset = map1YLoc;
- for(int i=0; i < int(gPolymap1->size()); i++) {
- gPolymap1->at(i)->drawPoly();
- }
- gDrawXOffset = map2XLoc;
- gDrawYOffset = map2YLoc;
- for(int i=0; i < int(gPolymap2->size()) ;i++) {
- gPolymap2->at(i)->drawPoly();
- }
- gDoDraw = true;
-
- // run serial map generation
- gDrawXOffset = maprXLoc;
- gDrawYOffset = maprYLoc;
- {
- RPolygon *xp = RPolygon::alloc_RPolygon(0, 0, gMapXSize-1, gMapYSize-1, 0, 0, 0); // Clear the output space
- RPolygon::free_RPolygon( xp );
- t0 = tbb::tick_count::now();
- SerialOverlayMaps(&gResultMap, gPolymap1, gPolymap2);
- t1 = tbb::tick_count::now();
- cout << "Serial overlay took " << (t1-t0).seconds()*1000 << " msec" << std::endl;
- gSerialTime = (t1-t0).seconds()*1000;
-#if _DEBUG
- CheckPolygonMap(gResultMap);
- // keep the map for comparison purposes.
-#else
- for(int i=0; i<int(gResultMap->size());i++) {
- RPolygon::free_RPolygon(gResultMap->at(i));
- }
- delete gResultMap;
-#endif
- if(gCsvFile.is_open()) {
- gCsvFile << "Serial Time," << gSerialTime << std::endl;
- gCsvFile << "Threads,";
- if(gThreadsLow == THREADS_UNSET || gThreadsLow == tbb::task_scheduler_init::automatic) {
- gCsvFile << "Threads,Automatic";
- }
- else {
- for(int i=gThreadsLow; i <= gThreadsHigh; i++) {
- gCsvFile << i;
- if(i < gThreadsHigh) gCsvFile << ",";
- }
- }
- gCsvFile << std::endl;
- }
- if(gIsGraphicalVersion) rt_sleep(2000);
- }
- // run naive parallel map generation
- {
- Polygon_map_t *resultMap;
- if(gCsvFile.is_open()) {
- gCsvFile << "Naive Time";
- }
- NaiveParallelOverlay(resultMap, *gPolymap1, *gPolymap2);
- delete resultMap;
- if(gIsGraphicalVersion) rt_sleep(2000);
- }
- // run split map generation
- {
- Polygon_map_t *resultMap;
- if(gCsvFile.is_open()) {
- gCsvFile << "Split Time";
- }
- SplitParallelOverlay(&resultMap, gPolymap1, gPolymap2);
- delete resultMap;
- if(gIsGraphicalVersion) rt_sleep(10000);
- }
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// support for GUI for polygon overlay demo
-//
-#ifndef _POVER_VIDEO_H_
-#define _POVER_VIDEO_H_
-#include "../../common/gui/video.h"
-
-#include "pover_global.h" // for declaration of DEFINE and INIT
-
-DEFINE class video *gVideo INIT(0);
-
-DEFINE int n_next_frame_calls INIT(0);
-DEFINE int frame_skips INIT(10);
-extern bool g_next_frame();
-extern bool g_last_frame();
-
-class pover_video: public video {
- void on_process();
-public:
-#ifdef _WINDOWS
- bool graphic_display(){return video::win_hInstance != (HINSTANCE)NULL;}
-#else
- bool graphic_display() { return true;} // fix this for Linux
-#endif
- //void on_key(int key);
-};
-
-DEFINE int g_xwinsize INIT(1024);
-DEFINE int g_ywinsize INIT(768);
-
-DEFINE int map1XLoc INIT(10);
-DEFINE int map1YLoc INIT(10);
-DEFINE int map2XLoc INIT(270);
-DEFINE int map2YLoc INIT(10);
-DEFINE int maprXLoc INIT(530);
-DEFINE int maprYLoc INIT(10);
-
-DEFINE const char *g_windowTitle INIT("Polygon Overlay");
-DEFINE bool g_useGraphics INIT(true);
-
-extern bool initializeVideo(int argc, char **argv);
-
-extern void rt_sleep(int msec);
-
-#endif // _POVER_VIDEO_H_
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// rpolygon.h
-//
-#ifndef _RPOLYGON_H_
-#define _RPOLYGON_H_
-#include <vector>
-#include <iostream>
-#include "pover_video.h"
-
-#include "tbb/scalable_allocator.h"
-
-using namespace std;
-
-using namespace tbb;
-
-class RPolygon;
-typedef scalable_allocator<RPolygon> RPolygon_allocator;
-DEFINE RPolygon_allocator rAlloc;
-
-enum MallocBehavior {
- UseMalloc,
- UseScalableAllocator,
-};
-
-DEFINE MallocBehavior gMBehavior INIT(UseScalableAllocator);
-
-class RPolygon {
-public:
- RPolygon() {m_XMin = m_YMin = m_XMax = m_YMax = 0;
- m_r = m_g = m_b = 0;
- }
- RPolygon(int xMin, int yMin, int xMax, int yMax, int r=-1, int g=-1, int b=-1) : m_XMin(xMin), m_YMin(yMin), m_XMax(xMax), m_YMax(yMax) {
- if( r >= 0) {
- m_r=(colorcomp_t)r; m_g=(colorcomp_t)g; m_b=(colorcomp_t)b;
- if(gDoDraw) drawPoly();
- }
- }
-
- static RPolygon *alloc_RPolygon(int xMin, int yMin, int xMax, int yMax, int r=-1, int g=-1, int b=-1) {
- switch(gMBehavior) {
- case UseScalableAllocator: {
- RPolygon *my_p = rAlloc.allocate(1);
- my_p->set_nodraw(xMin,yMin,xMax,yMax);
- my_p->setColor(r,g,b);
- if( r >= 0 && gDoDraw) {
- my_p->drawPoly();
- }
- return my_p;
- }
- case UseMalloc: {
- RPolygon *my_p = new RPolygon(xMin,yMin,xMax,yMax,r,g,b);
- return my_p;
- }
- }
- return NULL;
- }
-
- static void free_RPolygon(RPolygon *p) {
- switch(gMBehavior) {
- case UseScalableAllocator: {
- rAlloc.deallocate(p, 1);
- break;
- }
- case UseMalloc: {
- delete p;
- break;
- }
- }
- }
-
- void set_nodraw(int xMin, int yMin, int xMax, int yMax) {m_XMin=xMin; m_YMin=yMin; m_XMax=xMax; m_YMax=yMax;}
-
- RPolygon &intersect(RPolygon &otherPoly);
- void set(int xMin, int yMin, int xMax, int yMax) {
- set_nodraw(xMin,yMin,xMax,yMax);
- if(gDoDraw) {
- drawPoly();
- }
- }
- void get(int *xMin, int *yMin, int *xMax, int *yMax) const {*xMin=m_XMin;*yMin=m_YMin;*xMax=m_XMax;*yMax=m_YMax;}
- void setColor(colorcomp_t newr, colorcomp_t newg, colorcomp_t newb) {m_r = newr; m_g=newg; m_b=newb;}
- void getColor(int *myr, int *myg, int *myb) {*myr=m_r; *myg=m_g; *myb=m_b;}
- color_t myColor() {return gVideo->get_color(m_r, m_g, m_b);}
- void drawPoly() {
- if(gVideo->running) {
- if(g_next_frame()) { // Shouldn't call next_frame each time
- drawing_area ldrawing(
- gDrawXOffset+m_XMin*gPolyXBoxSize, //x
- gDrawYOffset+m_YMin*gPolyYBoxSize, //y
- (m_XMax-m_XMin+1)*gPolyXBoxSize, //sizex
- (m_YMax-m_YMin+1)*gPolyYBoxSize); //sizey
- for(int y=0; y<ldrawing.size_y; y++) {
- ldrawing.set_pos(0,y);
- color_t my_color = myColor();
- for(int x=0;x < ldrawing.size_x; x++) {
- ldrawing.put_pixel(my_color);
- }
- }
- }
- }
- }
- int area() {return ((m_XMax-m_XMin+1)*(m_YMax-m_YMin+1));}
- void print(int i) { cout << "RPolygon " << i << " (" << m_XMin << ", " << m_YMin << ")-(" << m_XMax << ", " << m_YMax << ") " << endl; fflush(stdout);}
-private:
- int m_XMin;
- int m_YMin;
- int m_XMax;
- int m_YMax;
- colorcomp_t m_r;
- colorcomp_t m_g;
- colorcomp_t m_b;
-};
-
-extern ostream& operator<<(ostream& s, const RPolygon &p);
-
-class RPolygon_flagged {
- RPolygon *myPoly;
- bool is_duplicate;
-public:
- RPolygon_flagged() {myPoly = NULL; is_duplicate = false;}
- bool isDuplicate() {return is_duplicate;}
- void setDuplicate(bool newValue) {is_duplicate = newValue;}
- RPolygon *p() {return myPoly;}
- void setp(RPolygon *newp) {myPoly = newp;}
-};
-
-typedef class vector<RPolygon *> Polygon_map_t;
-typedef class vector<RPolygon_flagged> Flagged_map_t; // we'll make shallow copies
-
-inline bool PolygonsOverlap(RPolygon *p1, RPolygon *p2, int &xl, int &yl, int &xh, int &yh) {
- int xl1, yl1, xh1, yh1, xl2, yl2, xh2, yh2;
-#if _DEBUG
- rt_sleep(1); // slow down the process so we can see it.
-#endif
- p1->get(&xl1, &yl1, &xh1, &yh1);
- p2->get(&xl2, &yl2, &xh2, &yh2);
- if(xl1 > xh2) return false;
- if(xh1 < xl2) return false;
- if(yl1 > yh2) return false;
- if(yh1 < yl2) return false;
- xl = (xl1 < xl2) ? xl2 : xl1;
- xh = (xh1 < xh2) ? xh1 : xh2;
- yl = (yl1 < yl2) ? yl2 : yl1;
- yh = (yh1 < yh2) ? yh1 : yh2;
- return true;
-}
-
-#endif // _RPOLYGON_H_
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE 9, 1
-#pragma code_page(1252)
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pover", "pover.vcproj", "{4BB7B455-1E09-41D3-BC89-6E67C9032F8C}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Debug GDI = Debug GDI
- Debug DD = Debug DD
- Release = Release
- Release GDI = Release GDI
- Release DD = Release DD
- EndGlobalSection
- GlobalSection(ProjectDependencies) = postSolution
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Debug.ActiveCfg = Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Debug.Build.0 = Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Debug GDI.ActiveCfg = Debug GDI|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Debug GDI.Build.0 = Debug GDI|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Debug DD.ActiveCfg = Debug DD|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Debug DD.Build.0 = Debug DD|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Release.ActiveCfg = Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Release.Build.0 = Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Release GDI.ActiveCfg = Release GDI|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Release GDI.Build.0 = Release GDI|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Release DD.ActiveCfg = Release DD|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.Release DD.Build.0 = Release DD|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="pover"
- ProjectGUID="{4BB7B455-1E09-41D3-BC89-6E67C9032F8C}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_CONSOLE"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib""
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)"
-copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.pdb" "$(OutDir)"
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib""
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)"
-copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.pdb" "$(OutDir)"
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release GDI|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)"
-copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.pdb" "$(OutDir)"
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug GDI|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_WINDOWS"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)"
-copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.pdb" "$(OutDir)"
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug DD|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_WINDOWS"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)"
-copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.pdb" "$(OutDir)"
-"/>
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release DD|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)"
-copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.pdb" "$(OutDir)"
-"/>
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\polymain.cpp">
- </File>
- <File
- RelativePath="..\polyover.cpp">
- </File>
- <File
- RelativePath="..\pover_video.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\polymain.h">
- </File>
- <File
- RelativePath="..\polyover.h">
- </File>
- <File
- RelativePath="..\pover_global.h">
- </File>
- <File
- RelativePath="..\pover_video.h">
- </File>
- <File
- RelativePath="..\rpolygon.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- <Filter
- Name="Video Layer"
- Filter="">
- <File
- RelativePath="..\..\..\common\gui\convideo.cpp">
- <FileConfiguration
- Name="Release GDI|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug GDI|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release DD|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug DD|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug DD|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release DD|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug GDI|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release GDI|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h">
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by pover.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE 9, 1
-#pragma code_page(1252)
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pover", "pover.vcproj", "{4BB7B455-1E09-41D3-BC89-6E67C9032F8C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DD Debug|Win32 = DD Debug|Win32
- DD Debug|x64 = DD Debug|x64
- DD Release|Win32 = DD Release|Win32
- DD Release|x64 = DD Release|x64
- GDI Debug|Win32 = GDI Debug|Win32
- GDI Debug|x64 = GDI Debug|x64
- GDI Release|Win32 = GDI Release|Win32
- GDI Release|x64 = GDI Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|x64.Build.0 = DD Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|Win32.Build.0 = DD Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|x64.ActiveCfg = DD Release|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|x64.Build.0 = DD Release|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|Win32.Build.0 = Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|x64.ActiveCfg = Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|x64.Build.0 = Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|Win32.ActiveCfg = Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|Win32.Build.0 = Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|x64.ActiveCfg = Release|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="pover"
- ProjectGUID="{4BB7B455-1E09-41D3-BC89-6E67C9032F8C}"
- RootNamespace="pover"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)" 
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)" 
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc_debug.dll" "$(OutDir)" 
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc_debug.pdb" "$(OutDir)"
"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;h;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\polymain.cpp"
- >
- </File>
- <File
- RelativePath="..\polymain.h"
- >
- </File>
- <File
- RelativePath="..\polyover.cpp"
- >
- </File>
- <File
- RelativePath="..\polyover.h"
- >
- </File>
- <File
- RelativePath="..\pover_global.h"
- >
- </File>
- <File
- RelativePath="..\pover_video.cpp"
- >
- </File>
- <File
- RelativePath="..\pover_video.h"
- >
- </File>
- <File
- RelativePath="..\rpolygon.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- <Filter
- Name="Video Layer"
- >
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp"
- >
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by pover.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE 9, 1
-#pragma code_page(1252)
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pover", "pover.vcproj", "{4BB7B455-1E09-41D3-BC89-6E67C9032F8C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DD Debug|Win32 = DD Debug|Win32
- DD Debug|x64 = DD Debug|x64
- DD Release|Win32 = DD Release|Win32
- DD Release|x64 = DD Release|x64
- GDI Debug|Win32 = GDI Debug|Win32
- GDI Debug|x64 = GDI Debug|x64
- GDI Release|Win32 = GDI Release|Win32
- GDI Release|x64 = GDI Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Debug|x64.Build.0 = DD Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|Win32.Build.0 = DD Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|x64.ActiveCfg = DD Release|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.DD Release|x64.Build.0 = DD Release|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|Win32.Build.0 = Debug|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|x64.ActiveCfg = Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Debug|x64.Build.0 = Debug|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|Win32.ActiveCfg = Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|Win32.Build.0 = Release|Win32
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|x64.ActiveCfg = Release|x64
- {4BB7B455-1E09-41D3-BC89-6E67C9032F8C}.GDI Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="pover"
- ProjectGUID="{4BB7B455-1E09-41D3-BC89-6E67C9032F8C}"
- RootNamespace="pover"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;h;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\polymain.cpp"
- >
- </File>
- <File
- RelativePath="..\polymain.h"
- >
- </File>
- <File
- RelativePath="..\polyover.cpp"
- >
- </File>
- <File
- RelativePath="..\polyover.h"
- >
- </File>
- <File
- RelativePath="..\pover_global.h"
- >
- </File>
- <File
- RelativePath="..\pover_video.cpp"
- >
- </File>
- <File
- RelativePath="..\pover_video.h"
- >
- </File>
- <File
- RelativePath="..\rpolygon.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- <Filter
- Name="Video Layer"
- >
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp"
- >
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by pover.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+++ /dev/null
-{
-IBClasses = ();
-IBVersion = 1;
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>IBDocumentLocation</key>
- <string>662 774 356 240 0 0 1680 1028 </string>
- <key>IBEditorPositions</key>
- <dict>
- <key>29</key>
- <string>863 618 271 44 0 0 1680 1028 </string>
- </dict>
- <key>IBFramework Version</key>
- <string>446.1</string>
- <key>IBOldestOS</key>
- <integer>3</integer>
- <key>IBOpenObjects</key>
- <array>
- <integer>29</integer>
- <integer>166</integer>
- </array>
- <key>IBSystem Version</key>
- <string>8J2135a</string>
- <key>targetFramework</key>
- <string>IBCarbonFramework</string>
-</dict>
-</plist>
+++ /dev/null
-<?xml version="1.0" standalone="yes"?>
-<object class="NSIBObjectData">
- <string name="targetFramework">IBCarbonFramework</string>
- <object name="rootObject" class="NSCustomObject" id="1">
- <string name="customClass">NSApplication</string>
- </object>
- <array count="22" name="allObjects">
- <object class="IBCarbonMenu" id="29">
- <string name="title">main</string>
- <array count="3" name="items">
- <object class="IBCarbonMenuItem" id="210">
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">PolygonOverlay</string>
- <object name="submenu" class="IBCarbonMenu" id="211">
- <string name="title">Seismic Simulation</string>
- <array count="7" name="items">
- <object class="IBCarbonMenuItem" id="215">
- <boolean name="checked">TRUE</boolean>
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Parallel</string>
- <ostype name="command">para</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="214">
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Serial</string>
- <ostype name="command">seri</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="216">
- <boolean name="separator">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="217">
- <boolean name="checked">TRUE</boolean>
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Enable GUI</string>
- <ostype name="command">egui</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="218">
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Disable GUI</string>
- <ostype name="command">dgui</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="213">
- <boolean name="separator">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="212">
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">About PolygonOverlay</string>
- <int name="keyEquivalentModifier">0</int>
- <ostype name="command">abou</ostype>
- </object>
- </array>
- <string name="name">_NSAppleMenu</string>
- </object>
- </object>
- <object class="IBCarbonMenuItem" id="127">
- <string name="title">File</string>
- <object name="submenu" class="IBCarbonMenu" id="131">
- <string name="title">File</string>
- <array count="1" name="items">
- <object class="IBCarbonMenuItem" id="200">
- <string name="title">Close</string>
- <string name="keyEquivalent">w</string>
- <ostype name="command">clos</ostype>
- </object>
- </array>
- </object>
- </object>
- <object class="IBCarbonMenuItem" id="192">
- <string name="title">Window</string>
- <object name="submenu" class="IBCarbonMenu" id="195">
- <string name="title">Window</string>
- <array count="5" name="items">
- <object class="IBCarbonMenuItem" id="190">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Minimize</string>
- <string name="keyEquivalent">m</string>
- <ostype name="command">mini</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="197">
- <string name="title">Zoom</string>
- <ostype name="command">zoom</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="194">
- <boolean name="separator">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="196">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Bring All to Front</string>
- <ostype name="command">bfrt</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="193">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Arrange in Front</string>
- <int name="keyEquivalentModifier">1572864</int>
- <ostype name="command">frnt</ostype>
- </object>
- </array>
- <string name="name">_NSWindowsMenu</string>
- </object>
- </object>
- </array>
- <string name="name">_NSMainMenu</string>
- </object>
- <reference idRef="127"/>
- <reference idRef="131"/>
- <object class="IBCarbonWindow" id="166">
- <string name="windowRect">338 353 698 833 </string>
- <string name="title">PolygonOverlay</string>
- <object name="rootControl" class="IBCarbonRootControl" id="167">
- <string name="bounds">0 0 360 480 </string>
- <string name="viewFrame">0 0 480 360 </string>
- </object>
- <boolean name="receiveUpdates">FALSE</boolean>
- <boolean name="compositing">TRUE</boolean>
- <int name="themeBrush">-1</int>
- <boolean name="asyncDrag">TRUE</boolean>
- <boolean name="doesNotCycle">TRUE</boolean>
- <int name="WindowMinWidth">320</int>
- <int name="WindowMinHeight">200</int>
- </object>
- <reference idRef="167"/>
- <reference idRef="190"/>
- <reference idRef="192"/>
- <reference idRef="193"/>
- <reference idRef="194"/>
- <reference idRef="195"/>
- <reference idRef="196"/>
- <reference idRef="197"/>
- <reference idRef="200"/>
- <reference idRef="210"/>
- <reference idRef="211"/>
- <reference idRef="212"/>
- <reference idRef="213"/>
- <reference idRef="214"/>
- <reference idRef="215"/>
- <reference idRef="216"/>
- <reference idRef="217"/>
- <reference idRef="218"/>
- </array>
- <array count="22" name="allParents">
- <reference idRef="1"/>
- <reference idRef="29"/>
- <reference idRef="127"/>
- <reference idRef="1"/>
- <reference idRef="166"/>
- <reference idRef="195"/>
- <reference idRef="29"/>
- <reference idRef="195"/>
- <reference idRef="195"/>
- <reference idRef="192"/>
- <reference idRef="195"/>
- <reference idRef="195"/>
- <reference idRef="131"/>
- <reference idRef="29"/>
- <reference idRef="210"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- </array>
- <dictionary count="3" name="nameTable">
- <string>Files Owner</string>
- <reference idRef="1"/>
- <string>MainWindow</string>
- <reference idRef="166"/>
- <string>MenuBar</string>
- <reference idRef="29"/>
- </dictionary>
- <unsigned_int name="nextObjectID">219</unsigned_int>
-</object>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.intel.tbb.PolygonOverlay</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>CSResourcesFileMapped</key>
- <true/>
-</dict>
-</plist>
+++ /dev/null
-//
-// Prefix header for all source files of the 'PolygonOverlay' target in the 'PolygonOverlay' project.
-//
-
-#include <Carbon/Carbon.h>
+++ /dev/null
-// !$*UTF8*$!\r
-{\r
- archiveVersion = 1;\r
- classes = {\r
- };\r
- objectVersion = 42;\r
- objects = {\r
-\r
-/* Begin PBXBuildFile section */\r
- 6A6DAA960DA2C0B3008D95BD /* polymain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A6DAA8E0DA2C0B3008D95BD /* polymain.cpp */; };\r
- 6A6DAA980DA2C0B3008D95BD /* polyover.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A6DAA900DA2C0B3008D95BD /* polyover.cpp */; };\r
- 6A6DAA9B0DA2C0B3008D95BD /* pover_video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A6DAA930DA2C0B3008D95BD /* pover_video.cpp */; };\r
- 8D0C4E8E0486CD37000505A6 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 02345980000FD03B11CA0E72 /* main.nib */; };\r
- A12649490B8392750091D5AD /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */; };\r
- A126495E0B83936D0091D5AD /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D0C4E960486CD37000505A6 /* Info.plist */; };\r
- A18D2A340B861B99007D8D2C /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A18D2A330B861B99007D8D2C /* libtbb.dylib */; };\r
- A1976ADA0DF6A6910032C3EA /* libtbbmalloc.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1976AD90DF6A6910032C3EA /* libtbbmalloc.dylib */; };\r
- A1976ADF0DF6A6E10032C3EA /* libtbbmalloc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1976AD90DF6A6910032C3EA /* libtbbmalloc.dylib */; };\r
- A1A8F41E0B8B4DBE001C55B1 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1A8F41D0B8B4DBE001C55B1 /* AGL.framework */; };\r
- A1A8F4310B8B4EA8001C55B1 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1A8F4300B8B4EA8001C55B1 /* Carbon.framework */; };\r
- A1D44D9A0B861E8A0006E401 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A18D2A330B861B99007D8D2C /* libtbb.dylib */; };\r
- A1E3E7BD0B3AD4EC007C3AB5 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */; };\r
- A1F591AC0B8DFC9600073279 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F591AA0B8DFC9600073279 /* macvideo.cpp */; };\r
-/* End PBXBuildFile section */\r
-\r
-/* Begin PBXCopyFilesBuildPhase section */\r
- A18D2A370B861BB7007D8D2C /* CopyFiles */ = {\r
- isa = PBXCopyFilesBuildPhase;\r
- buildActionMask = 2147483647;\r
- dstPath = "";\r
- dstSubfolderSpec = 16;\r
- files = (\r
- A1976ADA0DF6A6910032C3EA /* libtbbmalloc.dylib in CopyFiles */,\r
- A1D44D9A0B861E8A0006E401 /* libtbb.dylib in CopyFiles */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXCopyFilesBuildPhase section */\r
-\r
-/* Begin PBXFileReference section */\r
- 1870340FFE93FCAF11CA0CD7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/main.nib; sourceTree = "<group>"; };\r
- 32DBCF6D0370B57F00C91783 /* PolygonOverlay.pch */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PolygonOverlay.pch; sourceTree = "<group>"; };\r
- 6A6DAA8E0DA2C0B3008D95BD /* polymain.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = polymain.cpp; path = ../polymain.cpp; sourceTree = SOURCE_ROOT; };\r
- 6A6DAA8F0DA2C0B3008D95BD /* polymain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = polymain.h; path = ../polymain.h; sourceTree = SOURCE_ROOT; };\r
- 6A6DAA900DA2C0B3008D95BD /* polyover.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = polyover.cpp; path = ../polyover.cpp; sourceTree = SOURCE_ROOT; };\r
- 6A6DAA910DA2C0B3008D95BD /* polyover.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = polyover.h; path = ../polyover.h; sourceTree = SOURCE_ROOT; };\r
- 6A6DAA920DA2C0B3008D95BD /* pover_global.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pover_global.h; path = ../pover_global.h; sourceTree = SOURCE_ROOT; };\r
- 6A6DAA930DA2C0B3008D95BD /* pover_video.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = pover_video.cpp; path = ../pover_video.cpp; sourceTree = SOURCE_ROOT; };\r
- 6A6DAA940DA2C0B3008D95BD /* pover_video.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pover_video.h; path = ../pover_video.h; sourceTree = SOURCE_ROOT; };\r
- 6A6DAA950DA2C0B3008D95BD /* rpolygon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = rpolygon.h; path = ../rpolygon.h; sourceTree = SOURCE_ROOT; };\r
- 8D0C4E960486CD37000505A6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };\r
- 8D0C4E970486CD37000505A6 /* PolygonOverlay.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PolygonOverlay.app; sourceTree = BUILT_PRODUCTS_DIR; };\r
- A18D2A330B861B99007D8D2C /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };\r
- A1976AD90DF6A6910032C3EA /* libtbbmalloc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbbmalloc.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbbmalloc.dylib; sourceTree = "<absolute>"; };\r
- A1A8F41D0B8B4DBE001C55B1 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };\r
- A1A8F4300B8B4EA8001C55B1 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };\r
- A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };\r
- A1F591AA0B8DFC9600073279 /* macvideo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macvideo.cpp; path = ../../../common/gui/macvideo.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F591AB0B8DFC9600073279 /* video.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = video.h; path = ../../../common/gui/video.h; sourceTree = SOURCE_ROOT; };\r
-/* End PBXFileReference section */\r
-\r
-/* Begin PBXFrameworksBuildPhase section */\r
- 8D0C4E910486CD37000505A6 /* Frameworks */ = {\r
- isa = PBXFrameworksBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1E3E7BD0B3AD4EC007C3AB5 /* OpenGL.framework in Frameworks */,\r
- A12649490B8392750091D5AD /* OpenGL.framework in Frameworks */,\r
- A18D2A340B861B99007D8D2C /* libtbb.dylib in Frameworks */,\r
- A1976ADF0DF6A6E10032C3EA /* libtbbmalloc.dylib in Frameworks */,\r
- A1A8F41E0B8B4DBE001C55B1 /* AGL.framework in Frameworks */,\r
- A1A8F4310B8B4EA8001C55B1 /* Carbon.framework in Frameworks */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXFrameworksBuildPhase section */\r
-\r
-/* Begin PBXGroup section */\r
- 195DF8CFFE9D517E11CA2CBB /* Products */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 8D0C4E970486CD37000505A6 /* PolygonOverlay.app */,\r
- );\r
- name = Products;\r
- sourceTree = "<group>";\r
- };\r
- 20286C29FDCF999611CA2CEA /* PolygonOverlay */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 20286C2AFDCF999611CA2CEA /* Sources */,\r
- 20286C2CFDCF999611CA2CEA /* Resources */,\r
- 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */,\r
- 195DF8CFFE9D517E11CA2CBB /* Products */,\r
- );\r
- name = PolygonOverlay;\r
- sourceTree = "<group>";\r
- };\r
- 20286C2AFDCF999611CA2CEA /* Sources */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 6A6DAA8E0DA2C0B3008D95BD /* polymain.cpp */,\r
- 6A6DAA8F0DA2C0B3008D95BD /* polymain.h */,\r
- 6A6DAA900DA2C0B3008D95BD /* polyover.cpp */,\r
- 6A6DAA910DA2C0B3008D95BD /* polyover.h */,\r
- 6A6DAA920DA2C0B3008D95BD /* pover_global.h */,\r
- 6A6DAA930DA2C0B3008D95BD /* pover_video.cpp */,\r
- 6A6DAA940DA2C0B3008D95BD /* pover_video.h */,\r
- 6A6DAA950DA2C0B3008D95BD /* rpolygon.h */,\r
- A1F591AA0B8DFC9600073279 /* macvideo.cpp */,\r
- A1F591AB0B8DFC9600073279 /* video.h */,\r
- 32DBCF6D0370B57F00C91783 /* PolygonOverlay.pch */,\r
- );\r
- name = Sources;\r
- sourceTree = "<group>";\r
- };\r
- 20286C2CFDCF999611CA2CEA /* Resources */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 8D0C4E960486CD37000505A6 /* Info.plist */,\r
- 02345980000FD03B11CA0E72 /* main.nib */,\r
- );\r
- name = Resources;\r
- sourceTree = "<group>";\r
- };\r
- 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1976AD90DF6A6910032C3EA /* libtbbmalloc.dylib */,\r
- A18D2A330B861B99007D8D2C /* libtbb.dylib */,\r
- A1A8F4300B8B4EA8001C55B1 /* Carbon.framework */,\r
- A1A8F41D0B8B4DBE001C55B1 /* AGL.framework */,\r
- A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */,\r
- );\r
- name = "External Frameworks and Libraries";\r
- sourceTree = "<group>";\r
- };\r
-/* End PBXGroup section */\r
-\r
-/* Begin PBXNativeTarget section */\r
- 8D0C4E890486CD37000505A6 /* PolygonOverlay */ = {\r
- isa = PBXNativeTarget;\r
- buildConfigurationList = C0E91AC508A95435008D54AB /* Build configuration list for PBXNativeTarget "PolygonOverlay" */;\r
- buildPhases = (\r
- 8D0C4E8C0486CD37000505A6 /* Resources */,\r
- 8D0C4E8F0486CD37000505A6 /* Sources */,\r
- 8D0C4E910486CD37000505A6 /* Frameworks */,\r
- A18D2A370B861BB7007D8D2C /* CopyFiles */,\r
- );\r
- buildRules = (\r
- );\r
- dependencies = (\r
- );\r
- name = PolygonOverlay;\r
- productInstallPath = "$(HOME)/Applications";\r
- productName = PolygonOverlay;\r
- productReference = 8D0C4E970486CD37000505A6 /* PolygonOverlay.app */;\r
- productType = "com.apple.product-type.application";\r
- };\r
-/* End PBXNativeTarget section */\r
-\r
-/* Begin PBXProject section */\r
- 20286C28FDCF999611CA2CEA /* Project object */ = {\r
- isa = PBXProject;\r
- buildConfigurationList = C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "PolygonOverlay" */;\r
- hasScannedForEncodings = 1;\r
- mainGroup = 20286C29FDCF999611CA2CEA /* PolygonOverlay */;\r
- projectDirPath = "";\r
- targets = (\r
- 8D0C4E890486CD37000505A6 /* PolygonOverlay */,\r
- );\r
- };\r
-/* End PBXProject section */\r
-\r
-/* Begin PBXResourcesBuildPhase section */\r
- 8D0C4E8C0486CD37000505A6 /* Resources */ = {\r
- isa = PBXResourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- 8D0C4E8E0486CD37000505A6 /* main.nib in Resources */,\r
- A126495E0B83936D0091D5AD /* Info.plist in Resources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXResourcesBuildPhase section */\r
-\r
-/* Begin PBXSourcesBuildPhase section */\r
- 8D0C4E8F0486CD37000505A6 /* Sources */ = {\r
- isa = PBXSourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F591AC0B8DFC9600073279 /* macvideo.cpp in Sources */,\r
- 6A6DAA960DA2C0B3008D95BD /* polymain.cpp in Sources */,\r
- 6A6DAA980DA2C0B3008D95BD /* polyover.cpp in Sources */,\r
- 6A6DAA9B0DA2C0B3008D95BD /* pover_video.cpp in Sources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXSourcesBuildPhase section */\r
-\r
-/* Begin PBXVariantGroup section */\r
- 02345980000FD03B11CA0E72 /* main.nib */ = {\r
- isa = PBXVariantGroup;\r
- children = (\r
- 1870340FFE93FCAF11CA0CD7 /* English */,\r
- );\r
- name = main.nib;\r
- sourceTree = "<group>";\r
- };\r
-/* End PBXVariantGroup section */\r
-\r
-/* Begin XCBuildConfiguration section */\r
- C0E91AC608A95435008D54AB /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- COPY_PHASE_STRIP = NO;\r
- GCC_DYNAMIC_NO_PIC = NO;\r
- GCC_ENABLE_FIX_AND_CONTINUE = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_OPTIMIZATION_LEVEL = 0;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PRODUCT_NAME = PolygonOverlay;\r
- };\r
- name = Debug;\r
- };\r
- C0E91AC708A95435008D54AB /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;\r
- GCC_MODEL_TUNING = "";\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PRODUCT_NAME = PolygonOverlay;\r
- };\r
- name = Release;\r
- };\r
- C0E91ACA08A95435008D54AB /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ARCHS = i386;\r
- GCC_AUTO_VECTORIZATION = YES;\r
- GCC_ENABLE_CPP_RTTI = YES;\r
- GCC_ENABLE_SSE3_EXTENSIONS = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_OPTIMIZATION_LEVEL = 0;\r
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\r
- MACH_O_TYPE = mh_execute;\r
- MACOSX_DEPLOYMENT_TARGET = 10.4;\r
- PREBINDING = NO;\r
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;\r
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;\r
- SYMROOT = "/tmp/tbb-$(USER)";\r
- };\r
- name = Debug;\r
- };\r
- C0E91ACB08A95435008D54AB /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ARCHS = i386;\r
- GCC_AUTO_VECTORIZATION = YES;\r
- GCC_ENABLE_CPP_RTTI = YES;\r
- GCC_ENABLE_SSE3_EXTENSIONS = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_OPTIMIZATION_LEVEL = 3;\r
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\r
- MACH_O_TYPE = mh_execute;\r
- MACOSX_DEPLOYMENT_TARGET = 10.4;\r
- PREBINDING = NO;\r
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;\r
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;\r
- SYMROOT = "/tmp/tbb-$(USER)";\r
- };\r
- name = Release;\r
- };\r
-/* End XCBuildConfiguration section */\r
-\r
-/* Begin XCConfigurationList section */\r
- C0E91AC508A95435008D54AB /* Build configuration list for PBXNativeTarget "PolygonOverlay" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- C0E91AC608A95435008D54AB /* Debug */,\r
- C0E91AC708A95435008D54AB /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
- C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "PolygonOverlay" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- C0E91ACA08A95435008D54AB /* Debug */,\r
- C0E91ACB08A95435008D54AB /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
-/* End XCConfigurationList section */\r
- };\r
- rootObject = 20286C28FDCF999611CA2CEA /* Project object */;\r
-}\r
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-NAME=seismic
-ARGS=- 300
-
-# The C++ compiler
-#CXX=g++
-
-include ../../common/gui/Makefile.gmake
-
-all: release test
-
-resources:
-ifeq ($(UI),mac)
- mkdir -p $(APPRES)/English.lproj $(NAME).app/Contents/MacOS
- $(PBXCP) xcode/English.lproj/main.nib $(APPRES)/English.lproj
- $(PBXCP) xcode/Info.plist $(APPRES)
-endif
-
-release: ../../common/gui/$(UI)video.cpp SeismicSimulation.cpp resources
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(EXE) $< SeismicSimulation.cpp -ltbb $(LIBS)
-
-debug: ../../common/gui/$(UI)video.cpp SeismicSimulation.cpp resources
- $(CXX) -g -O0 -DTBB_USE_DEBUG $(CXXFLAGS) -o $(EXE) $< SeismicSimulation.cpp -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(EXE) *.o *.d
-ifeq ($(UI),mac)
- rm -rf $(NAME).app
-endif
-
-test:
-ifeq ($(UI),mac)
- export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(ARGS)
-else
- ./$(EXE) $(ARGS)
-endif
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Seismic
-ARGS=- 300
-
-# The C++ compiler options
-CXX = cl.exe
-
-# Uncomment one of next lines to choose user interface type (console, gdiplus, direct draw)
-#UI = con
-UI = gdi
-#UI = dd
-
-# Machine architecture, auto-detected from TBB_ARCH_PLATFORM by default
-# Use XARCH variable to change it. See index.html for more information
-ARCH0 = $(TBB_ARCH_PLATFORM)-
-ARCHA = $(ARCH0:\vc7.1-=)
-ARCHB = $(ARCHA:\vc8-=)
-ARCHC = $(ARCHB:\vc9-=)
-ARCH3 = $(ARCHC:ia32=x86)
-ARCH4 = $(ARCH3:intel64=AMD64)
-XARCH = $(ARCH4:-=x86)
-
-MAKEINC = ../../common/gui/Makefile.win
-
-all: release test
-release:
- @$(MAKE) -f $(MAKEINC) UI=$(UI) CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib $(LIBS)" XARCH=$(XARCH) RCNAME=SeismicSimulation SOURCE=SeismicSimulation.cpp EXE=$(PROG).exe build_one
-debug:
- @$(MAKE) -f $(MAKEINC) UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) /D TBB_USE_DEBUG" LFLAGS="$(LDFLAGS) tbb_debug.lib $(LIBS)" XARCH=$(XARCH) RCNAME=SeismicSimulation SOURCE=SeismicSimulation.cpp EXE=$(PROG).exe build_one
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest vc7.1\SeismicSimulation.res
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-//#define _CRT_SECURE_NO_DEPRECATE
-#define VIDEO_WINMAIN_ARGS
-#include "../../common/gui/video.h"
-#include <cstdlib>
-#include <cstdio>
-#include <cstring>
-#include <cctype>
-#include <cassert>
-#include <math.h>
-#include "tbb/task_scheduler_init.h"
-#include "tbb/blocked_range.h"
-#include "tbb/parallel_for.h"
-#include "tbb/tick_count.h"
-
-using namespace std;
-
-#ifdef _MSC_VER
-// warning C4068: unknown pragma
-#pragma warning(disable: 4068)
-#endif
-
-#define DEFAULT_NUMBER_OF_FRAMES 100
-int number_of_frames = -1;
-const size_t MAX_WIDTH = 1024;
-const size_t MAX_HEIGHT = 512;
-
-int UniverseHeight=MAX_HEIGHT;
-int UniverseWidth=MAX_WIDTH;
-
-typedef float value;
-
-//! Velocity at each grid point
-static value V[MAX_HEIGHT][MAX_WIDTH];
-
-//! Horizontal stress
-static value S[MAX_HEIGHT][MAX_WIDTH];
-
-//! Vertical stress
-static value T[MAX_HEIGHT][MAX_WIDTH];
-
-//! Coefficient related to modulus
-static value M[MAX_HEIGHT][MAX_WIDTH];
-
-//! Coefficient related to lightness
-static value L[MAX_HEIGHT][MAX_WIDTH];
-
-//! Damping coefficients
-static value D[MAX_HEIGHT][MAX_WIDTH];
-
-/** Affinity is an argument to parallel_for to hint that an iteration of a loop
- is best replayed on the same processor for each execution of the loop.
- It is a global object because it must remember where the iterations happened
- in previous executions. */
-static tbb::affinity_partitioner Affinity;
-
-enum MaterialType {
- WATER=0,
- SANDSTONE=1,
- SHALE=2
-};
-
-//! Values are MaterialType, cast to an unsigned char to save space.
-static unsigned char Material[MAX_HEIGHT][MAX_WIDTH];
-
-static const colorcomp_t MaterialColor[4][3] = { // BGR
- {96,0,0}, // WATER
- {0,48,48}, // SANDSTONE
- {32,32,23} // SHALE
-};
-
-static const int DamperSize = 32;
-
-static const int ColorMapSize = 1024;
-static color_t ColorMap[4][ColorMapSize];
-
-static int PulseTime = 100;
-static int PulseCounter;
-static int PulseX = UniverseWidth/3;
-static int PulseY = UniverseHeight/4;
-
-static bool InitIsParallel = true;
-const char *titles[2] = {"Seismic Simulation: Serial", "Seismic Simulation: Parallel"};
-//! It is used for console mode for test with different number of threads and also has
-//! meaning for gui: threads_low - use sepatate event/updating loop thread (>0) or not (0).
-//! threads_high - initialization value for scheduler
-int threads_low = 0, threads_high = tbb::task_scheduler_init::automatic;
-
-static void UpdatePulse() {
- if( PulseCounter>0 ) {
- value t = (PulseCounter-PulseTime/2)*0.05f;
- V[PulseY][PulseX] += 64*sqrt(M[PulseY][PulseX])*exp(-t*t);
- --PulseCounter;
- }
-}
-
-static void SerialUpdateStress() {
- drawing_area drawing(0, 0, UniverseWidth, UniverseHeight);
- for( int i=1; i<UniverseHeight-1; ++i ) {
- drawing.set_pos(1, i);
-#pragma ivdep
- for( int j=1; j<UniverseWidth-1; ++j ) {
- S[i][j] += M[i][j]*(V[i][j+1]-V[i][j]);
- T[i][j] += M[i][j]*(V[i+1][j]-V[i][j]);
- int index = (int)(V[i][j]*(ColorMapSize/2)) + ColorMapSize/2;
- if( index<0 ) index = 0;
- if( index>=ColorMapSize ) index = ColorMapSize-1;
- color_t* c = ColorMap[Material[i][j]];
- drawing.put_pixel(c[index]);
- }
- }
-}
-
-struct UpdateStressBody {
- void operator()( const tbb::blocked_range<int>& range ) const {
- drawing_area drawing(0, range.begin(), UniverseWidth, range.end()-range.begin());
- int i_end = range.end();
- for( int y = 0, i=range.begin(); i!=i_end; ++i,y++ ) {
- drawing.set_pos(1, y);
-#pragma ivdep
- for( int j=1; j<UniverseWidth-1; ++j ) {
- S[i][j] += M[i][j]*(V[i][j+1]-V[i][j]);
- T[i][j] += M[i][j]*(V[i+1][j]-V[i][j]);
- int index = (int)(V[i][j]*(ColorMapSize/2)) + ColorMapSize/2;
- if( index<0 ) index = 0;
- if( index>=ColorMapSize ) index = ColorMapSize-1;
- color_t* c = ColorMap[Material[i][j]];
- drawing.put_pixel(c[index]);
- }
- }
- }
-};
-
-static void ParallelUpdateStress() {
- tbb::parallel_for( tbb::blocked_range<int>( 1, UniverseHeight-1 ), // Index space for loop
- UpdateStressBody(), // Body of loop
- Affinity ); // Affinity hint
-}
-
-static void SerialUpdateVelocity() {
- for( int i=1; i<UniverseHeight-1; ++i )
-#pragma ivdep
- for( int j=1; j<UniverseWidth-1; ++j )
- V[i][j] = D[i][j]*(V[i][j] + L[i][j]*(S[i][j] - S[i][j-1] + T[i][j] - T[i-1][j]));
-}
-
-struct UpdateVelocityBody {
- void operator()( const tbb::blocked_range<int>& range ) const {
- int i_end = range.end();
- for( int i=range.begin(); i!=i_end; ++i )
-#pragma ivdep
- for( int j=1; j<UniverseWidth-1; ++j )
- V[i][j] = D[i][j]*(V[i][j] + L[i][j]*(S[i][j] - S[i][j-1] + T[i][j] - T[i-1][j]));
- }
-};
-
-static void ParallelUpdateVelocity() {
- tbb::parallel_for( tbb::blocked_range<int>( 1, UniverseHeight-1 ), // Index space for loop
- UpdateVelocityBody(), // Body of loop
- Affinity ); // Affinity hint
-}
-
-void SerialUpdateUniverse() {
- UpdatePulse();
- SerialUpdateStress();
- SerialUpdateVelocity();
-}
-
-void ParallelUpdateUniverse() {
- UpdatePulse();
- ParallelUpdateStress();
- ParallelUpdateVelocity();
-}
-
-class seismic_video : public video
-{
- void on_mouse(int x, int y, int key) {
- if(key == 1 && PulseCounter == 0) {
- PulseCounter = PulseTime;
- PulseX = x; PulseY = y;
- }
- }
- void on_key(int key) {
- key &= 0xff;
- if(char(key) == ' ') InitIsParallel = !InitIsParallel;
- else if(char(key) == 'p') InitIsParallel = true;
- else if(char(key) == 's') InitIsParallel = false;
- else if(char(key) == 'e') updating = true;
- else if(char(key) == 'd') updating = false;
- else if(key == 27) running = false;
- title = InitIsParallel?titles[1]:titles[0];
- }
- void on_process() {
- tbb::task_scheduler_init Init(threads_high);
- do {
- if( InitIsParallel )
- ParallelUpdateUniverse();
- else
- SerialUpdateUniverse();
- if( number_of_frames > 0 ) --number_of_frames;
- } while(next_frame() && number_of_frames);
- }
-} video;
-
-void InitializeUniverse() {
- PulseCounter = PulseTime;
- // Initialize V, S, and T to slightly non-zero values, in order to avoid denormal waves.
- for( int i=0; i<UniverseHeight; ++i )
-#pragma ivdep
- for( int j=0; j<UniverseWidth; ++j ) {
- T[i][j] = S[i][j] = V[i][j] = value(1.0E-6);
- }
- for( int i=1; i<UniverseHeight-1; ++i ) {
- for( int j=1; j<UniverseWidth-1; ++j ) {
- float x = float(j-UniverseWidth/2)/(UniverseWidth/2);
- value t = (value)i/UniverseHeight;
- MaterialType m;
- D[i][j] = 1.0;
- // Coefficient values are fictitious, and chosen to visually exaggerate
- // physical effects such as Rayleigh waves. The fabs/exp line generates
- // a shale layer with a gentle upwards slope and an anticline.
- if( t<0.3f ) {
- m = WATER;
- M[i][j] = 0.125;
- L[i][j] = 0.125;
- } else if( fabs(t-0.7+0.2*exp(-8*x*x)+0.025*x)<=0.1 ) {
- m = SHALE;
- M[i][j] = 0.5;
- L[i][j] = 0.6;
- } else {
- m = SANDSTONE;
- M[i][j] = 0.3;
- L[i][j] = 0.4;
- }
- Material[i][j] = m;
- }
- }
- value scale = 2.0f/ColorMapSize;
- for( int k=0; k<4; ++k ) {
- for( int i=0; i<ColorMapSize; ++i ) {
- colorcomp_t c[3];
- value t = (i-ColorMapSize/2)*scale;
- value r = t>0 ? t : 0;
- value b = t<0 ? -t : 0;
- value g = 0.5f*fabs(t);
- memcpy(c, MaterialColor[k], sizeof(c));
- c[2] = colorcomp_t(r*(255-c[2])+c[2]);
- c[1] = colorcomp_t(g*(255-c[1])+c[1]);
- c[0] = colorcomp_t(b*(255-c[0])+c[0]);
- ColorMap[k][i] = video.get_color(c[2], c[1], c[0]);
- }
- }
- // Set damping coefficients around border to reduce reflections from boundaries.
- value d = 1.0;
- for( int k=DamperSize-1; k>0; --k ) {
- d *= 1-1.0f/(DamperSize*DamperSize);
- for( int j=1; j<UniverseWidth-1; ++j ) {
- D[k][j] *= d;
- D[UniverseHeight-k][j] *= d;
- }
- for( int i=1; i<UniverseHeight-1; ++i ) {
- D[i][k] *= d;
- D[i][UniverseWidth-k] *= d;
- }
- }
-}
-
-//////////////////////////////// Interface ////////////////////////////////////
-#ifdef _WINDOWS
-#include "vc7.1/resource.h"
-#endif
-
-int main(int argc, char *argv[])
-{
- // threads number init
- if(argc > 1 && isdigit(argv[1][0])) {
- char* end; threads_high = threads_low = (int)strtol(argv[1],&end,0);
- switch( *end ) {
- case ':': threads_high = (int)strtol(end+1,0,0); break;
- case '\0': break;
- default: printf("unexpected character = %c\n",*end);
- }
- }
- if (argc > 2 && isdigit(argv[2][0])){
- number_of_frames = (int)strtol(argv[2],0,0);
- }
- // video layer init
- video.title = InitIsParallel?titles[1]:titles[0];
-#ifdef _WINDOWS
- #define MAX_LOADSTRING 100
- TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name
- LoadStringA(video::win_hInstance, IDC_SEISMICSIMULATION, szWindowClass, MAX_LOADSTRING);
- LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
- WNDCLASSEX wcex; memset(&wcex, 0, sizeof(wcex));
- wcex.lpfnWndProc = (WNDPROC)WndProc;
- wcex.hIcon = LoadIcon(video::win_hInstance, MAKEINTRESOURCE(IDI_SEISMICSIMULATION));
- wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
- wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wcex.lpszMenuName = LPCTSTR(IDC_SEISMICSIMULATION);
- wcex.lpszClassName = szWindowClass;
- wcex.hIconSm = LoadIcon(video::win_hInstance, MAKEINTRESOURCE(IDI_SMALL));
- video.win_set_class(wcex); // ascii convention here
- video.win_load_accelerators(IDC_SEISMICSIMULATION);
-#endif
- if(video.init_window(UniverseWidth, UniverseHeight)) {
- video.calc_fps = true;
- video.threaded = threads_low > 0;
- // video is ok, init universe
- InitializeUniverse();
- // main loop
- video.main_loop();
- }
- else if(video.init_console()) {
- // do console mode
- if(number_of_frames <= 0) number_of_frames = DEFAULT_NUMBER_OF_FRAMES;
- if(threads_high == tbb::task_scheduler_init::automatic) threads_high = 4;
- if(threads_high < threads_low) threads_high = threads_low;
- for( int p = threads_low; p <= threads_high; ++p ) {
- InitializeUniverse();
- tbb::task_scheduler_init init(tbb::task_scheduler_init::deferred);
- if( p > 0 )
- init.initialize( p );
- tbb::tick_count t0 = tbb::tick_count::now();
- if( p > 0 )
- for( int i=0; i<number_of_frames; ++i )
- ParallelUpdateUniverse();
- else
- for( int i=0; i<number_of_frames; ++i )
- SerialUpdateUniverse();
- tbb::tick_count t1 = tbb::tick_count::now();
- printf("%.1f frame per sec", number_of_frames/(t1-t0).seconds());
- if( p > 0 )
- printf(" with %d way parallelism\n",p);
- else
- printf(" with serial version\n");
- }
- }
- video.terminate();
- return 0;
-}
-
-#ifdef _WINDOWS
-//
-// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
-//
-// PURPOSE: Processes messages for the main window.
-//
-// WM_COMMAND - process the application menu
-// WM_PAINT - Paint the main window
-// WM_DESTROY - post a quit message and return
-//
-//
-LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
- switch (message)
- {
- case WM_INITDIALOG: return TRUE;
- case WM_COMMAND:
- if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
- EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
- }
- break;
- }
- return FALSE;
-}
-
-LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- int wmId, wmEvent;
- switch (message) {
- case WM_COMMAND:
- wmId = LOWORD(wParam);
- wmEvent = HIWORD(wParam);
- // Parse the menu selections:
- switch (wmId)
- {
- case IDM_ABOUT:
- DialogBox(video::win_hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, (DLGPROC)About);
- break;
- case IDM_EXIT:
- PostQuitMessage(0);
- break;
- case ID_FILE_PARALLEL:
- if( !InitIsParallel ) {
- InitIsParallel = true;
- video.title = titles[1];
- }
- break;
- case ID_FILE_SERIAL:
- if( InitIsParallel ) {
- InitIsParallel = false;
- video.title = titles[0];
- }
- break;
- case ID_FILE_ENABLEGUI:
- video.updating = true;
- break;
- case ID_FILE_DISABLEGUI:
- video.updating = false;
- break;
- default:
- return DefWindowProc(hWnd, message, wParam, lParam);
- }
- break;
- default:
- return DefWindowProc(hWnd, message, wParam, lParam);
- }
- return 0;
-}
-
-#endif
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Parallel seismic simulation that demonstrates use of parallel_for.
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="SeismicSimulation.cpp">SeismicSimulation.cpp</A>
-<DD>Source code that does wave propagation.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-The following additional options are supported:
-<DL>
-<DT><TT>make [(general targets: {release, debug} [test])] UI={con, gdi, dd, x, mac}</TT>
-<DD>Build and run as usual, but build with the specified GUI driver: console, GDI+*, Direct Draw*, X11, or OpenGL*
- (see the description of the <A HREF=../../common/index.html>common GUI code</A>
- for more information on available graphics support).
- For Linux* and Mac OS* X systems, the best available driver is detected automatically by the Makefile.
- For Windows* systems, UI=gdi is the default GUI driver; compiling with UI=dd may offer superior
- performance, but can only be used if the Microsoft* Direct Draw* SDK is installed on your system
- and if overlay is supported by your graphics card.
- Use UI=con to build without the GUI for use in making performance measurements
- <I>(strongly recommended when measuring performance or scalability; see note below)</I>.
-<DT><TT>make [(above options or targets)] XARCH=x64</TT>
-<DD>Build and run as above, but also specify XARCH=x64
- (or XARCH=AMD64 for older compilers) when building the example on Windows* as a 64-bit binary.
-<DT><TT>make [(above options or targets)] DDLIB_DIR=<<I>specify path to library directory of Direct Draw* SDK here</I>></TT>
-<DD>If you experience ddraw.lib linking problems, specify the correct library directory via this option.
-<DT><TT>make [(above options or targets)] CXXFLAGS=-DX_FULLSYNC</TT>
-<DD>Build and run as above, but enable full X11 synchronization if you experience "tearing" of motion on slower video systems.
-</DL>
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>seismic [<I>M</I>[:<I>N</I>] [<I>F</I>]]</TT>
-<DD>For non-interactive mode, <I>M</I> and <I>N</I> are a range of numbers of threads to be used.
- For interactive mode, <I>N</I> is the number of threads to use while <I>M</I> indicates if
- a separate thread will be used for the GUI (>0) or not (0). For example,
- <TT>seismic 1:3</TT> will use 3 threads for computation and a separate thread for
- processing GUI events; this option may give better visible performance on a 4-processor
- system when using GDI+ graphics.
-<DD><I>F</I> is the number of frames the example processes internally. Default value is 100;
- reduce it to shorten example run time.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with the desired number of threads and smaller number of frames, e.g., <TT>seismic 4 5</TT>.
-</DL>
-
-<H2>Hot keys</H2>
-The following hot keys can be used in interactive execution mode when the example is compiled with the graphical
-user interface:
-<DL>
-<dt><left mouse button>
-<dd>Starts new seismic wave in place specified by mouse cursor.
-<dt><space>
-<dd>Toggles between parallel and serial execution modes.
-<dt><p>
-<dd>Enables parallel execution mode.
-<dt><s>
-<dd>Enables serial execution mode.
-<dt><e>
-<dd>Enables screen updates.
-<dt><d>
-<dd>Disables screen updates <I>(strongly recommended when measuring performance or scalability; see note below)</I>.
-<dt><esc>
-<dd>Stops execution.
-</DL>
-
-<H2>Notes</H2>
-<UL>
-<LI>While running with the GUI display turned on should yield reasonable performance in most cases, <I>running with the GUI
- display turned off is strongly recommended</I> in order to demonstrate the full performance and scalability of the example.
-<LI>If using the X-windows (X11) GUI on Mac OS* X systems, X11 might not be installed on the system by default.
- To install X11 on Mac OS* X systems, use the operating system install disk, choose "Optional installs" and select X11 from
- the "Applications" list. Alternatively, if X11 is not available, build without the GUI (see build targets above).
-</UL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_SEISMICSIMULATION ICON "SeismicSimulation.ico"
-IDI_SMALL ICON "small.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDC_SEISMICSIMULATION MENU
-BEGIN
- POPUP "&File"
- BEGIN
- MENUITEM "&Parallel", ID_FILE_PARALLEL
- MENUITEM "&Serial", ID_FILE_SERIAL
- MENUITEM SEPARATOR
- MENUITEM "&Enable GUI", ID_FILE_ENABLEGUI
- MENUITEM "&Disable GUI", ID_FILE_DISABLEGUI
- MENUITEM SEPARATOR
- MENUITEM "E&xit", IDM_EXIT
- END
- POPUP "&Help"
- BEGIN
- MENUITEM "&About ...", IDM_ABOUT
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDC_SEISMICSIMULATION ACCELERATORS
-BEGIN
- VK_OEM_2, IDM_ABOUT, VIRTKEY, ALT, NOINVERT
- "P", ID_FILE_PARALLEL, VIRTKEY, ALT, NOINVERT
- "S", ID_FILE_SERIAL, VIRTKEY, ALT, NOINVERT
- "D", ID_FILE_DISABLEGUI, VIRTKEY, ALT, NOINVERT
- "E", ID_FILE_ENABLEGUI, VIRTKEY, ALT, NOINVERT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUTBOX DIALOG 22, 17, 230, 75
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "System"
-BEGIN
- ICON IDI_SEISMICSIMULATION,IDC_MYICON,14,9,16,16
- LTEXT "SeismicSimulation Version 1.1",IDC_STATIC,49,10,119,8,
- SS_NOPREFIX
- LTEXT "Copyright (C) 2005-2008",IDC_STATIC,49,20,119,8
- DEFPUSHBUTTON "OK",IDOK,195,6,30,11,WS_GROUP
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""windows.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_APP_TITLE "SeismicSimulation"
- IDC_SEISMICSIMULATION "SEISMICSIMULATION"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SeismicSimulation", "SeismicSimulation.vcproj", "{4A021AFA-E254-4BCE-918D-377DF1C0CBEC}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- DD Debug = DD Debug
- DD Release = DD Release
- GDI Debug = GDI Debug
- GDI Release = GDI Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.DD Debug.ActiveCfg = DD Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.DD Debug.Build.0 = DD Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.DD Release.ActiveCfg = DD Release|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.DD Release.Build.0 = DD Release|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.GDI Debug.ActiveCfg = Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.GDI Debug.Build.0 = Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.GDI Release.ActiveCfg = Release|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0CBEC}.GDI Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="SeismicSimulation"
- ProjectGUID="{4A021AFA-E254-4BCE-918D-377DF1C0CBEC}"
- RootNamespace="SeismicSimulation"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- GlobalOptimizations="TRUE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="TRUE"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\SeismicSimulation.cpp">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- <File
- RelativePath=".\Resource.h">
- </File>
- <File
- RelativePath=".\SeismicSimulation.ico">
- </File>
- <File
- RelativePath=".\SeismicSimulation.rc">
- </File>
- <File
- RelativePath=".\small.ico">
- </File>
- </Filter>
- <Filter
- Name="Video Layer"
- Filter="">
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp">
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h">
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by SeismicSimulation.rc
-//
-#define IDC_MYICON 2
-#define IDD_SEISMICSIMULATION_DIALOG 102
-#define IDS_APP_TITLE 103
-#define IDD_ABOUTBOX 103
-#define IDM_ABOUT 104
-#define IDM_EXIT 105
-#define IDI_SEISMICSIMULATION 107
-#define IDI_SMALL 108
-#define IDC_SEISMICSIMULATION 109
-#define IDR_MAINFRAME 128
-#define ID_FILE_PARALLEL 32771
-#define ID_FILE_SERIAL 32772
-#define IDM_PARALLEL 32773
-#define ID_FILE_ENABLEGUI 32774
-#define ID_FILE_DISABLEGUI 32775
-#define IDC_STATIC -1
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NO_MFC 1
-#define _APS_NEXT_RESOURCE_VALUE 129
-#define _APS_NEXT_COMMAND_VALUE 32782
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 110
-#endif
-#endif
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_SEISMICSIMULATION ICON "SeismicSimulation.ico"
-IDI_SMALL ICON "small.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDC_SEISMICSIMULATION MENU
-BEGIN
- POPUP "&File"
- BEGIN
- MENUITEM "&Parallel", ID_FILE_PARALLEL
- MENUITEM "&Serial", ID_FILE_SERIAL
- MENUITEM SEPARATOR
- MENUITEM "&Enable GUI", ID_FILE_ENABLEGUI
- MENUITEM "&Disable GUI", ID_FILE_DISABLEGUI
- MENUITEM SEPARATOR
- MENUITEM "E&xit", IDM_EXIT
- END
- POPUP "&Help"
- BEGIN
- MENUITEM "&About ...", IDM_ABOUT
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDC_SEISMICSIMULATION ACCELERATORS
-BEGIN
- VK_OEM_2, IDM_ABOUT, VIRTKEY, ALT, NOINVERT
- "P", ID_FILE_PARALLEL, VIRTKEY, ALT, NOINVERT
- "S", ID_FILE_SERIAL, VIRTKEY, ALT, NOINVERT
- "D", ID_FILE_DISABLEGUI, VIRTKEY, ALT, NOINVERT
- "E", ID_FILE_ENABLEGUI, VIRTKEY, ALT, NOINVERT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUTBOX DIALOG 22, 17, 230, 75
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "System"
-BEGIN
- ICON IDI_SEISMICSIMULATION,IDC_MYICON,14,9,16,16
- LTEXT "SeismicSimulation Version 1.1",IDC_STATIC,49,10,119,8,SS_NOPREFIX
- LTEXT "Copyright (C) 2005-2008",IDC_STATIC,49,20,119,8
- DEFPUSHBUTTON "OK",IDOK,195,6,30,11,WS_GROUP
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""windows.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_APP_TITLE "SeismicSimulation"
- IDC_SEISMICSIMULATION "SEISMICSIMULATION"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SeismicSimulation", "SeismicSimulation.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2527}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DD Debug|Win32 = DD Debug|Win32
- DD Debug|x64 = DD Debug|x64
- DD Release|Win32 = DD Release|Win32
- DD Release|x64 = DD Release|x64
- GDI Debug|Win32 = GDI Debug|Win32
- GDI Debug|x64 = GDI Debug|x64
- GDI Release|Win32 = GDI Release|Win32
- GDI Release|x64 = GDI Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|x64.Build.0 = DD Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|Win32.Build.0 = DD Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|x64.ActiveCfg = DD Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|x64.Build.0 = DD Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="SeismicSimulation"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2527}"
- RootNamespace="SeismicSimulation"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;h;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\SeismicSimulation.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath=".\SeismicSimulation.ico"
- >
- </File>
- <File
- RelativePath=".\SeismicSimulation.rc"
- >
- </File>
- <File
- RelativePath=".\small.ico"
- >
- </File>
- </Filter>
- <Filter
- Name="Video Layer"
- >
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp"
- >
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by SeismicSimulation.rc
-//
-#define IDC_MYICON 2
-#define IDD_SEISMICSIMULATION_DIALOG 102
-#define IDS_APP_TITLE 103
-#define IDD_ABOUTBOX 103
-#define IDM_ABOUT 104
-#define IDM_EXIT 105
-#define IDI_SEISMICSIMULATION 107
-#define IDI_SMALL 108
-#define IDC_SEISMICSIMULATION 109
-#define IDR_MAINFRAME 128
-#define ID_FILE_PARALLEL 32771
-#define ID_FILE_SERIAL 32772
-#define IDM_PARALLEL 32773
-#define ID_FILE_ENABLEGUI 32774
-#define ID_FILE_DISABLEGUI 32775
-#define IDC_STATIC -1
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NO_MFC 1
-#define _APS_NEXT_RESOURCE_VALUE 129
-#define _APS_NEXT_COMMAND_VALUE 32782
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 110
-#endif
-#endif
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_SEISMICSIMULATION ICON "SeismicSimulation.ico"
-IDI_SMALL ICON "small.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDC_SEISMICSIMULATION MENU
-BEGIN
- POPUP "&File"
- BEGIN
- MENUITEM "&Parallel", ID_FILE_PARALLEL
- MENUITEM "&Serial", ID_FILE_SERIAL
- MENUITEM SEPARATOR
- MENUITEM "&Enable GUI", ID_FILE_ENABLEGUI
- MENUITEM "&Disable GUI", ID_FILE_DISABLEGUI
- MENUITEM SEPARATOR
- MENUITEM "E&xit", IDM_EXIT
- END
- POPUP "&Help"
- BEGIN
- MENUITEM "&About ...", IDM_ABOUT
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDC_SEISMICSIMULATION ACCELERATORS
-BEGIN
- VK_OEM_2, IDM_ABOUT, VIRTKEY, ALT, NOINVERT
- "P", ID_FILE_PARALLEL, VIRTKEY, ALT, NOINVERT
- "S", ID_FILE_SERIAL, VIRTKEY, ALT, NOINVERT
- "D", ID_FILE_DISABLEGUI, VIRTKEY, ALT, NOINVERT
- "E", ID_FILE_ENABLEGUI, VIRTKEY, ALT, NOINVERT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUTBOX DIALOG 22, 17, 230, 75
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "System"
-BEGIN
- ICON IDI_SEISMICSIMULATION,IDC_MYICON,14,9,16,16
- LTEXT "SeismicSimulation Version 1.1",IDC_STATIC,49,10,119,8,SS_NOPREFIX
- LTEXT "Copyright (C) 2005-2008",IDC_STATIC,49,20,119,8
- DEFPUSHBUTTON "OK",IDOK,195,6,30,11,WS_GROUP
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""windows.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_APP_TITLE "SeismicSimulation"
- IDC_SEISMICSIMULATION "SEISMICSIMULATION"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SeismicSimulation", "SeismicSimulation.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A2527}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DD Debug|Win32 = DD Debug|Win32
- DD Debug|x64 = DD Debug|x64
- DD Release|Win32 = DD Release|Win32
- DD Release|x64 = DD Release|x64
- GDI Debug|Win32 = GDI Debug|Win32
- GDI Debug|x64 = GDI Debug|x64
- GDI Release|Win32 = GDI Release|Win32
- GDI Release|x64 = GDI Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Debug|x64.Build.0 = DD Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|Win32.Build.0 = DD Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|x64.ActiveCfg = DD Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.DD Release|x64.Build.0 = DD Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A2527}.GDI Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="SeismicSimulation"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A2527}"
- RootNamespace="SeismicSimulation"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb""$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=""$(TBB22_INSTALL_DIR)\include";"$(DXSDK_DIR)\include""
- PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;h;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\SeismicSimulation.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath=".\SeismicSimulation.ico"
- >
- </File>
- <File
- RelativePath=".\SeismicSimulation.rc"
- >
- </File>
- <File
- RelativePath=".\small.ico"
- >
- </File>
- </Filter>
- <Filter
- Name="Video Layer"
- >
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp"
- >
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by SeismicSimulation.rc
-//
-#define IDC_MYICON 2
-#define IDD_SEISMICSIMULATION_DIALOG 102
-#define IDS_APP_TITLE 103
-#define IDD_ABOUTBOX 103
-#define IDM_ABOUT 104
-#define IDM_EXIT 105
-#define IDI_SEISMICSIMULATION 107
-#define IDI_SMALL 108
-#define IDC_SEISMICSIMULATION 109
-#define IDR_MAINFRAME 128
-#define ID_FILE_PARALLEL 32771
-#define ID_FILE_SERIAL 32772
-#define IDM_PARALLEL 32773
-#define ID_FILE_ENABLEGUI 32774
-#define ID_FILE_DISABLEGUI 32775
-#define IDC_STATIC -1
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NO_MFC 1
-#define _APS_NEXT_RESOURCE_VALUE 129
-#define _APS_NEXT_COMMAND_VALUE 32782
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 110
-#endif
-#endif
+++ /dev/null
-{
-IBClasses = ();
-IBVersion = 1;
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>IBDocumentLocation</key>
- <string>662 774 356 240 0 0 1680 1028 </string>
- <key>IBEditorPositions</key>
- <dict>
- <key>29</key>
- <string>863 618 271 44 0 0 1680 1028 </string>
- </dict>
- <key>IBFramework Version</key>
- <string>443.0</string>
- <key>IBOldestOS</key>
- <integer>3</integer>
- <key>IBOpenObjects</key>
- <array>
- <integer>29</integer>
- <integer>166</integer>
- </array>
- <key>IBSystem Version</key>
- <string>8I1119</string>
- <key>targetFramework</key>
- <string>IBCarbonFramework</string>
-</dict>
-</plist>
+++ /dev/null
-<?xml version="1.0" standalone="yes"?>
-<object class="NSIBObjectData">
- <string name="targetFramework">IBCarbonFramework</string>
- <object name="rootObject" class="NSCustomObject" id="1">
- <string name="customClass">NSApplication</string>
- </object>
- <array count="22" name="allObjects">
- <object class="IBCarbonMenu" id="29">
- <string name="title">main</string>
- <array count="3" name="items">
- <object class="IBCarbonMenuItem" id="210">
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Seismic Simulation</string>
- <object name="submenu" class="IBCarbonMenu" id="211">
- <string name="title">Seismic Simulation</string>
- <array count="7" name="items">
- <object class="IBCarbonMenuItem" id="215">
- <boolean name="checked">TRUE</boolean>
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Parallel</string>
- <ostype name="command">para</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="214">
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Serial</string>
- <ostype name="command">seri</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="216">
- <boolean name="separator">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="217">
- <boolean name="checked">TRUE</boolean>
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Enable GUI</string>
- <ostype name="command">egui</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="218">
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Disable GUI</string>
- <ostype name="command">dgui</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="213">
- <boolean name="separator">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="212">
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">About Seismic</string>
- <int name="keyEquivalentModifier">0</int>
- <ostype name="command">abou</ostype>
- </object>
- </array>
- <string name="name">_NSAppleMenu</string>
- </object>
- </object>
- <object class="IBCarbonMenuItem" id="127">
- <string name="title">File</string>
- <object name="submenu" class="IBCarbonMenu" id="131">
- <string name="title">File</string>
- <array count="1" name="items">
- <object class="IBCarbonMenuItem" id="200">
- <string name="title">Close</string>
- <string name="keyEquivalent">w</string>
- <ostype name="command">clos</ostype>
- </object>
- </array>
- </object>
- </object>
- <object class="IBCarbonMenuItem" id="192">
- <string name="title">Window</string>
- <object name="submenu" class="IBCarbonMenu" id="195">
- <string name="title">Window</string>
- <array count="5" name="items">
- <object class="IBCarbonMenuItem" id="190">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Minimize</string>
- <string name="keyEquivalent">m</string>
- <ostype name="command">mini</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="197">
- <string name="title">Zoom</string>
- <ostype name="command">zoom</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="194">
- <boolean name="separator">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="196">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Bring All to Front</string>
- <ostype name="command">bfrt</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="193">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Arrange in Front</string>
- <int name="keyEquivalentModifier">1572864</int>
- <ostype name="command">frnt</ostype>
- </object>
- </array>
- <string name="name">_NSWindowsMenu</string>
- </object>
- </object>
- </array>
- <string name="name">_NSMainMenu</string>
- </object>
- <reference idRef="127"/>
- <reference idRef="131"/>
- <object class="IBCarbonWindow" id="166">
- <string name="windowRect">338 353 698 833 </string>
- <string name="title">Seismic Simulation</string>
- <object name="rootControl" class="IBCarbonRootControl" id="167">
- <string name="bounds">0 0 360 480 </string>
- <string name="viewFrame">0 0 480 360 </string>
- </object>
- <boolean name="receiveUpdates">FALSE</boolean>
- <boolean name="compositing">TRUE</boolean>
- <int name="themeBrush">-1</int>
- <boolean name="asyncDrag">TRUE</boolean>
- <boolean name="doesNotCycle">TRUE</boolean>
- <int name="WindowMinWidth">320</int>
- <int name="WindowMinHeight">200</int>
- </object>
- <reference idRef="167"/>
- <reference idRef="190"/>
- <reference idRef="192"/>
- <reference idRef="193"/>
- <reference idRef="194"/>
- <reference idRef="195"/>
- <reference idRef="196"/>
- <reference idRef="197"/>
- <reference idRef="200"/>
- <reference idRef="210"/>
- <reference idRef="211"/>
- <reference idRef="212"/>
- <reference idRef="213"/>
- <reference idRef="214"/>
- <reference idRef="215"/>
- <reference idRef="216"/>
- <reference idRef="217"/>
- <reference idRef="218"/>
- </array>
- <array count="22" name="allParents">
- <reference idRef="1"/>
- <reference idRef="29"/>
- <reference idRef="127"/>
- <reference idRef="1"/>
- <reference idRef="166"/>
- <reference idRef="195"/>
- <reference idRef="29"/>
- <reference idRef="195"/>
- <reference idRef="195"/>
- <reference idRef="192"/>
- <reference idRef="195"/>
- <reference idRef="195"/>
- <reference idRef="131"/>
- <reference idRef="29"/>
- <reference idRef="210"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- </array>
- <dictionary count="3" name="nameTable">
- <string>Files Owner</string>
- <reference idRef="1"/>
- <string>MainWindow</string>
- <reference idRef="166"/>
- <string>MenuBar</string>
- <reference idRef="29"/>
- </dictionary>
- <unsigned_int name="nextObjectID">219</unsigned_int>
-</object>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.intel.tbb.SeismicSimulation</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>CSResourcesFileMapped</key>
- <true/>
-</dict>
-</plist>
+++ /dev/null
-//
-// Prefix header for all source files of the 'SeismicSimulation' target in the 'SeismicSimulation' project.
-//
-
-#include <Carbon/Carbon.h>
+++ /dev/null
-// !$*UTF8*$!\r
-{\r
- archiveVersion = 1;\r
- classes = {\r
- };\r
- objectVersion = 42;\r
- objects = {\r
-\r
-/* Begin PBXBuildFile section */\r
- 8D0C4E8E0486CD37000505A6 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 02345980000FD03B11CA0E72 /* main.nib */; };\r
- A12649490B8392750091D5AD /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */; };\r
- A126495E0B83936D0091D5AD /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D0C4E960486CD37000505A6 /* Info.plist */; };\r
- A18D2A340B861B99007D8D2C /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A18D2A330B861B99007D8D2C /* libtbb.dylib */; };\r
- A1A8F41E0B8B4DBE001C55B1 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1A8F41D0B8B4DBE001C55B1 /* AGL.framework */; };\r
- A1A8F4310B8B4EA8001C55B1 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1A8F4300B8B4EA8001C55B1 /* Carbon.framework */; };\r
- A1D44D9A0B861E8A0006E401 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A18D2A330B861B99007D8D2C /* libtbb.dylib */; };\r
- A1E3E7BD0B3AD4EC007C3AB5 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */; };\r
- A1F591A90B8DFC7100073279 /* SeismicSimulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F591A80B8DFC7100073279 /* SeismicSimulation.cpp */; };\r
- A1F591AC0B8DFC9600073279 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F591AA0B8DFC9600073279 /* macvideo.cpp */; };\r
-/* End PBXBuildFile section */\r
-\r
-/* Begin PBXCopyFilesBuildPhase section */\r
- A18D2A370B861BB7007D8D2C /* CopyFiles */ = {\r
- isa = PBXCopyFilesBuildPhase;\r
- buildActionMask = 2147483647;\r
- dstPath = "";\r
- dstSubfolderSpec = 16;\r
- files = (\r
- A1D44D9A0B861E8A0006E401 /* libtbb.dylib in CopyFiles */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXCopyFilesBuildPhase section */\r
-\r
-/* Begin PBXFileReference section */\r
- 1870340FFE93FCAF11CA0CD7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/main.nib; sourceTree = "<group>"; };\r
- 32DBCF6D0370B57F00C91783 /* SeismicSimulation.pch */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SeismicSimulation.pch; sourceTree = "<group>"; };\r
- 8D0C4E960486CD37000505A6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };\r
- 8D0C4E970486CD37000505A6 /* SeismicSimulation.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SeismicSimulation.app; sourceTree = BUILT_PRODUCTS_DIR; };\r
- A18D2A330B861B99007D8D2C /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };\r
- A1A8F41D0B8B4DBE001C55B1 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };\r
- A1A8F4300B8B4EA8001C55B1 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };\r
- A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };\r
- A1F591A80B8DFC7100073279 /* SeismicSimulation.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SeismicSimulation.cpp; path = ../SeismicSimulation.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F591AA0B8DFC9600073279 /* macvideo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macvideo.cpp; path = ../../../common/gui/macvideo.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F591AB0B8DFC9600073279 /* video.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = video.h; path = ../../../common/gui/video.h; sourceTree = SOURCE_ROOT; };\r
-/* End PBXFileReference section */\r
-\r
-/* Begin PBXFrameworksBuildPhase section */\r
- 8D0C4E910486CD37000505A6 /* Frameworks */ = {\r
- isa = PBXFrameworksBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1E3E7BD0B3AD4EC007C3AB5 /* OpenGL.framework in Frameworks */,\r
- A12649490B8392750091D5AD /* OpenGL.framework in Frameworks */,\r
- A18D2A340B861B99007D8D2C /* libtbb.dylib in Frameworks */,\r
- A1A8F41E0B8B4DBE001C55B1 /* AGL.framework in Frameworks */,\r
- A1A8F4310B8B4EA8001C55B1 /* Carbon.framework in Frameworks */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXFrameworksBuildPhase section */\r
-\r
-/* Begin PBXGroup section */\r
- 195DF8CFFE9D517E11CA2CBB /* Products */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 8D0C4E970486CD37000505A6 /* SeismicSimulation.app */,\r
- );\r
- name = Products;\r
- sourceTree = "<group>";\r
- };\r
- 20286C29FDCF999611CA2CEA /* SeismicSimulation */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 20286C2AFDCF999611CA2CEA /* Sources */,\r
- 20286C2CFDCF999611CA2CEA /* Resources */,\r
- 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */,\r
- 195DF8CFFE9D517E11CA2CBB /* Products */,\r
- );\r
- name = SeismicSimulation;\r
- sourceTree = "<group>";\r
- };\r
- 20286C2AFDCF999611CA2CEA /* Sources */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1F591A80B8DFC7100073279 /* SeismicSimulation.cpp */,\r
- A1F591AA0B8DFC9600073279 /* macvideo.cpp */,\r
- A1F591AB0B8DFC9600073279 /* video.h */,\r
- 32DBCF6D0370B57F00C91783 /* SeismicSimulation.pch */,\r
- );\r
- name = Sources;\r
- sourceTree = "<group>";\r
- };\r
- 20286C2CFDCF999611CA2CEA /* Resources */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 8D0C4E960486CD37000505A6 /* Info.plist */,\r
- 02345980000FD03B11CA0E72 /* main.nib */,\r
- );\r
- name = Resources;\r
- sourceTree = "<group>";\r
- };\r
- 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A18D2A330B861B99007D8D2C /* libtbb.dylib */,\r
- A1A8F4300B8B4EA8001C55B1 /* Carbon.framework */,\r
- A1A8F41D0B8B4DBE001C55B1 /* AGL.framework */,\r
- A1E3E7BC0B3AD4EC007C3AB5 /* OpenGL.framework */,\r
- );\r
- name = "External Frameworks and Libraries";\r
- sourceTree = "<group>";\r
- };\r
-/* End PBXGroup section */\r
-\r
-/* Begin PBXNativeTarget section */\r
- 8D0C4E890486CD37000505A6 /* SeismicSimulation */ = {\r
- isa = PBXNativeTarget;\r
- buildConfigurationList = C0E91AC508A95435008D54AB /* Build configuration list for PBXNativeTarget "SeismicSimulation" */;\r
- buildPhases = (\r
- 8D0C4E8C0486CD37000505A6 /* Resources */,\r
- 8D0C4E8F0486CD37000505A6 /* Sources */,\r
- 8D0C4E910486CD37000505A6 /* Frameworks */,\r
- A18D2A370B861BB7007D8D2C /* CopyFiles */,\r
- );\r
- buildRules = (\r
- );\r
- dependencies = (\r
- );\r
- name = SeismicSimulation;\r
- productInstallPath = "$(HOME)/Applications";\r
- productName = SeismicSimulation;\r
- productReference = 8D0C4E970486CD37000505A6 /* SeismicSimulation.app */;\r
- productType = "com.apple.product-type.application";\r
- };\r
-/* End PBXNativeTarget section */\r
-\r
-/* Begin PBXProject section */\r
- 20286C28FDCF999611CA2CEA /* Project object */ = {\r
- isa = PBXProject;\r
- buildConfigurationList = C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "SeismicSimulation" */;\r
- hasScannedForEncodings = 1;\r
- mainGroup = 20286C29FDCF999611CA2CEA /* SeismicSimulation */;\r
- projectDirPath = "";\r
- targets = (\r
- 8D0C4E890486CD37000505A6 /* SeismicSimulation */,\r
- );\r
- };\r
-/* End PBXProject section */\r
-\r
-/* Begin PBXResourcesBuildPhase section */\r
- 8D0C4E8C0486CD37000505A6 /* Resources */ = {\r
- isa = PBXResourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- 8D0C4E8E0486CD37000505A6 /* main.nib in Resources */,\r
- A126495E0B83936D0091D5AD /* Info.plist in Resources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXResourcesBuildPhase section */\r
-\r
-/* Begin PBXSourcesBuildPhase section */\r
- 8D0C4E8F0486CD37000505A6 /* Sources */ = {\r
- isa = PBXSourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F591A90B8DFC7100073279 /* SeismicSimulation.cpp in Sources */,\r
- A1F591AC0B8DFC9600073279 /* macvideo.cpp in Sources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXSourcesBuildPhase section */\r
-\r
-/* Begin PBXVariantGroup section */\r
- 02345980000FD03B11CA0E72 /* main.nib */ = {\r
- isa = PBXVariantGroup;\r
- children = (\r
- 1870340FFE93FCAF11CA0CD7 /* English */,\r
- );\r
- name = main.nib;\r
- sourceTree = "<group>";\r
- };\r
-/* End PBXVariantGroup section */\r
-\r
-/* Begin XCBuildConfiguration section */\r
- C0E91AC608A95435008D54AB /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- COPY_PHASE_STRIP = NO;\r
- GCC_DYNAMIC_NO_PIC = NO;\r
- GCC_ENABLE_FIX_AND_CONTINUE = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_OPTIMIZATION_LEVEL = 0;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PRODUCT_NAME = SeismicSimulation;\r
- };\r
- name = Debug;\r
- };\r
- C0E91AC708A95435008D54AB /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;\r
- GCC_MODEL_TUNING = "";\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PRODUCT_NAME = SeismicSimulation;\r
- };\r
- name = Release;\r
- };\r
- C0E91ACA08A95435008D54AB /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ARCHS = i386;\r
- GCC_AUTO_VECTORIZATION = YES;\r
- GCC_ENABLE_CPP_RTTI = YES;\r
- GCC_ENABLE_SSE3_EXTENSIONS = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_OPTIMIZATION_LEVEL = 0;\r
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\r
- MACH_O_TYPE = mh_execute;\r
- MACOSX_DEPLOYMENT_TARGET = 10.4;\r
- PREBINDING = NO;\r
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;\r
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;\r
- SYMROOT = "/tmp/tbb-$(USER)";\r
- };\r
- name = Debug;\r
- };\r
- C0E91ACB08A95435008D54AB /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ARCHS = i386;\r
- GCC_AUTO_VECTORIZATION = YES;\r
- GCC_ENABLE_CPP_RTTI = YES;\r
- GCC_ENABLE_SSE3_EXTENSIONS = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_OPTIMIZATION_LEVEL = 3;\r
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\r
- MACH_O_TYPE = mh_execute;\r
- MACOSX_DEPLOYMENT_TARGET = 10.4;\r
- PREBINDING = NO;\r
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;\r
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;\r
- SYMROOT = "/tmp/tbb-$(USER)";\r
- };\r
- name = Release;\r
- };\r
-/* End XCBuildConfiguration section */\r
-\r
-/* Begin XCConfigurationList section */\r
- C0E91AC508A95435008D54AB /* Build configuration list for PBXNativeTarget "SeismicSimulation" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- C0E91AC608A95435008D54AB /* Debug */,\r
- C0E91AC708A95435008D54AB /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
- C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "SeismicSimulation" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- C0E91ACA08A95435008D54AB /* Debug */,\r
- C0E91ACB08A95435008D54AB /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
-/* End XCConfigurationList section */\r
- };\r
- rootObject = 20286C28FDCF999611CA2CEA /* Project object */;\r
-}\r
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# The original source for this example is
-# Copyright (c) 1994-2008 John E. Stone
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-
-# GNU Makefile that builds and runs example.
-NAME:=tachyon
-
-# The C++ compiler
-#CXX = g++
-
-# The default dataset
-export DATASET = balls
-# The default runtime arguments
-export ARGS =
-
-# define name suffix
-SUFFIX = .$(VERSION)
-
-LIBS ?= -lm
-
-include ../../common/gui/Makefile.gmake
-
-ifeq ($(UI),x)
-CXXFLAGS += -DX_FULLSYNC
-ifneq (,$(findstring -lXext,$(LIBS)))
-CXXFLAGS += -DX_NOSHMPIX
-endif
-endif # X
-
-MYCXXFLAGS = $(CXXFLAGS)
-
-all: build run
-release: build
-debug: build_debug
-test: run
-
-build: build_serial build_tbb1d build_tbb
-build_debug: build_serial_debug build_tbb1d_debug build_tbb_debug
-run: run_serial run_tbb1d run_tbb
-
-serial: build_serial run_serial
-serial_debug: build_serial_debug run_serial
-tbb: build_tbb run_tbb
-tbb_debug: build_tbb_debug run_tbb
-tbb1d: build_tbb1d run_tbb1d
-tbb1d_debug: build_tbb1d_debug run_tbb1d
-
-build_serial:
- $(MAKE) VERSION=serial build_one
-build_serial_debug:
- $(MAKE) VERSION=serial ADD_DEBUG=1 build_one
-run_serial:
- $(MAKE) VERSION=serial run_one
-
-build_tbb:
- $(MAKE) VERSION=tbb ADD_TBB=1 build_one
-build_tbb_debug:
- $(MAKE) VERSION=tbb ADD_TBB=1 ADD_DEBUG=1 build_one
-run_tbb:
- $(MAKE) VERSION=tbb run_one
-
-build_tbb1d:
- $(MAKE) VERSION=tbb1d ADD_TBB=1 build_one
-build_tbb1d_debug:
- $(MAKE) VERSION=tbb1d ADD_TBB=1 ADD_DEBUG=1 build_one
-run_tbb1d:
- $(MAKE) VERSION=tbb1d run_one
-
-
-#
-# Per-build Makefile rules (for recursive $(MAKE) calls from above)
-#
-
-SVERSION = $(VERSION)
-
-ifeq ($(ADD_DEBUG),1)
-MYCXXFLAGS += -O0 -g -D_DEBUG
-else
-MYCXXFLAGS += -O2
-endif
-
-
-ifeq ($(ADD_TBB),1)
-MYCXXFLAGS +=
-ifeq ($(ADD_DEBUG),1)
-MYCXXFLAGS += -DTBB_USE_DEBUG
-LIBS += -ltbb_debug
-else
-LIBS += -ltbb
-endif
-endif
-
-SOURCE = ../../common/gui/$(UI)video.cpp src/trace.$(SVERSION).cpp src/pthread.cpp src/video.cpp src/api.cpp src/apigeom.cpp src/apitrigeom.cpp src/bndbox.cpp src/box.cpp src/camera.cpp src/coordsys.cpp src/cylinder.cpp src/extvol.cpp src/getargs.cpp src/global.cpp src/grid.cpp src/imageio.cpp src/imap.cpp src/intersect.cpp src/jpeg.cpp src/light.cpp src/objbound.cpp src/parse.cpp src/plane.cpp src/ppm.cpp src/quadric.cpp src/render.cpp src/ring.cpp src/shade.cpp src/sphere.cpp src/texture.cpp src/tgafile.cpp src/trace_rest.cpp src/triangle.cpp src/ui.cpp src/util.cpp src/vector.cpp src/vol.cpp
-
-build_one: $(EXE)
-
-run_one:
-ifeq ($(UI),mac)
- export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(ARGS) dat/$(DATASET).dat
-else
- ./$(EXE) $(ARGS) dat/$(DATASET).dat
-endif
-
-$(EXE): $(SOURCE)
-ifeq ($(UI),mac)
- mkdir -p $(APPRES)/English.lproj $(NAME).$(VERSION).app/Contents/MacOS
- $(PBXCP) xcode/English.lproj/main.nib $(APPRES)/English.lproj
- $(PBXCP) xcode/Info.plist $(APPRES)
-endif
- $(CXX) $(MYCXXFLAGS) -o $@ $(SOURCE) $(LIBS)
- $(RM) *.o
-
-clean: VERSION = *
-clean:
- $(RM) $(EXE) *.o *.d
-ifeq ($(UI),mac)
- rm -rf $(NAME).*
-endif
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# The original source for this example is
-# Copyright (c) 1994-2008 John E. Stone
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-
-# Common Makefile that builds and runs example.
-
-# The C++ compiler
-CXX = cl.exe
-
-# Uncomment one of next lines to choose user interface type (console, gdiplus, direct draw)
-#UI = con
-UI = gdi
-#UI = dd
-
-# Machine architecture, auto-detected from TBB_ARCH_PLATFORM by default
-# Use XARCH variable to change it. See index.html for more information
-ARCH0 = $(TBB_ARCH_PLATFORM)-
-ARCHA = $(ARCH0:\vc7.1-=)
-ARCHB = $(ARCHA:\vc8-=)
-ARCHC = $(ARCHB:\vc9-=)
-ARCH3 = $(ARCHC:ia32=x86)
-ARCH4 = $(ARCH3:intel64=AMD64)
-XARCH = $(ARCH4:-=x86)
-
-# The default dataset
-DATASET = balls
-# The default runtime arguments
-ARGS =
-
-# Add these for tbb/tbb1d release builds
-CXXFLAGS_TBB_NDEBUG = $(CXXFLAGS)
-LIBS_TBB_NDEBUG = tbb.lib $(LIBS)
-
-# Add these for tbb/tbb1d debug builds
-CXXFLAGS_TBB_DEBUG = $(CXXFLAGS) /D TBB_USE_DEBUG
-LIBS_TBB_DEBUG = tbb_debug.lib $(LIBS)
-
-
-MAKEINC = ../../common/gui/Makefile.win
-SOURCE = src/pthread.cpp src/video.cpp src/api.cpp src/apigeom.cpp src/apitrigeom.cpp src/bndbox.cpp src/box.cpp src/camera.cpp src/coordsys.cpp src/cylinder.cpp src/extvol.cpp src/getargs.cpp src/global.cpp src/grid.cpp src/imageio.cpp src/imap.cpp src/intersect.cpp src/jpeg.cpp src/light.cpp src/objbound.cpp src/parse.cpp src/plane.cpp src/ppm.cpp src/quadric.cpp src/render.cpp src/ring.cpp src/shade.cpp src/sphere.cpp src/texture.cpp src/tgafile.cpp src/trace_rest.cpp src/triangle.cpp src/ui.cpp src/util.cpp src/vector.cpp src/vol.cpp
-
-# Targets
-all: build run
-release: build
-debug: build_debug
-test: run
-
-build: build_serial build_tbb1d build_tbb
-build_debug: build_serial_debug build_tbb1d_debug build_tbb_debug
-run: run_serial run_tbb1d run_tbb
-
-serial: build_serial run_serial
-serial_debug: build_serial_debug run_serial
-tbb: build_tbb run_tbb
-tbb_debug: build_tbb_debug run_tbb
-tbb1d: build_tbb1d run_tbb1d
-tbb1d_debug: build_tbb1d_debug run_tbb1d
-
-build_serial:
- @$(MAKE) -f $(MAKEINC) SOURCE="src/trace.serial.cpp $(SOURCE)" EXE=tachyon.serial.exe RCNAME=gui UI=$(UI) CXX="$(CXX)" CXXFLAGS=$(CXXFLAGS) XARCH=$(XARCH) build_one
-build_serial_debug:
- @$(MAKE) -f $(MAKEINC) SOURCE="src/trace.serial.cpp $(SOURCE)" EXE=tachyon.serial.exe RCNAME=gui UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS=$(CXXFLAGS) XARCH=$(XARCH) build_one
-run_serial:
- -.\tachyon.serial.exe $(ARGS) dat\$(DATASET).dat
-
-build_tbb:
- @$(MAKE) -f $(MAKEINC) SOURCE="src/trace.tbb.cpp $(SOURCE)" EXE=tachyon.tbb.exe RCNAME=gui UI=$(UI) CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS_TBB_NDEBUG)" LFLAGS="$(LIBS_TBB_NDEBUG)" XARCH=$(XARCH) build_one
-build_tbb_debug:
- @$(MAKE) -f $(MAKEINC) SOURCE="src/trace.tbb.cpp $(SOURCE)" EXE=tachyon.tbb.exe RCNAME=gui UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS_TBB_DEBUG)" LFLAGS="$(LIBS_TBB_DEBUG)" XARCH=$(XARCH) build_one
-run_tbb:
- -.\tachyon.tbb.exe $(ARGS) dat\$(DATASET).dat
-
-build_tbb1d:
- @$(MAKE) -f $(MAKEINC) SOURCE="src/trace.tbb1d.cpp $(SOURCE)" EXE=tachyon.tbb1d.exe RCNAME=gui UI=$(UI) CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS_TBB_NDEBUG)" LFLAGS="$(LIBS_TBB_NDEBUG)" XARCH=$(XARCH) build_one
-build_tbb1d_debug:
- @$(MAKE) -f $(MAKEINC) SOURCE="src/trace.tbb1d.cpp $(SOURCE)" EXE=tachyon.tbb1d.exe RCNAME=gui UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS_TBB_DEBUG)" LFLAGS="$(LIBS_TBB_DEBUG)" XARCH=$(XARCH) build_one
-run_tbb1d:
- -.\tachyon.tbb1d.exe $(ARGS) dat\$(DATASET).dat
-
-
-clean:
- @cmd.exe /C del tachyon.* *.manifest *.obj vc7.1\gui.res *.?db
+++ /dev/null
-BEGIN_SCENE
- OUTFILE /dev/null
- RESOLUTION 512 512
- VERBOSE 0
-
-CAMERA
- ZOOM 1.0
- ASPECTRATIO 1.0
- ANTIALIASING 0
- RAYDEPTH 12
- CENTER 0.0 0.0 2.0
- VIEWDIR 0 0 -1
- UPDIR 0 1 0
-
-END_CAMERA
-
-LIGHT CENTER 4 3 2 RAD 0.2 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 1 -4 4 RAD 0.2 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER -3 1 5 RAD 0.2 COLOR 0.5 0.5 0.5
-
-TEXDEF txt001 AMBIENT 0.2 DIFFUSE 0.8 SPECULAR 0 OPACITY 1
- COLOR 1 0.75 0.33
- TEXFUNC 0
-
-TEXDEF txt002 AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- COLOR 1.0 1.0 1.0 TEXFUNC 0
-
- SPHERE CENTER 0 0 0 RAD 0.5
- txt002
- SPHERE CENTER 0.272166 0.272166 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER 0.420314 0.420314 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER 0.470715 0.470715 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER 0.461623 0.409245 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.409245 0.461623 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.429405 0.481784 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.367935 0.472692 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.379004 0.431383 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.481784 0.429405 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.431383 0.379004 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.472692 0.367935 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.461844 0.304709 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.492085 0.33495 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.424345 0.305171 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.435193 0.368397 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.529584 0.334488 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.472692 0.367935 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.499343 0.304247 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.518736 0.271262 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.488495 0.241021 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.450996 0.241483 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.304709 0.461844 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.33495 0.492085 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.368397 0.435193 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.305171 0.424345 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.271262 0.518736 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.241483 0.450996 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.241021 0.488495 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.334488 0.529584 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.304247 0.499343 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.367935 0.472692 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.230635 0.38777 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.2506 0.446614 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.301839 0.407906 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.253236 0.449775 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.179397 0.426478 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.182032 0.429639 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.159431 0.367634 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.227999 0.384609 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.208034 0.325765 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.279238 0.345901 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.115031 0.4293 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.102505 0.502308 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.160392 0.474661 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.160392 0.474661 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0571437 0.456947 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.115031 0.4293 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0696698 0.383939 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0571437 0.456947 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0696698 0.383939 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.115031 0.4293 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.082487 0.239622 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0438957 0.258053 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.117687 0.252557 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0863845 0.308551 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.00869528 0.245118 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0511841 0.295616 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0472866 0.226687 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0399982 0.189123 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0785895 0.170692 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.11379 0.183628 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.38777 0.230635 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.446614 0.2506 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.449775 0.253236 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.407906 0.301839 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.384609 0.227999 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.345901 0.279238 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.325765 0.208034 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.426478 0.179397 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.367634 0.159431 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.429639 0.182032 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.239622 0.082487 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.258053 0.0438957 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.308551 0.0863845 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.252557 0.117687 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.189123 0.0399982 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.183628 0.11379 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.170692 0.0785895 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.245118 0.00869528 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER 0.226687 0.0472866 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.295616 0.0511841 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.4293 0.115031 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.502308 0.102505 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.474661 0.160392 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.474661 0.160392 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.456947 0.0571437 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.4293 0.115031 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.383939 0.0696698 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.456947 0.0571437 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.383939 0.0696698 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.4293 0.115031 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.643951 0.172546 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.802608 0.281471 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.824035 0.30566 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.787796 0.241352 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.752156 0.305221 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.838847 0.34578 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.766968 0.345341 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.817421 0.321591 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.874487 0.28191 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.853061 0.257721 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.838248 0.217602 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.643951 0.172546 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.61371 0.202787 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.5724 0.191718 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.624779 0.244096 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.68526 0.183615 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.696329 0.224924 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.715501 0.153374 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.632882 0.131237 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.663122 0.100996 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.591572 0.120168 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.594141 0.358439 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.619127 0.408291 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.665691 0.37761 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.638217 0.337042 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.547576 0.389119 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.566667 0.317871 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.522591 0.339267 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.57505 0.429687 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.550064 0.379835 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.621614 0.399007 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.802608 0.281471 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.858698 0.329459 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.845371 0.280879 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.798572 0.337088 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.815936 0.330051 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.75581 0.33768 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.759846 0.282063 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.862735 0.273842 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.806645 0.225855 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.849407 0.225263 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.594141 0.358439 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.613592 0.428945 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.665691 0.37761 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.621614 0.399007 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.542042 0.409774 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.550064 0.379835 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.522591 0.339267 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.586119 0.388377 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.566667 0.317871 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.638217 0.337042 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.643951 0.172546 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.674191 0.202787 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.715501 0.191718 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.663122 0.244096 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.602641 0.183615 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.591572 0.224924 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.5724 0.153374 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.655019 0.131237 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.624779 0.100996 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.696329 0.120168 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.852418 0.0955788 2.30268e-16 RAD 0.0555556
- txt002
- SPHERE CENTER 0.922609 0.11107 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.867231 0.135698 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.877966 0.164775 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.907797 0.0709499 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.863153 0.124655 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.837606 0.0554592 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.897062 0.0418734 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.826871 0.0263827 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.841683 0.0665023 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.69376 -0.0133465 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.740325 -0.0440268 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.76531 0.0058253 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.721234 0.0272215 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.668775 -0.0631985 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.649684 0.00804971 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.62221 -0.0325183 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.712851 -0.0845947 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.666287 -0.0539145 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.737837 -0.0347427 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.69376 -0.0133465 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.745859 -0.0646815 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.76531 0.0058253 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.737837 -0.0347427 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.674309 -0.0838533 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.666287 -0.0539145 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.62221 -0.0325183 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.701782 -0.0432853 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.649684 0.00804971 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.721234 0.0272215 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.172546 0.643951 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.281471 0.802608 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.30566 0.824035 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.305221 0.752156 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.241352 0.787796 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.28191 0.874487 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.217602 0.838248 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.257721 0.853061 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.34578 0.838847 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.321591 0.817421 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.345341 0.766968 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.358439 0.594141 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.408291 0.619127 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.337042 0.638217 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.37761 0.665691 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.429687 0.57505 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399007 0.621614 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.379835 0.550064 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389119 0.547576 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.339267 0.522591 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.317871 0.566667 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.172546 0.643951 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.142305 0.674191 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.100996 0.663122 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.153374 0.715501 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.213855 0.655019 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.224924 0.696329 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.244096 0.624779 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.161477 0.602641 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.191718 0.5724 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.120168 0.591572 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0955788 0.852418 1.31582e-16 RAD 0.0555556
- txt002
- SPHERE CENTER 0.11107 0.922609 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.164775 0.877966 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.135698 0.867231 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0418734 0.897062 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0665023 0.841683 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0263827 0.826871 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0709499 0.907797 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0554592 0.837606 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.124655 0.863153 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0133465 0.69376 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0646815 0.745859 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0347427 0.737837 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0058253 0.76531 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0432853 0.701782 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0272215 0.721234 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.00804971 0.649684 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0838533 0.674309 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0325183 0.62221 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0539145 0.666287 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0133465 0.69376 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0440268 0.740325 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0272215 0.721234 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0058253 0.76531 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0845947 0.712851 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0347427 0.737837 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0539145 0.666287 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0631985 0.668775 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0325183 0.62221 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.00804971 0.649684 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.281471 0.802608 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.329459 0.858698 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.337088 0.798572 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.280879 0.845371 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.273842 0.862735 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.225263 0.849407 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.225855 0.806645 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.330051 0.815936 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.282063 0.759846 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.33768 0.75581 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.172546 0.643951 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.202787 0.674191 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.244096 0.663122 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.191718 0.715501 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.131237 0.655019 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.120168 0.696329 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.100996 0.624779 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.183615 0.602641 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.153374 0.5724 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.224924 0.591572 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.358439 0.594141 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.428945 0.613592 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399007 0.621614 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.37761 0.665691 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.388377 0.586119 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.337042 0.638217 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.317871 0.566667 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.409774 0.542042 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.339267 0.522591 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.379835 0.550064 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.371785 0.0996195 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER -0.393621 0.220501 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER -0.368601 0.279642 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.321889 0.238665 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.372464 0.281062 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.440333 0.261479 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.444196 0.262898 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.465353 0.202338 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.389758 0.219082 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER -0.414778 0.15994 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER -0.343046 0.178104 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER -0.191247 0.166275 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.130089 0.20793 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.154295 0.172673 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.192135 0.230419 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.167041 0.201532 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.229087 0.224021 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.228199 0.159877 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.129201 0.143787 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.190359 0.102131 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.153407 0.108529 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.31427 0.31427 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.277961 0.367156 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.252306 0.297666 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.31427 0.31427 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.339925 0.383759 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.376234 0.330873 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.376234 0.330873 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.277961 0.367156 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.31427 0.31427 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.252306 0.297666 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.574159 0.153845 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER -0.612768 0.202534 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER -0.543919 0.184086 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER -0.554987 0.225396 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.643008 0.172294 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER -0.585228 0.195155 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER -0.6044 0.123605 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER -0.631939 0.130984 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.56309 0.112536 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER -0.494808 0.247614 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER -0.494287 0.313607 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.452978 0.302539 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.434629 0.269833 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.536117 0.258683 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER -0.476459 0.214908 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER -0.536638 0.19269 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER -0.554467 0.291389 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER -0.554987 0.225396 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.513157 0.28032 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER -0.552323 0.0329639 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER -0.625877 0.0248832 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER -0.584567 0.0138144 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.593633 0.0440327 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER -0.561087 0.101445 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER -0.520079 0.0521134 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER -0.584869 -0.0244483 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.511316 -0.0163676 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.54356 -0.0355172 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.451136 0.0058509 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER -0.447081 0.0051487 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER -0.386138 0.0172804 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER -0.439178 0.0688765 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER -0.512079 -0.00628079 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.504176 0.0574471 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.516134 -0.00557859 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.459039 -0.0578769 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.463094 -0.0571747 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.398096 -0.0457452 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.424299 -0.178985 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.367336 -0.131634 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.486264 -0.162382 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.491265 -0.0984274 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.491265 -0.0984274 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.424299 -0.178985 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.367336 -0.131634 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.248762 -0.0483751 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.183785 -0.0599222 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.187119 -0.0172857 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.215921 0.00673113 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.245428 -0.0910116 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.277564 -0.0243582 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.310405 -0.0794645 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.216626 -0.115028 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.281603 -0.103481 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.21996 -0.0723919 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.471405 0.471405 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.508983 0.690426 1.25414e-16 RAD 0.0555556
- txt002
- SPHERE CENTER -0.484794 0.755941 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.436283 0.7029 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.478434 0.695668 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.557494 0.743468 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.551134 0.683194 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.581682 0.677953 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.515343 0.7507 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.539531 0.685185 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.466832 0.697658 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.335322 0.607487 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.283164 0.659645 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.286452 0.603979 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.33883 0.656357 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.332034 0.663153 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.3877 0.659866 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.384191 0.610996 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.279656 0.610775 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.331813 0.558618 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.282943 0.555109 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.335322 0.607487 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.313405 0.629404 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.331813 0.558618 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.384191 0.610996 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.316914 0.678274 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.3877 0.659866 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.33883 0.656357 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.264535 0.625895 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.286452 0.603979 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.282943 0.555109 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.645066 0.554344 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.681385 0.616373 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.649723 0.609912 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.607573 0.617144 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.676727 0.560805 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.602915 0.561576 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.640408 0.498776 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.718878 0.553573 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.682558 0.491544 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.687216 0.547112 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.471405 0.471405 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.501645 0.501645 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.542955 0.490576 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.490576 0.542955 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.430095 0.482473 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.419026 0.523783 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.399854 0.452233 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.482473 0.430095 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.452233 0.399854 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.523783 0.419026 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.607487 0.335322 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.659645 0.283164 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.603979 0.286452 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.656357 0.33883 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.663153 0.332034 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.659866 0.3877 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.610996 0.384191 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.610775 0.279656 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.558618 0.331813 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.555109 0.282943 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.645066 0.554344 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.668521 0.610229 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.598918 0.585648 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.619787 0.622977 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.714669 0.578925 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.665934 0.591673 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.691213 0.52304 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.6938 0.541596 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.670344 0.48571 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.624197 0.517014 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.607487 0.335322 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.629404 0.313405 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.558618 0.331813 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.610996 0.384191 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.678274 0.316914 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.659866 0.3877 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.656357 0.33883 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.625895 0.264535 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.603979 0.286452 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.555109 0.282943 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.471405 0.471405 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.441164 0.501645 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.399854 0.490576 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.452233 0.542955 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.512714 0.482473 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.523783 0.523783 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.542955 0.452233 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.460336 0.430095 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.490576 0.399854 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.419026 0.419026 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.643951 -0.172546 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.835815 -0.157543 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.871646 -0.122136 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.799077 -0.135649 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.82339 -0.0854653 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.908384 -0.14403 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.860128 -0.107359 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.872552 -0.179437 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.884071 -0.194213 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.84824 -0.229621 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.811502 -0.207727 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.643951 -0.172546 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.61371 -0.142305 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.5724 -0.153374 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.624779 -0.100996 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.68526 -0.161477 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.696329 -0.120168 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.715501 -0.191718 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.632882 -0.213855 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.663122 -0.244096 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.591572 -0.224924 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.69376 0.0133465 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.674309 0.0838533 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.62221 0.0325183 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.666287 0.0539145 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.745859 0.0646815 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.737837 0.0347427 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.76531 -0.0058253 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.701782 0.0432853 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.721234 -0.0272215 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.649684 -0.00804971 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.835815 -0.157543 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.899353 -0.119969 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.868703 -0.130205 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.836885 -0.0844101 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.866465 -0.147308 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.803997 -0.111748 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.802927 -0.184881 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.898283 -0.193102 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.834745 -0.230676 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.867633 -0.203337 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.69376 0.0133465 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.668775 0.0631985 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.62221 0.0325183 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.649684 -0.00804971 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.740325 0.0440268 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.721234 -0.0272215 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.76531 -0.0058253 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.712851 0.0845947 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.737837 0.0347427 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.666287 0.0539145 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.643951 -0.172546 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.674191 -0.142305 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.715501 -0.153374 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.663122 -0.100996 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.602641 -0.161477 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.591572 -0.120168 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.5724 -0.191718 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.655019 -0.213855 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.624779 -0.244096 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.696329 -0.224924 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.786005 -0.343435 1.25414e-16 RAD 0.0555556
- txt002
- SPHERE CENTER -0.82165 -0.392454 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.753118 -0.370774 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.80984 -0.323622 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.854538 -0.365116 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.842728 -0.296284 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.818893 -0.316097 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.797815 -0.412267 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.76217 -0.363249 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.729282 -0.390587 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.594141 -0.358439 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.542042 -0.409774 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.522591 -0.339267 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.550064 -0.379835 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.613592 -0.428945 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.621614 -0.399007 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.665691 -0.37761 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.586119 -0.388377 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.638217 -0.337042 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.566667 -0.317871 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.594141 -0.358439 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.547576 -0.389119 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.522591 -0.339267 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.566667 -0.317871 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.619127 -0.408291 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.638217 -0.337042 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.665691 -0.37761 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.57505 -0.429687 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.621614 -0.399007 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.550064 -0.379835 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0996195 -0.371785 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER 0.220501 -0.393621 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.279642 -0.368601 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.281062 -0.372464 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.238665 -0.321889 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.219082 -0.389758 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.178104 -0.343046 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.15994 -0.414778 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.261479 -0.440333 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.202338 -0.465353 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.262898 -0.444196 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.367156 -0.277961 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.297666 -0.252306 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.367156 -0.277961 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.297666 -0.252306 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.383759 -0.339925 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.330873 -0.376234 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.330873 -0.376234 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.166275 -0.191247 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.20793 -0.130089 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER 0.230419 -0.192135 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.172673 -0.154295 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.143787 -0.129201 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.108529 -0.153407 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.102131 -0.190359 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.201532 -0.167041 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.159877 -0.228199 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.224021 -0.229087 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0058509 -0.451136 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0051487 -0.447081 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0688765 -0.439178 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0172804 -0.386138 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0578769 -0.459039 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0457452 -0.398096 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0571747 -0.463094 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00628079 -0.512079 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00557859 -0.516134 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0574471 -0.504176 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0483751 -0.248762 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0599222 -0.183785 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.00673113 -0.215921 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0172857 -0.187119 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.115028 -0.216626 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0723919 -0.21996 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.103481 -0.281603 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0910116 -0.245428 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0794645 -0.310405 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0243582 -0.277564 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.178985 -0.424299 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.131634 -0.367336 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.178985 -0.424299 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.131634 -0.367336 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.162382 -0.486264 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0984274 -0.491265 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0984274 -0.491265 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.153845 -0.574159 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER 0.202534 -0.612768 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.184086 -0.543919 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.130984 -0.631939 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.112536 -0.56309 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.172294 -0.643008 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER 0.123605 -0.6044 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.195155 -0.585228 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0329639 -0.552323 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0248832 -0.625877 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0138144 -0.584567 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0244483 -0.584869 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0355172 -0.54356 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0163676 -0.511316 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0440327 -0.593633 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0521134 -0.520079 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.101445 -0.561087 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.247614 -0.494808 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.313607 -0.494287 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.269833 -0.434629 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.302539 -0.452978 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.291389 -0.554467 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.28032 -0.513157 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.258683 -0.536117 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.19269 -0.536638 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.214908 -0.476459 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER -0.172546 -0.643951 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.157543 -0.835815 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.122136 -0.871646 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0854653 -0.82339 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.135649 -0.799077 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.194213 -0.884071 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.207727 -0.811502 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.229621 -0.84824 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.14403 -0.908384 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.179437 -0.872552 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.107359 -0.860128 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0133465 -0.69376 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0838533 -0.674309 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0539145 -0.666287 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0325183 -0.62221 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0432853 -0.701782 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00804971 -0.649684 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0272215 -0.721234 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0646815 -0.745859 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0058253 -0.76531 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0347427 -0.737837 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.172546 -0.643951 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.142305 -0.61371 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.100996 -0.624779 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.153374 -0.5724 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.213855 -0.632882 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.224924 -0.591572 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.244096 -0.663122 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.161477 -0.68526 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.191718 -0.715501 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.120168 -0.696329 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.343435 -0.786005 1.25414e-16 RAD 0.0555556
- txt002
- SPHERE CENTER -0.392454 -0.82165 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.323622 -0.80984 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.370774 -0.753118 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.412267 -0.797815 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.390587 -0.729282 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.363249 -0.76217 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.365116 -0.854538 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.316097 -0.818893 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.296284 -0.842728 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.358439 -0.594141 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.389119 -0.547576 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.317871 -0.566667 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.339267 -0.522591 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.429687 -0.57505 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.379835 -0.550064 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.399007 -0.621614 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.408291 -0.619127 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.37761 -0.665691 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.337042 -0.638217 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.358439 -0.594141 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.409774 -0.542042 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.379835 -0.550064 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.339267 -0.522591 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.388377 -0.586119 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.317871 -0.566667 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.337042 -0.638217 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.428945 -0.613592 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.37761 -0.665691 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.399007 -0.621614 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.157543 -0.835815 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.119969 -0.899353 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0844101 -0.836885 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.130205 -0.868703 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.193102 -0.898283 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.203337 -0.867633 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.230676 -0.834745 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.147308 -0.866465 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.184881 -0.802927 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.111748 -0.803997 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.172546 -0.643951 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.202787 -0.61371 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.244096 -0.624779 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.191718 -0.5724 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.131237 -0.632882 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.120168 -0.591572 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.100996 -0.663122 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.183615 -0.68526 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.153374 -0.715501 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.224924 -0.696329 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0133465 -0.69376 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0631985 -0.668775 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00804971 -0.649684 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0325183 -0.62221 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0845947 -0.712851 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0539145 -0.666287 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0347427 -0.737837 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0440268 -0.740325 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0058253 -0.76531 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0272215 -0.721234 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.471405 -0.471405 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.690426 -0.508983 2.241e-16 RAD 0.0555556
- txt002
- SPHERE CENTER 0.755941 -0.484794 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.695668 -0.478434 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.7029 -0.436283 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.7507 -0.515343 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.697658 -0.466832 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.685185 -0.539531 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.743468 -0.557494 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.677953 -0.581682 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.683194 -0.551134 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.607487 -0.335322 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.629404 -0.313405 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.610996 -0.384191 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.558618 -0.331813 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.625895 -0.264535 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.555109 -0.282943 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.603979 -0.286452 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.678274 -0.316914 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.656357 -0.33883 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.659866 -0.3877 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.607487 -0.335322 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.659645 -0.283164 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.656357 -0.33883 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.603979 -0.286452 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.610775 -0.279656 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.555109 -0.282943 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.558618 -0.331813 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.663153 -0.332034 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.610996 -0.384191 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.659866 -0.3877 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.554344 -0.645066 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.610229 -0.668521 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.622977 -0.619787 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.585648 -0.598918 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.541596 -0.6938 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.517014 -0.624197 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.48571 -0.670344 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.578925 -0.714669 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.52304 -0.691213 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.591673 -0.665934 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.471405 -0.471405 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.501645 -0.441164 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.542955 -0.452233 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.490576 -0.399854 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.430095 -0.460336 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.419026 -0.419026 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399854 -0.490576 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.482473 -0.512714 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.452233 -0.542955 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.523783 -0.523783 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.335322 -0.607487 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.313405 -0.629404 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.384191 -0.610996 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.331813 -0.558618 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.264535 -0.625895 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.282943 -0.555109 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.286452 -0.603979 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.316914 -0.678274 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.33883 -0.656357 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.3877 -0.659866 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.554344 -0.645066 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.616373 -0.681385 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.617144 -0.607573 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.609912 -0.649723 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.553573 -0.718878 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.547112 -0.687216 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.491544 -0.682558 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.560805 -0.676727 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.498776 -0.640408 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.561576 -0.602915 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.335322 -0.607487 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.283164 -0.659645 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.33883 -0.656357 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.286452 -0.603979 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.279656 -0.610775 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.282943 -0.555109 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.331813 -0.558618 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.332034 -0.663153 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.384191 -0.610996 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.3877 -0.659866 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.471405 -0.471405 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.441164 -0.441164 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399854 -0.452233 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.452233 -0.399854 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.512714 -0.460336 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.523783 -0.419026 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.542955 -0.490576 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.460336 -0.512714 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.490576 -0.542955 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.419026 -0.523783 -0.222222 RAD 0.0185185
- txt002
-
-END_SCENE
+++ /dev/null
-BEGIN_SCENE
- OUTFILE /dev/null
- RESOLUTION 512 512
- VERBOSE 0
-
-CAMERA
- ZOOM 1.20711
-ASPECTRATIO 1.0
- ANTIALIASING 0
- RAYDEPTH 5
- CENTER 2.1 1.3 1.7
- VIEWDIR -0.700389 -0.433574 -0.566982
- UPDIR -0.482085 -0.298433 0.82373
-
-END_CAMERA
-
-BACKGROUND 0.078 0.361 0.753
-
-LIGHT CENTER 4 3 2 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 1 -4 4 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER -3 1 5 RAD 0.002 COLOR 0.5 0.5 0.5
-
-TEXDEF txt001 AMBIENT 0.2 DIFFUSE 0.8 SPECULAR 0 OPACITY 1
-PHONG PLASTIC 0 PHONG_SIZE 100000
- COLOR 1 0.75 0.33
- TEXFUNC 0
-
-TRI
- V0 12 12 -0.5 V1 -12 -12 -0.5 V2 12 -12 -0.5
- txt001
-TRI
- V0 12 12 -0.5 V1 -12 12 -0.5 V2 -12 -12 -0.5
- txt001
-TEXDEF txt002 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
-PHONG PLASTIC 0.5 PHONG_SIZE 45.2776
- COLOR 1 0.9 0.7
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0 RAD 0.5
- txt002
- SPHERE CENTER 0.272166 0.272166 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER 0.420314 0.420314 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER 0.470715 0.470715 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER 0.481689 0.481689 0.57904 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475329 0.45787 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45787 0.475329 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.477074 0.494534 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.453255 0.488174 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4661 0.48356 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.494534 0.477074 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48356 0.4661 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488174 0.453255 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.461623 0.409245 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.47044 0.419664 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447954 0.425689 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.468014 0.433095 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484109 0.40322 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481683 0.416651 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475292 0.392801 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.464049 0.395814 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455233 0.385395 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.441563 0.401839 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409245 0.461623 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.419664 0.47044 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433095 0.468014 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.425689 0.447954 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.395814 0.464049 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401839 0.441563 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385395 0.455233 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40322 0.484109 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.392801 0.475292 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416651 0.481683 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429405 0.481784 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.441197 0.503434 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452601 0.483752 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434161 0.494577 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418001 0.501466 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410965 0.492609 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.406209 0.479816 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436441 0.490641 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42465 0.46899 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447846 0.470958 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.36376 0.497028 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383056 0.487812 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383056 0.487812 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34864 0.481907 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352815 0.457572 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34864 0.481907 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352815 0.457572 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379004 0.431383 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.376578 0.444814 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399064 0.438789 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385395 0.455233 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356518 0.437408 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.365335 0.447826 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.358944 0.423976 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.370187 0.420964 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372614 0.407532 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.392673 0.414939 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481784 0.429405 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.503434 0.441197 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.494577 0.434161 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.483752 0.452601 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490641 0.436441 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.470958 0.447846 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46899 0.42465 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501466 0.418001 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.479816 0.406209 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.492609 0.410965 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.431383 0.379004 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.444814 0.376578 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455233 0.385395 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.438789 0.399064 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420964 0.370187 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.414939 0.392673 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407532 0.372614 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.437408 0.356518 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423976 0.358944 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447826 0.365335 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.497028 0.36376 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.487812 0.383056 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.487812 0.383056 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481907 0.34864 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457572 0.352815 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481907 0.34864 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457572 0.352815 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.461844 0.304709 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.492085 0.33495 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.492085 0.33495 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488469 0.313874 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471009 0.331334 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495701 0.356025 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.474625 0.352409 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495701 0.356025 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51316 0.338566 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51316 0.338566 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.509544 0.31749 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.424345 0.305171 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.40568 0.315605 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403931 0.312107 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419383 0.329161 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426095 0.30867 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.439797 0.322225 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.444759 0.298235 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410643 0.291616 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429307 0.281181 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408893 0.288117 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435193 0.368397 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.440864 0.389015 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457301 0.37895 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.451857 0.367697 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418755 0.378463 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429748 0.357145 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.413085 0.357845 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4242 0.389715 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418529 0.369098 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440637 0.37965 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529584 0.334488 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.546497 0.347572 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532117 0.331508 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522481 0.352406 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.543964 0.350552 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519948 0.355387 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.52705 0.337468 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5536 0.329654 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536686 0.31657 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.53922 0.313589 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.48474 0.389488 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495668 0.369235 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.477004 0.379669 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.461764 0.388188 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.454027 0.37837 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449715 0.366636 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480429 0.377754 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46838 0.356202 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.491357 0.357501 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499343 0.304247 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.518259 0.314219 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519922 0.310678 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504895 0.328108 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.49768 0.307788 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484316 0.321677 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478764 0.297816 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER 0.512708 0.290358 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493791 0.280387 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51437 0.286818 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.518736 0.271262 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.539811 0.274878 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.520873 0.290418 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.533373 0.290264 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.537674 0.255722 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531235 0.271108 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER 0.516598 0.252106 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.525174 0.255876 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504099 0.25226 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506236 0.271416 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488495 0.241021 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.50716 0.230587 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51153 0.24936 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499694 0.253381 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484125 0.222248 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER 0.476659 0.245042 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46546 0.232683 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495961 0.218227 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.477296 0.228661 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER 0.500331 0.237 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER 0.450996 0.241483 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.455172 0.217147 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472226 0.232599 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45115 0.228983 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433942 0.226031 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429921 0.237867 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429767 0.250367 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455018 0.229647 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.450842 0.253983 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472072 0.245099 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304709 0.461844 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.33495 0.492085 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.33495 0.492085 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331334 0.471009 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313874 0.488469 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338566 0.51316 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31749 0.509544 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338566 0.51316 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356025 0.495701 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356025 0.495701 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352409 0.474625 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.368397 0.435193 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389015 0.440864 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367697 0.451857 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37895 0.457301 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389715 0.4242 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37965 0.440637 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369098 0.418529 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378463 0.418755 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357845 0.413085 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357145 0.429748 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305171 0.424345 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.315605 0.40568 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329161 0.419383 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312107 0.403931 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291616 0.410643 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288117 0.408893 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281181 0.429307 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30867 0.426095 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298235 0.444759 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322225 0.439797 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271262 0.518736 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.274878 0.539811 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290264 0.533373 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290418 0.520873 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.255876 0.525174 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271416 0.506236 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.25226 0.504099 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.255722 0.537674 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.252106 0.516598 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271108 0.531235 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241483 0.450996 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.217147 0.455172 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228983 0.45115 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.232599 0.472226 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229647 0.455018 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245099 0.472072 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253983 0.450842 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.226031 0.433942 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250367 0.429767 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237867 0.429921 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241021 0.488495 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.230587 0.50716 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253381 0.499694 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER 0.24936 0.51153 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218227 0.495961 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237 0.500331 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228661 0.477296 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER 0.222248 0.484125 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER 0.232683 0.46546 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245042 0.476659 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334488 0.529584 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.347572 0.546497 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352406 0.522481 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331508 0.532117 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329654 0.5536 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313589 0.53922 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31657 0.536686 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350552 0.543964 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337468 0.52705 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355387 0.519948 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304247 0.499343 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.314219 0.518259 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328108 0.504895 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310678 0.519922 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290358 0.512708 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286818 0.51437 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280387 0.493791 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307788 0.49768 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297816 0.478764 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321677 0.484316 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389488 0.48474 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379669 0.477004 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369235 0.495668 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.377754 0.480429 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357501 0.491357 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356202 0.46838 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388188 0.461764 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366636 0.449715 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37837 0.454027 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230635 0.38777 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.2506 0.446614 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.264242 0.467193 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER 0.272442 0.447086 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253384 0.459832 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2424 0.46672 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.231541 0.459359 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228758 0.446141 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261459 0.453974 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247817 0.433396 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269659 0.433868 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301839 0.407906 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.319874 0.420236 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.303021 0.407886 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.296625 0.428474 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318692 0.420256 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295442 0.428494 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.300656 0.407926 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325088 0.399668 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307053 0.387338 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308235 0.387318 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253236 0.449775 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.263032 0.459076 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.270029 0.436804 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247378 0.440021 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.246239 0.472047 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230585 0.452992 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236443 0.462746 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26889 0.468829 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259094 0.459528 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275887 0.446557 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179397 0.426478 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.174744 0.447688 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.197172 0.437457 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.1895 0.447523 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156968 0.436708 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171724 0.436544 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161621 0.415499 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164641 0.426642 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.169293 0.405432 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187069 0.416412 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER 0.182032 0.429639 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.177682 0.45215 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.190087 0.449636 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200611 0.44299 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER 0.169628 0.432153 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER 0.192556 0.422992 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173978 0.409641 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159104 0.438799 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.163454 0.416288 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171508 0.436286 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159431 0.367634 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.13761 0.368692 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.158434 0.366998 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153102 0.387887 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138607 0.369329 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER 0.154099 0.388523 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160429 0.36827 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER 0.14394 0.34844 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165761 0.347381 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164764 0.346745 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227999 0.384609 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.237348 0.393812 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251829 0.390976 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234368 0.408432 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.213518 0.387445 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER 0.210538 0.402066 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.204169 0.378242 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23098 0.369989 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221631 0.360786 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245461 0.367152 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208034 0.325765 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.209548 0.312342 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229235 0.324887 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209827 0.337 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188347 0.31322 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188626 0.337878 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.186834 0.326643 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207755 0.301107 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206242 0.31453 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227442 0.313652 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.279238 0.345901 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.302145 0.344931 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297823 0.356827 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.289691 0.366251 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28356 0.334005 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271106 0.355325 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.260653 0.334975 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291692 0.324581 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268785 0.325551 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28737 0.336477 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115031 0.4293 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.102505 0.502308 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.110567 0.524146 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER 0.126738 0.506465 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.112687 0.504055 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0863343 0.519988 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0884544 0.499897 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0782715 0.49815 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100385 0.522399 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0923218 0.500561 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER 0.116555 0.504718 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160392 0.474661 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.177777 0.492047 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176681 0.473492 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159222 0.490951 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161488 0.493217 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.142932 0.492121 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144102 0.475831 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.178947 0.475757 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161561 0.458371 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177851 0.457202 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160392 0.474661 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.167697 0.481967 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161561 0.458371 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144102 0.475831 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166528 0.498257 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.142932 0.492121 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159222 0.490951 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183987 0.480797 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176681 0.473492 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177851 0.457202 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0571437 0.456947 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0450372 0.477623 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.055591 0.475469 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696413 0.47788 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0465898 0.4591 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER 0.071194 0.459357 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0586963 0.438424 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325396 0.45669 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0446461 0.436013 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0430934 0.454536 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115031 0.4293 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.10495 0.439381 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0911807 0.435691 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10864 0.45315 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128801 0.43299 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13249 0.44676 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138881 0.42291 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111341 0.415531 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.121421 0.40545 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0975713 0.411841 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696698 0.383939 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.052284 0.366554 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0708393 0.36765 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0533799 0.385109 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511144 0.382844 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0522103 0.401399 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0685002 0.400229 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0685739 0.365384 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0859596 0.38277 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0871292 0.36648 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0571437 0.456947 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0493251 0.475575 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0725262 0.467381 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.06557 0.479825 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0339426 0.465141 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0501875 0.46939 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0417612 0.446512 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0408988 0.452697 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0487174 0.434069 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0640999 0.444504 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696698 0.383939 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0623642 0.376634 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0859596 0.38277 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0685002 0.400229 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0460743 0.377803 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0522103 0.401399 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0533799 0.385109 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0635337 0.360344 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0708393 0.36765 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0871292 0.36648 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115031 0.4293 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.125111 0.439381 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138881 0.435691 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.121421 0.45315 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101261 0.43299 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0975713 0.44676 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0911807 0.42291 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11872 0.415531 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10864 0.40545 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13249 0.411841 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.082487 0.239622 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0438957 0.258053 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0426858 0.273525 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.064638 0.265928 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0510334 0.281546 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0219434 0.26565 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.030291 0.273671 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0231533 0.250178 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0355481 0.250032 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.036758 0.23456 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0575003 0.242434 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER 0.117687 0.252557 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.135677 0.265544 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138361 0.25778 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12224 0.275732 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115003 0.26032 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101567 0.270508 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.097014 0.247334 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER 0.131123 0.242369 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER 0.113134 0.229382 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER 0.133808 0.234605 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0863845 0.308551 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0971427 0.330622 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER 0.109956 0.310023 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER 0.091905 0.317013 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0735708 0.329151 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0683331 0.315541 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0628126 0.30708 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0916222 0.322161 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.080864 0.30009 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.104436 0.301561 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00869528 0.245118 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0110117 0.257416 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00823377 0.253319 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0102865 0.269325 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0105502 0.249215 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.010748 0.261124 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00915679 0.236916 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0126029 0.233209 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00710408 0.22091 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00664257 0.229111 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511841 0.295616 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0555846 0.315856 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0705987 0.309941 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0705297 0.296292 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.03617 0.301531 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511152 0.281968 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0317696 0.281291 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.036239 0.31518 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0318385 0.29494 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.051253 0.309265 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0472866 0.226687 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.025169 0.224935 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0281502 0.217281 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0288111 0.241399 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0443054 0.234341 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0479475 0.250805 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.066423 0.236092 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0436445 0.210223 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0657621 0.211974 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0466257 0.202569 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0399982 0.189123 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0335228 0.179527 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0567332 0.187058 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0385291 0.203632 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0167878 0.181593 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER 0.021794 0.205698 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0232631 0.191189 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0349919 0.165018 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0414672 0.174615 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0582023 0.172549 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0785895 0.170692 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0867911 0.147549 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101845 0.166573 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER 0.083121 0.161663 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0635354 0.151669 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0598652 0.165782 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0553337 0.174812 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822597 0.156579 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.074058 0.179722 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0973138 0.175603 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11379 0.183628 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.133336 0.176775 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136161 0.192663 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.124499 0.199753 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.110965 0.167739 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102127 0.190718 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0914184 0.174592 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.122627 0.160649 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.103081 0.167502 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.125452 0.176537 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38777 0.230635 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.446614 0.2506 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.467193 0.264242 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459832 0.253384 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447086 0.272442 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER 0.453974 0.261459 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433868 0.269659 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433396 0.247817 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46672 0.2424 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446141 0.228758 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459359 0.231541 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449775 0.253236 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.459076 0.263032 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440021 0.247378 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436804 0.270029 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.468829 0.26889 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446557 0.275887 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459528 0.259094 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472047 0.246239 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER 0.462746 0.236443 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452992 0.230585 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407906 0.301839 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.420236 0.319874 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428474 0.296625 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407886 0.303021 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399668 0.325088 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387318 0.308235 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387338 0.307053 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420256 0.318692 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407926 0.300656 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428494 0.295442 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384609 0.227999 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.393812 0.237348 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408432 0.234368 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.390976 0.251829 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369989 0.23098 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367152 0.245461 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.360786 0.221631 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387445 0.213518 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378242 0.204169 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402066 0.210538 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345901 0.279238 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.344931 0.302145 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366251 0.289691 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356827 0.297823 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324581 0.291692 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336477 0.28737 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325551 0.268785 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334005 0.28356 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334975 0.260653 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355325 0.271106 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325765 0.208034 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.312342 0.209548 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337 0.209827 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324887 0.229235 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301107 0.207755 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313652 0.227442 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31453 0.206242 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31322 0.188347 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.326643 0.186834 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337878 0.188626 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426478 0.179397 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.447688 0.174744 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447523 0.1895 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER 0.437457 0.197172 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426642 0.164641 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416412 0.187069 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405432 0.169293 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436708 0.156968 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER 0.415499 0.161621 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436544 0.171724 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367634 0.159431 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.368692 0.13761 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387887 0.153102 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366998 0.158434 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34844 0.14394 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER 0.346745 0.164764 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347381 0.165761 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369329 0.138607 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36827 0.160429 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388523 0.154099 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429639 0.182032 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.45215 0.177682 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44299 0.200611 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449636 0.190087 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER 0.438799 0.159104 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436286 0.171508 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416288 0.163454 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.432153 0.169628 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409641 0.173978 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.422992 0.192556 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.239622 0.082487 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.258053 0.0438957 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.273525 0.0426858 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281546 0.0510334 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER 0.265928 0.064638 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250032 0.0355481 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242434 0.0575003 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23456 0.036758 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26565 0.0219434 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250178 0.0231533 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273671 0.030291 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308551 0.0863845 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.330622 0.0971427 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317013 0.091905 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310023 0.109956 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322161 0.0916222 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301561 0.104436 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30009 0.080864 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329151 0.0735708 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30708 0.0628126 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315541 0.0683331 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.252557 0.117687 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.265544 0.135677 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275732 0.12224 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.25778 0.138361 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242369 0.131123 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234605 0.133808 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229382 0.113134 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26032 0.115003 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247334 0.097014 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER 0.270508 0.101567 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.189123 0.0399982 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.179527 0.0335228 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203632 0.0385291 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187058 0.0567332 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165018 0.0349919 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172549 0.0582023 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174615 0.0414672 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181593 0.0167878 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191189 0.0232631 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205698 0.021794 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183628 0.11379 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.176775 0.133336 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.199753 0.124499 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.192663 0.136161 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160649 0.122627 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176537 0.125452 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167502 0.103081 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167739 0.110965 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174592 0.0914184 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.190718 0.102127 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.170692 0.0785895 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.147549 0.0867911 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161663 0.083121 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166573 0.101845 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156579 0.0822597 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.175603 0.0973138 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179722 0.074058 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.151669 0.0635354 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174812 0.0553337 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165782 0.0598652 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245118 0.00869528 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER 0.257416 -0.0110117 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269325 0.0102865 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253319 0.00823377 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233209 -0.0126029 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229111 0.00664257 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22091 0.00710408 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249215 -0.0105502 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236916 0.00915679 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261124 0.010748 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.226687 0.0472866 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.224935 0.025169 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241399 0.0288111 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217281 0.0281502 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.210223 0.0436445 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.202569 0.0466257 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211974 0.0657621 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234341 0.0443054 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236092 0.066423 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250805 0.0479475 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295616 0.0511841 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.315856 0.0555846 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.296292 0.0705297 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.309941 0.0705987 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31518 0.036239 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.309265 0.051253 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29494 0.0318385 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301531 0.03617 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281291 0.0317696 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281968 0.0511152 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4293 0.115031 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.502308 0.102505 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.524146 0.110567 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504055 0.112687 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506465 0.126738 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522399 0.100385 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504718 0.116555 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER 0.500561 0.0923218 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519988 0.0863343 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER 0.49815 0.0782715 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499897 0.0884544 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.474661 0.160392 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.481967 0.167697 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475831 0.144102 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.458371 0.161561 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480797 0.183987 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457202 0.177851 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.473492 0.176681 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498257 0.166528 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490951 0.159222 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.492121 0.142932 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.474661 0.160392 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.492047 0.177777 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490951 0.159222 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.473492 0.176681 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475757 0.178947 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457202 0.177851 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.458371 0.161561 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493217 0.161488 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475831 0.144102 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.492121 0.142932 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.456947 0.0571437 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.475575 0.0493251 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER 0.479825 0.06557 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER 0.467381 0.0725262 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452697 0.0408988 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER 0.444504 0.0640999 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434069 0.0487174 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.465141 0.0339426 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446512 0.0417612 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46939 0.0501875 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4293 0.115031 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.439381 0.125111 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45315 0.121421 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435691 0.138881 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.415531 0.11872 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.411841 0.13249 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40545 0.10864 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.43299 0.101261 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42291 0.0911807 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44676 0.0975713 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383939 0.0696698 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.376634 0.0623642 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400229 0.0685002 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38277 0.0859596 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.360344 0.0635337 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36648 0.0871292 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36765 0.0708393 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.377803 0.0460743 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385109 0.0533799 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401399 0.0522103 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.456947 0.0571437 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.477623 0.0450372 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.47788 0.0696413 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475469 0.055591 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45669 0.0325396 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.454536 0.0430934 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436013 0.0446461 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4591 0.0465898 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER 0.438424 0.0586963 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459357 0.071194 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383939 0.0696698 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.366554 0.052284 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385109 0.0533799 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36765 0.0708393 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.365384 0.0685739 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36648 0.0871292 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38277 0.0859596 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382844 0.0511144 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400229 0.0685002 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401399 0.0522103 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4293 0.115031 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.41922 0.125111 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40545 0.121421 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42291 0.138881 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44307 0.11872 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44676 0.13249 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45315 0.10864 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.425611 0.101261 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435691 0.0911807 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.411841 0.0975713 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643951 0.172546 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.802608 0.281471 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.824035 0.30566 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.822021 0.302088 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.821938 0.282758 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.802598 0.298094 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER 0.824119 0.32499 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.804695 0.320997 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER 0.826132 0.328563 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843459 0.309654 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845472 0.313227 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843375 0.290324 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.787796 0.241352 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.785699 0.218449 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.802677 0.22345 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER 0.778718 0.223304 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770818 0.236351 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER 0.763837 0.241205 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER 0.772915 0.259253 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER 0.794777 0.236497 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.796874 0.2594 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER 0.811756 0.241498 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER 0.752156 0.305221 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.741263 0.325175 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER 0.747715 0.32493 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.765112 0.325981 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745704 0.305466 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.769553 0.306272 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER 0.756597 0.285513 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.728307 0.304415 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7392 0.284462 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.734759 0.304171 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838847 0.34578 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.851488 0.360404 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853509 0.335865 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.832518 0.347059 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER 0.836826 0.370319 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817857 0.356973 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.824185 0.355695 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857816 0.359125 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845176 0.344501 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.859838 0.334587 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.766968 0.345341 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.768944 0.369945 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER 0.788341 0.356172 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER 0.780624 0.356171 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.747572 0.359113 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759252 0.34534 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745596 0.33451 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755289 0.359115 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER 0.753313 0.334511 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774685 0.345342 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817421 0.321591 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.83071 0.340361 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.840365 0.325527 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.822249 0.341208 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER 0.807766 0.336425 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.799305 0.337272 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER 0.794477 0.317654 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER 0.825882 0.320744 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.812593 0.301973 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.835537 0.30591 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER 0.874487 0.28191 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.891539 0.292033 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER 0.868678 0.28812 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.872763 0.305711 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER 0.897348 0.285824 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER 0.878572 0.299501 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.880296 0.275701 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER 0.893263 0.268233 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876212 0.25811 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER 0.870402 0.264319 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853061 0.257721 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.87538 0.26204 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.87108 0.266856 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER 0.860805 0.280934 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857361 0.252905 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842785 0.271799 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.835041 0.248586 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER 0.867636 0.238827 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845317 0.234508 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER 0.863337 0.243643 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838248 0.217602 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.860225 0.206363 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER 0.858689 0.230102 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER 0.854636 0.223536 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.839784 0.193863 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.834196 0.211035 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817808 0.205101 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843837 0.200429 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER 0.821861 0.211667 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842301 0.224168 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643951 0.172546 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.61371 0.202787 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.61556 0.221097 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621702 0.225035 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.635958 0.210779 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607567 0.198849 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627965 0.188531 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605717 0.180539 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593312 0.213105 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591462 0.194794 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.599454 0.217042 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.191718 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.556122 0.208861 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575596 0.203643 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.578791 0.215568 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.552927 0.196936 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575596 0.203643 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569205 0.179793 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549732 0.185011 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.56601 0.167868 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569205 0.179793 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.244096 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.631486 0.266765 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648629 0.250487 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.636704 0.247291 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607636 0.260374 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.612854 0.240901 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600929 0.237705 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.619561 0.26357 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.612854 0.240901 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.636704 0.247291 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68526 0.183615 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684921 0.190903 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665787 0.178397 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669989 0.201661 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704395 0.196121 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.689462 0.206879 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704733 0.188833 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700193 0.172858 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700531 0.165569 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681058 0.160351 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.224924 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.710584 0.23918 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705059 0.216195 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687599 0.233654 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701855 0.24791 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678869 0.242384 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687599 0.233654 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.719314 0.23045 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705059 0.216195 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.713788 0.207465 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.153374 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.738169 0.160081 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718696 0.165299 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721891 0.177224 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.734974 0.148156 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718696 0.165299 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712305 0.141449 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.731779 0.136231 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.70911 0.129524 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712305 0.141449 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.632882 0.131237 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.634145 0.108412 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.650927 0.115965 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627664 0.111763 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616099 0.123683 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609618 0.127034 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.614836 0.146508 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639363 0.127886 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.6381 0.15071 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656145 0.135439 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.100996 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.680265 0.0847178 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.686972 0.107387 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675047 0.104191 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656415 0.0783272 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651197 0.0978007 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639272 0.0946054 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.66834 0.0815225 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651197 0.0978007 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675047 0.104191 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.120168 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.577317 0.105912 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600302 0.111438 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582843 0.128897 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.568587 0.114642 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.574113 0.137627 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582843 0.128897 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586046 0.0971825 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600302 0.111438 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609032 0.102708 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.594141 0.358439 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.619127 0.408291 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.625955 0.411883 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630791 0.390369 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607547 0.396287 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61429 0.429805 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.595882 0.414208 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607462 0.426212 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.637535 0.423887 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630706 0.420295 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642371 0.402373 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.68332 0.389713 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68332 0.389713 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688854 0.369058 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638217 0.337042 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.652948 0.344865 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.632683 0.357697 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651954 0.357326 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.658482 0.324211 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.657489 0.336672 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643752 0.316388 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639211 0.324581 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624481 0.316758 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.618946 0.337413 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547576 0.389119 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.541008 0.410169 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548718 0.410472 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.564748 0.405866 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539866 0.388816 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563607 0.384513 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546435 0.367766 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523836 0.393422 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530405 0.372372 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531546 0.393725 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566667 0.317871 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.555534 0.296626 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572202 0.297216 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.550163 0.307914 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549999 0.31728 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.544629 0.328569 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.561133 0.338525 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572037 0.306582 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.583171 0.327827 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588706 0.307172 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.501272 0.340934 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501272 0.340934 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506807 0.320279 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57505 0.429687 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.58161 0.452905 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5989 0.436077 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586467 0.434777 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.55776 0.446515 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562617 0.428387 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5512 0.423296 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570193 0.447815 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563633 0.424596 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587483 0.430987 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.550064 0.379835 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.547099 0.396248 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569716 0.388263 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.557504 0.403175 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527447 0.387819 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.537852 0.394747 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530412 0.371406 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539659 0.372907 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542624 0.356494 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562276 0.364922 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621614 0.399007 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.637209 0.41723 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642848 0.401533 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624734 0.418027 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.615976 0.414703 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603501 0.4155 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600381 0.39648 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634089 0.39821 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.618494 0.379986 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639728 0.382513 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.802608 0.281471 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.858698 0.329459 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.872345 0.34259 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.86421 0.32016 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848329 0.338969 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER 0.866833 0.351888 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842817 0.348268 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853186 0.338757 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882715 0.333079 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.869068 0.319948 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER 0.87458 0.310649 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845371 0.280879 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.849036 0.291048 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER 0.826067 0.287867 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER 0.840755 0.304882 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER 0.868341 0.28406 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.86006 0.297894 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER 0.864676 0.273891 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853652 0.267046 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER 0.849987 0.256877 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.830683 0.263865 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.798572 0.337088 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.808673 0.346884 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER 0.82298 0.335792 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER 0.807762 0.322361 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.784265 0.34818 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER 0.783355 0.323657 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774164 0.338384 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.799483 0.361611 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.789382 0.351815 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.81379 0.350519 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.815936 0.330051 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.828769 0.350165 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838905 0.333232 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER 0.820583 0.347547 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER 0.805799 0.346984 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER 0.797614 0.344366 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.792966 0.32687 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER 0.824121 0.332668 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER 0.811288 0.312554 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER 0.834258 0.315735 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER 0.75581 0.33768 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.753851 0.362219 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774086 0.350765 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76987 0.352319 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.735575 0.349134 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751594 0.339233 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737534 0.324595 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.739791 0.347581 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER 0.74175 0.323042 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760026 0.336127 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759846 0.282063 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.756464 0.29233 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.779336 0.288514 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.765125 0.305929 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER 0.736973 0.285879 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745634 0.299478 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.740355 0.275612 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751185 0.268464 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.754567 0.258198 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774058 0.264649 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.862735 0.273842 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.885497 0.282313 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876946 0.281455 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER 0.867718 0.29787 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.871286 0.274699 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853506 0.290257 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848523 0.266228 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.880514 0.258284 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857752 0.249813 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER 0.871963 0.257427 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.806645 0.225855 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.818054 0.21762 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER 0.83061 0.230661 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER 0.813612 0.241754 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.794089 0.212813 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER 0.789647 0.236948 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.78268 0.221048 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.811087 0.20172 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER 0.799677 0.209955 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.823642 0.214761 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER 0.849407 0.225263 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.873186 0.21889 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.865588 0.240865 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER 0.866351 0.236437 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857005 0.203288 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.850171 0.220835 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.833227 0.20966 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.856242 0.207715 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER 0.832464 0.214088 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848644 0.22969 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.594141 0.358439 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.613592 0.428945 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.626191 0.448155 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634643 0.42519 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.614455 0.43276 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.60514 0.45191 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593404 0.436515 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.592541 0.4327 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625328 0.44434 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.612729 0.42513 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.63378 0.421375 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.68332 0.389713 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68332 0.389713 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688854 0.369058 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621614 0.399007 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.625435 0.399844 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627149 0.378352 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.60511 0.38905 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.619901 0.420499 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.599576 0.409705 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61608 0.419661 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.641939 0.409801 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638118 0.408963 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643653 0.388308 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542042 0.409774 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.53788 0.433888 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.558395 0.423551 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.55574 0.426423 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.521526 0.42011 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539387 0.412646 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.525689 0.395996 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.524182 0.417238 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528344 0.393124 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.544697 0.406901 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.550064 0.379835 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.540802 0.399304 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.54453 0.400489 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563801 0.400119 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546337 0.37865 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569335 0.379464 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555599 0.35918 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527065 0.37902 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536327 0.359551 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530793 0.380205 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.501272 0.340934 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501272 0.340934 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506807 0.320279 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586119 0.388377 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.594185 0.405974 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609969 0.394768 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593017 0.410332 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570335 0.399584 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569167 0.403942 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562269 0.381987 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587286 0.384019 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57922 0.366422 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.60307 0.372813 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566667 0.317871 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.567308 0.314012 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587901 0.320398 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569787 0.336891 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546074 0.311485 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548554 0.334364 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.545434 0.315344 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.564188 0.294991 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563547 0.29885 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.584781 0.301377 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638217 0.337042 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.659244 0.341809 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65787 0.345471 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645657 0.360383 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639592 0.33338 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626005 0.351955 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.618565 0.328614 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651804 0.318468 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630777 0.313702 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65043 0.32213 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643951 0.172546 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.674191 0.202787 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.690652 0.219248 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.695267 0.206403 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677807 0.223862 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669577 0.215632 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656732 0.220246 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.653116 0.199171 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687036 0.198172 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.670575 0.181711 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.691651 0.185327 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.191718 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.733129 0.203821 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.191718 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.709966 0.212373 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.733129 0.203821 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.709966 0.212373 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.191718 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.738664 0.183166 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721035 0.171063 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721035 0.171063 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.244096 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.675225 0.261725 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683777 0.238562 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.244096 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65457 0.267259 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642468 0.249631 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642468 0.249631 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675225 0.261725 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.244096 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683777 0.238562 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602641 0.183615 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.600215 0.197046 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.622701 0.191021 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609032 0.207465 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.580155 0.18964 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588972 0.200059 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582581 0.176209 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593824 0.173196 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.596251 0.159765 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61631 0.167171 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.224924 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.587397 0.24926 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606693 0.240045 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606693 0.240045 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572277 0.23414 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.224924 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.576452 0.209804 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572277 0.23414 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.576452 0.209804 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.224924 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.153374 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.551082 0.155041 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.153374 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566866 0.174029 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.551082 0.155041 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566866 0.174029 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.153374 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.556617 0.134387 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.577935 0.13272 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.577935 0.13272 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.655019 0.131237 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.668451 0.12881 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678869 0.137627 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.662426 0.151296 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644601 0.12242 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638576 0.144906 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.631169 0.124846 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661044 0.108751 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647613 0.111177 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671463 0.117567 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.100996 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.626446 0.0796777 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645433 0.0954616 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.100996 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605791 0.0852121 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604124 0.10653 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604124 0.10653 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626446 0.0796777 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.100996 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645433 0.0954616 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.120168 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.720665 0.115992 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.711449 0.135288 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.711449 0.135288 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705544 0.100872 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.120168 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681209 0.105047 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705544 0.100872 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681209 0.105047 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.120168 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.852418 0.0955788 1.89979e-16 RAD 0.0555556
- txt002
- SPHERE CENTER 0.922609 0.11107 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.937225 0.122151 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.916553 0.11086 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.915202 0.131874 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER 0.943281 0.12236 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER 0.921258 0.132084 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER 0.928665 0.111279 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER 0.944632 0.101346 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER 0.930016 0.0902645 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.92396 0.090055 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.867231 0.135698 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.873196 0.134634 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882112 0.117797 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.858152 0.11765 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.858315 0.152536 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843271 0.135552 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.852349 0.1536 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882275 0.152682 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876309 0.153747 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.89119 0.135845 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.877966 0.164775 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.890926 0.182656 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.897331 0.159019 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876622 0.167676 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.871561 0.188412 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857256 0.173431 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.8586 0.17053 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.89227 0.179755 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.87931 0.161874 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.898675 0.156118 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.907797 0.0709499 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.930963 0.0752104 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER 0.924191 0.0806562 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER 0.915684 0.0941344 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.914568 0.0655041 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.899289 0.0844281 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.891402 0.0612436 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.923076 0.0520258 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER 0.89991 0.0477654 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER 0.916304 0.0574717 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER 0.863153 0.124655 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.875744 0.141535 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.88655 0.129819 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.868763 0.146389 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.852347 0.136371 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845366 0.141225 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.839756 0.119492 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.870135 0.119801 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857544 0.102922 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.880941 0.108085 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.837606 0.0554592 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.842832 0.0523913 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.86055 0.0593957 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842434 0.0750766 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.819888 0.0484547 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.81949 0.07114 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.814662 0.0515226 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838004 0.0327739 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.832778 0.0358417 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.855722 0.0397783 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.897062 0.0418734 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.920407 0.0359958 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER 0.912106 0.0588574 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.915603 0.0511067 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER 0.905363 0.0190117 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER 0.900559 0.0341227 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882018 0.0248894 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.901866 0.0267625 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.878521 0.0326401 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER 0.893565 0.0496241 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER 0.826871 0.0263827 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.825102 0.00436945 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.84533 0.018173 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.823964 0.025051 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.806642 0.0125791 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.805505 0.0332607 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.808411 0.0345923 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.828008 0.00570109 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.829777 0.0277143 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848237 0.0195047 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.841683 0.0665023 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.840284 0.0454909 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.856111 0.0473735 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.831823 0.0463379 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.825856 0.0646197 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817395 0.0654667 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.827255 0.0856311 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.850144 0.0656554 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.851543 0.0866667 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.865971 0.0675379 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.69376 -0.0133465 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.740325 -0.0440268 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.762259 -0.0417568 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759495 -0.0345526 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.748937 -0.0216407 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743089 -0.051231 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.729767 -0.0311149 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721155 -0.053501 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.753646 -0.0641429 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.731712 -0.0664129 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.750882 -0.0569387 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.782939 0.0179281 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.782939 0.0179281 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.788473 -0.00272662 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721234 0.0272215 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.736829 0.0454452 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.742467 0.0297485 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.724354 0.046242 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715595 0.0429182 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.70312 0.043715 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7 0.0246945 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.733709 0.0264247 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718114 0.00820099 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.739347 0.010728 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.668775 -0.0631985 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.669983 -0.0708196 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.690113 -0.0618185 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671462 -0.0467378 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648644 -0.0721997 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.650123 -0.0481178 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647436 -0.0645786 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.667296 -0.0872804 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666087 -0.0796593 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687426 -0.0782793 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649684 0.00804971 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.646718 0.0244627 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669336 0.016478 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.657124 0.0313903 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627066 0.0160343 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.637471 0.022962 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630031 -0.000378614 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639278 0.00112207 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642244 -0.0152909 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661896 -0.00686255 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.600892 -0.0308513 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600892 -0.0308513 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606426 -0.051506 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712851 -0.0845947 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.730141 -0.101422 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.736701 -0.0782041 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.725284 -0.0832945 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.706291 -0.107813 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701434 -0.0896851 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.689001 -0.0909853 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.717709 -0.102723 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700418 -0.0858949 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.724268 -0.0795043 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666287 -0.0539145 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.655153 -0.0751594 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671821 -0.0745692 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649783 -0.0638711 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649619 -0.0545047 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644249 -0.0432164 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660752 -0.0332597 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671657 -0.0652028 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682791 -0.0439578 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688325 -0.0646126 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737837 -0.0347427 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.752567 -0.0269197 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.732303 -0.014088 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751574 -0.0144587 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.758102 -0.0475745 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.757108 -0.0351134 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743371 -0.0553974 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.73883 -0.0472037 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7241 -0.0550267 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718566 -0.0343719 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.69376 -0.0133465 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.745859 -0.0646815 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.770032 -0.0684873 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759394 -0.0481266 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.762305 -0.0507391 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.756497 -0.0850422 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.74877 -0.067294 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.732325 -0.0812364 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.753586 -0.0824297 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.729413 -0.0786239 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.742948 -0.062069 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.782939 0.0179281 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.782939 0.0179281 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.788473 -0.00272662 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737837 -0.0347427 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.758864 -0.0299763 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.757489 -0.0263144 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745277 -0.0114021 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.739212 -0.0384047 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.725625 -0.0198304 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718185 -0.043171 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751424 -0.0533169 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.730397 -0.0580833 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.750049 -0.0496549 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674309 -0.0838533 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.675276 -0.106805 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.694308 -0.091423 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.673094 -0.0875713 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.655278 -0.0992356 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.653095 -0.0800016 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65431 -0.0762835 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.676491 -0.103087 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675524 -0.0801352 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.695522 -0.0877049 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666287 -0.0539145 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.666927 -0.0577732 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68752 -0.0513875 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669407 -0.034894 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645694 -0.0603001 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648173 -0.0374209 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645053 -0.0564414 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663807 -0.0767937 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663167 -0.072935 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.6844 -0.070408 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.600892 -0.0308513 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600892 -0.0308513 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606426 -0.051506 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701782 -0.0432853 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.717566 -0.0544915 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.725632 -0.0368947 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718734 -0.0588496 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.693716 -0.0608821 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.694884 -0.0652402 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677932 -0.0496759 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700615 -0.0389272 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.684831 -0.027721 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.708681 -0.0213304 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649684 0.00804971 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.640422 0.0275193 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644149 0.0287044 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.66342 0.0283337 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645956 0.00686453 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.668955 0.00767898 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.655218 -0.012605 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626685 0.00723527 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.635947 -0.0122343 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630413 0.00842045 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721234 0.0272215 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.725055 0.0280589 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.726768 0.00656677 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.70473 0.0172649 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.71952 0.0487136 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.699195 0.0379196 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715699 0.0478762 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.741558 0.0380155 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737738 0.0371781 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743272 0.0165234 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172546 0.643951 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.281471 0.802608 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.30566 0.824035 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.302088 0.822021 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298094 0.802598 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282758 0.821938 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.309654 0.843459 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290324 0.843375 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313227 0.845472 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32499 0.824119 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328563 0.826132 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320997 0.804695 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305221 0.752156 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.325175 0.741263 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325981 0.765112 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32493 0.747715 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304415 0.728307 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304171 0.734759 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER 0.284462 0.7392 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305466 0.745704 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285513 0.756597 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306272 0.769553 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241352 0.787796 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.218449 0.785699 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223304 0.778718 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22345 0.802677 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236497 0.794777 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241498 0.811756 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2594 0.796874 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236351 0.770818 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259253 0.772915 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241205 0.763837 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28191 0.874487 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.292033 0.891539 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305711 0.872763 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28812 0.868678 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268233 0.893263 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER 0.264319 0.870402 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.25811 0.876212 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285824 0.897348 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275701 0.880296 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299501 0.878572 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217602 0.838248 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.206363 0.860225 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223536 0.854636 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230102 0.858689 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200429 0.843837 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224168 0.842301 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211667 0.821861 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193863 0.839784 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205101 0.817808 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211035 0.834196 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257721 0.853061 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.26204 0.87538 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280934 0.860805 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266856 0.87108 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238827 0.867636 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.243643 0.863337 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234508 0.845317 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER 0.252905 0.857361 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248586 0.835041 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271799 0.842785 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34578 0.838847 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.360404 0.851488 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347059 0.832518 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335865 0.853509 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359125 0.857816 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334587 0.859838 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.344501 0.845176 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.370319 0.836826 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355695 0.824185 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356973 0.817857 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321591 0.817421 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340361 0.83071 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.341208 0.822249 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325527 0.840365 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320744 0.825882 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30591 0.835537 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301973 0.812593 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336425 0.807766 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317654 0.794477 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337272 0.799305 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345341 0.766968 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.369945 0.768944 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356171 0.780624 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356172 0.788341 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359115 0.755289 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345342 0.774685 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334511 0.753313 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359113 0.747572 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33451 0.745596 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34534 0.759252 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER 0.358439 0.594141 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.408291 0.619127 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.411883 0.625955 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396287 0.607547 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.390369 0.630791 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423887 0.637535 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402373 0.642371 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420295 0.630706 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429805 0.61429 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426212 0.607462 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.414208 0.595882 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337042 0.638217 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.344865 0.652948 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357326 0.651954 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357697 0.632683 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324581 0.639211 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337413 0.618946 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316758 0.624481 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324211 0.658482 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316388 0.643752 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336672 0.657489 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389713 0.68332 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369058 0.688854 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389713 0.68332 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429687 0.57505 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.452905 0.58161 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434777 0.586467 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436077 0.5989 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447815 0.570193 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.430987 0.587483 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.424596 0.563633 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446515 0.55776 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423296 0.5512 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428387 0.562617 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399007 0.621614 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.41723 0.637209 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418027 0.624734 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401533 0.642848 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39821 0.634089 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382513 0.639728 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379986 0.618494 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.414703 0.615976 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39648 0.600381 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4155 0.603501 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379835 0.550064 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.396248 0.547099 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403175 0.557504 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388263 0.569716 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372907 0.539659 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.364922 0.562276 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356494 0.542624 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387819 0.527447 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.371406 0.530412 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.394747 0.537852 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389119 0.547576 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.410169 0.541008 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405866 0.564748 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410472 0.548718 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393422 0.523836 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393725 0.531546 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372372 0.530405 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388816 0.539866 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367766 0.546435 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384513 0.563607 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340934 0.501272 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320279 0.506807 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340934 0.501272 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317871 0.566667 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.296626 0.555534 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307914 0.550163 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297216 0.572202 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306582 0.572037 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307172 0.588706 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.327827 0.583171 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31728 0.549999 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338525 0.561133 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328569 0.544629 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172546 0.643951 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.142305 0.674191 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.144155 0.692502 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.150298 0.696439 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164554 0.682184 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136163 0.670254 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156561 0.659936 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.134313 0.651943 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.121907 0.684509 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120057 0.666199 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12805 0.688447 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.663122 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0847178 0.680265 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.104191 0.675047 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.107387 0.686972 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0815225 0.66834 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.104191 0.675047 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0978007 0.651197 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0783272 0.656415 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0946054 0.639272 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0978007 0.651197 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.715501 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.160081 0.738169 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177224 0.721891 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165299 0.718696 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136231 0.731779 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141449 0.712305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.129524 0.70911 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.148156 0.734974 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141449 0.712305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165299 0.718696 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.213855 0.655019 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.213517 0.662308 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.194382 0.649801 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198584 0.673065 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23299 0.667526 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218058 0.678283 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233329 0.660237 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228788 0.644262 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229127 0.636974 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209653 0.631756 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.696329 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.23918 0.710584 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233654 0.687599 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.216195 0.705059 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23045 0.719314 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207465 0.713788 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.216195 0.705059 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.24791 0.701855 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233654 0.687599 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242384 0.678869 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.624779 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.266765 0.631486 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247291 0.636704 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250487 0.648629 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26357 0.619561 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247291 0.636704 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240901 0.612854 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.260374 0.607636 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237705 0.600929 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240901 0.612854 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161477 0.602641 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.162741 0.579817 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179523 0.58737 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156259 0.583168 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144695 0.595088 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138214 0.598439 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.143431 0.617912 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167958 0.59929 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166695 0.622115 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.184741 0.606843 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.5724 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.208861 0.556122 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215568 0.578791 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203643 0.575596 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.185011 0.549732 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179793 0.569205 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167868 0.56601 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.196936 0.552927 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179793 0.569205 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203643 0.575596 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.591572 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.105912 0.577317 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128897 0.582843 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111438 0.600302 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0971825 0.586046 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102708 0.609032 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111438 0.600302 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.114642 0.568587 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128897 0.582843 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.137627 0.574113 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0955788 0.852418 9.1293e-17 RAD 0.0555556
- txt002
- SPHERE CENTER 0.11107 0.922609 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.122151 0.937225 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.131874 0.915202 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11086 0.916553 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101346 0.944632 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER 0.090055 0.92396 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0902645 0.930016 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12236 0.943281 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111279 0.928665 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER 0.132084 0.921258 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164775 0.877966 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.182656 0.890926 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167676 0.876622 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159019 0.897331 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179755 0.89227 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156118 0.898675 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161874 0.87931 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188412 0.871561 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.17053 0.8586 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173431 0.857256 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135698 0.867231 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.134634 0.873196 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11765 0.858152 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.117797 0.882112 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152682 0.882275 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135845 0.89119 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153747 0.876309 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152536 0.858315 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.1536 0.852349 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135552 0.843271 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0418734 0.897062 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0359958 0.920407 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511067 0.915603 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0588574 0.912106 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0267625 0.901866 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0496241 0.893565 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0326401 0.878521 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0190117 0.905363 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0248894 0.882018 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0341227 0.900559 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0665023 0.841683 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0454909 0.840284 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0463379 0.831823 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0473735 0.856111 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0656554 0.850144 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0675379 0.865971 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0866667 0.851543 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0646197 0.825856 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0856311 0.827255 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0654667 0.817395 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0263827 0.826871 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.00436945 0.825102 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.025051 0.823964 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.018173 0.84533 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00570109 0.828008 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0195047 0.848237 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0277143 0.829777 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0125791 0.806642 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0345923 0.808411 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0332607 0.805505 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0709499 0.907797 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0752104 0.930963 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0941344 0.915684 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0806562 0.924191 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0520258 0.923076 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0574717 0.916304 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0477654 0.89991 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0655041 0.914568 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0612436 0.891402 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0844281 0.899289 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0554592 0.837606 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0523913 0.842832 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0750766 0.842434 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0593957 0.86055 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0327739 0.838004 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0397783 0.855722 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0358417 0.832778 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0484547 0.819888 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0515226 0.814662 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.07114 0.81949 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.124655 0.863153 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.141535 0.875744 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.146389 0.868763 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.129819 0.88655 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.119801 0.870135 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108085 0.880941 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102922 0.857544 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136371 0.852347 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.119492 0.839756 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141225 0.845366 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0133465 0.69376 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0646815 0.745859 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0684873 0.770032 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0507391 0.762305 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0481266 0.759394 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0824297 0.753586 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.062069 0.742948 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0786239 0.729413 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0850422 0.756497 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0812364 0.732325 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.067294 0.74877 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0347427 0.737837 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0299763 0.758864 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0114021 0.745277 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0263144 0.757489 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0533169 0.751424 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0496549 0.750049 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0580833 0.730397 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0384047 0.739212 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.043171 0.718185 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0198304 0.725625 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0179281 0.782939 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00272662 0.788473 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0179281 0.782939 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0432853 0.701782 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0544915 0.717566 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0588496 0.718734 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0368947 0.725632 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0389272 0.700615 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0213304 0.708681 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.027721 0.684831 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0608821 0.693716 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0496759 0.677932 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0652402 0.694884 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0272215 0.721234 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0280589 0.725055 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0172649 0.70473 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00656677 0.726768 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0380155 0.741558 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0165234 0.743272 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0371781 0.737738 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0487136 0.71952 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0478762 0.715699 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0379196 0.699195 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00804971 0.649684 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0275193 0.640422 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0283337 0.66342 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0287044 0.644149 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00723527 0.626685 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00842045 0.630413 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0122343 0.635947 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00686453 0.645956 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.012605 0.655218 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00767898 0.668955 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0838533 0.674309 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.106805 0.675276 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0875713 0.673094 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.091423 0.694308 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103087 0.676491 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0877049 0.695522 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0801352 0.675524 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0992356 0.655278 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0762835 0.65431 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0800016 0.653095 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0308513 0.600892 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.051506 0.606426 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0308513 0.600892 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0539145 0.666287 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0577732 0.666927 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.034894 0.669407 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0513875 0.68752 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0767937 0.663807 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.070408 0.6844 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.072935 0.663167 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0603001 0.645694 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0564414 0.645053 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0374209 0.648173 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0133465 0.69376 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0440268 0.740325 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0417568 0.762259 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0216407 0.748937 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0345526 0.759495 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0641429 0.753646 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0569387 0.750882 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0664129 0.731712 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.051231 0.743089 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053501 0.721155 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0311149 0.729767 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0272215 0.721234 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0454452 0.736829 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.046242 0.724354 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0297485 0.742467 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0264247 0.733709 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.010728 0.739347 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00820099 0.718114 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0429182 0.715595 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0246945 0.7 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.043715 0.70312 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0179281 0.782939 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00272662 0.788473 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0179281 0.782939 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0845947 0.712851 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.101422 0.730141 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0832945 0.725284 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0782041 0.736701 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.102723 0.717709 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0795043 0.724268 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0858949 0.700418 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107813 0.706291 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0909853 0.689001 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0896851 0.701434 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0347427 0.737837 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0269197 0.752567 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0144587 0.751574 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.014088 0.732303 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0472037 0.73883 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0343719 0.718566 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0550267 0.7241 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0475745 0.758102 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0553974 0.743371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0351134 0.757108 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0539145 0.666287 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0751594 0.655153 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0638711 0.649783 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0745692 0.671821 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0652028 0.671657 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0646126 0.688325 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0439578 0.682791 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0545047 0.649619 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0332597 0.660752 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0432164 0.644249 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0631985 0.668775 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0708196 0.669983 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0467378 0.671462 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0618185 0.690113 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0872804 0.667296 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0782793 0.687426 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0796593 0.666087 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0721997 0.648644 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0645786 0.647436 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0481178 0.650123 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0308513 0.600892 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.051506 0.606426 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0308513 0.600892 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00804971 0.649684 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0244627 0.646718 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0313903 0.657124 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.016478 0.669336 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00112207 0.639278 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00686255 0.661896 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0152909 0.642244 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0160343 0.627066 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.000378614 0.630031 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.022962 0.637471 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281471 0.802608 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.329459 0.858698 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.34259 0.872345 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338969 0.848329 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32016 0.86421 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.333079 0.882715 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310649 0.87458 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER 0.319948 0.869068 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351888 0.866833 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338757 0.853186 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.348268 0.842817 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337088 0.798572 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.346884 0.808673 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322361 0.807762 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335792 0.82298 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER 0.361611 0.799483 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350519 0.81379 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351815 0.789382 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34818 0.784265 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338384 0.774164 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.323657 0.783355 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280879 0.845371 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.291048 0.849036 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304882 0.840755 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287867 0.826067 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267046 0.853652 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263865 0.830683 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.256877 0.849987 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28406 0.868341 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273891 0.864676 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297894 0.86006 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273842 0.862735 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.282313 0.885497 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29787 0.867718 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281455 0.876946 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258284 0.880514 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257427 0.871963 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249813 0.857752 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER 0.274699 0.871286 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266228 0.848523 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290257 0.853506 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225263 0.849407 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.21889 0.873186 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236437 0.866351 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240865 0.865588 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207715 0.856242 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22969 0.848644 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214088 0.832464 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203288 0.857005 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20966 0.833227 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.220835 0.850171 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225855 0.806645 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.21762 0.818054 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241754 0.813612 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230661 0.83061 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20172 0.811087 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214761 0.823642 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209955 0.799677 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212813 0.794089 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221048 0.78268 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236948 0.789647 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330051 0.815936 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.350165 0.828769 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347547 0.820583 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER 0.333232 0.838905 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332668 0.824121 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315735 0.834258 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312554 0.811288 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER 0.346984 0.805799 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32687 0.792966 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER 0.344366 0.797614 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282063 0.759846 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.29233 0.756464 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305929 0.765125 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288514 0.779336 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268464 0.751185 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.264649 0.774058 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258198 0.754567 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285879 0.736973 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275612 0.740355 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299478 0.745634 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33768 0.75581 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.362219 0.753851 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352319 0.76987 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350765 0.774086 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347581 0.739791 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336127 0.760026 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER 0.323042 0.74175 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER 0.349134 0.735575 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324595 0.737534 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339233 0.751594 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172546 0.643951 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.202787 0.674191 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.219248 0.690652 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223862 0.677807 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206403 0.695267 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198172 0.687036 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.185327 0.691651 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181711 0.670575 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215632 0.669577 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.199171 0.653116 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.220246 0.656732 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.663122 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.261725 0.675225 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.663122 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238562 0.683777 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261725 0.675225 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238562 0.683777 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.663122 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267259 0.65457 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249631 0.642468 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249631 0.642468 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.715501 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.203821 0.733129 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212373 0.709966 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.715501 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183166 0.738664 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171063 0.721035 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171063 0.721035 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203821 0.733129 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.715501 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212373 0.709966 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.131237 0.655019 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.12881 0.668451 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.151296 0.662426 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.137627 0.678869 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108751 0.661044 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.117567 0.671463 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111177 0.647613 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12242 0.644601 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.124846 0.631169 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144906 0.638576 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.696329 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.115992 0.720665 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135288 0.711449 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135288 0.711449 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100872 0.705544 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.696329 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.105047 0.681209 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100872 0.705544 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.105047 0.681209 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.696329 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.624779 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0796777 0.626446 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.624779 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0954616 0.645433 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0796777 0.626446 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0954616 0.645433 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.624779 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0852121 0.605791 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10653 0.604124 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10653 0.604124 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183615 0.602641 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.197046 0.600215 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207465 0.609032 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191021 0.622701 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173196 0.593824 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167171 0.61631 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159765 0.596251 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.18964 0.580155 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176209 0.582581 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200059 0.588972 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.5724 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.155041 0.551082 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174029 0.566866 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.5724 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.134387 0.556617 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13272 0.577935 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13272 0.577935 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.155041 0.551082 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.5724 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174029 0.566866 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.591572 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.24926 0.587397 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240045 0.606693 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240045 0.606693 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23414 0.572277 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.591572 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209804 0.576452 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23414 0.572277 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209804 0.576452 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.591572 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.358439 0.594141 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.428945 0.613592 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.448155 0.626191 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.43276 0.614455 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42519 0.634643 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44434 0.625328 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.421375 0.63378 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42513 0.612729 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45191 0.60514 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4327 0.592541 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436515 0.593404 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399007 0.621614 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399844 0.625435 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38905 0.60511 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378352 0.627149 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409801 0.641939 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388308 0.643653 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408963 0.638118 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420499 0.619901 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419661 0.61608 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409705 0.599576 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389713 0.68332 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369058 0.688854 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389713 0.68332 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388377 0.586119 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.405974 0.594185 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410332 0.593017 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.394768 0.609969 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384019 0.587286 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372813 0.60307 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366422 0.57922 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399584 0.570335 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.381987 0.562269 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403942 0.569167 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337042 0.638217 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.341809 0.659244 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.360383 0.645657 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345471 0.65787 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318468 0.651804 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32213 0.65043 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313702 0.630777 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33338 0.639592 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328614 0.618565 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351955 0.626005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317871 0.566667 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.314012 0.567308 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336891 0.569787 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320398 0.587901 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294991 0.564188 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301377 0.584781 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29885 0.563547 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.311485 0.546074 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315344 0.545434 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334364 0.548554 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409774 0.542042 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.433888 0.53788 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426423 0.55574 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423551 0.558395 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.417238 0.524182 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.406901 0.544697 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393124 0.528344 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42011 0.521526 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.395996 0.525689 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.412646 0.539387 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340934 0.501272 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320279 0.506807 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340934 0.501272 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379835 0.550064 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399304 0.540802 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400119 0.563801 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400489 0.54453 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37902 0.527065 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.380205 0.530793 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359551 0.536327 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37865 0.546337 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.35918 0.555599 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379464 0.569335 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.371785 0.0996195 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER -0.393621 0.220501 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER -0.368601 0.279642 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.354293 0.299716 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER -0.347717 0.279022 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366989 0.292196 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375177 0.300337 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.387873 0.292817 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389485 0.280263 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355904 0.287162 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.370213 0.267088 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349329 0.266468 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER -0.321889 0.238665 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.304702 0.250544 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32307 0.238717 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327715 0.259421 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.30352 0.250492 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.326533 0.259369 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320707 0.238612 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298875 0.229788 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316063 0.217908 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317244 0.21796 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER -0.372464 0.281062 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.362978 0.289441 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER -0.35549 0.267771 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378255 0.270044 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379952 0.302733 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.395229 0.283335 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389438 0.294353 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357187 0.30046 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366673 0.29208 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349699 0.278789 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440333 0.261479 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.443285 0.282991 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.421181 0.271991 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4302 0.282046 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462437 0.27248 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER -0.449353 0.271534 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459485 0.250967 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453417 0.262424 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.450466 0.240911 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431313 0.251423 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.444196 0.262898 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.449273 0.285685 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436139 0.282528 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER -0.426189 0.27701 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45733 0.266055 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434246 0.257381 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452254 0.243269 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46728 0.271573 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462204 0.248787 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.454146 0.268416 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER -0.465353 0.202338 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.486123 0.204606 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464339 0.202946 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470107 0.223366 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.487137 0.203998 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471122 0.222757 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466367 0.201729 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.481368 0.183578 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.460599 0.18131 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459584 0.181918 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389758 0.219082 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER -0.378635 0.228779 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER -0.365937 0.225483 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383364 0.24293 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.402455 0.222377 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407185 0.236529 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER -0.413578 0.21268 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385029 0.20493 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396152 0.195233 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER -0.372331 0.201634 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414778 0.15994 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER -0.412573 0.147477 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39322 0.15977 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER -0.412448 0.172167 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434131 0.147647 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434006 0.172338 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436336 0.16011 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414903 0.13525 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.417108 0.147713 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39555 0.147543 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343046 0.178104 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER -0.319723 0.177083 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.325124 0.189464 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.332294 0.198298 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337645 0.165722 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER -0.350216 0.186938 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360967 0.166743 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330475 0.156889 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353797 0.157909 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335876 0.16927 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191247 0.166275 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.130089 0.20793 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.115471 0.221102 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.126388 0.200597 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13987 0.220766 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119172 0.228435 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143571 0.228099 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13379 0.215264 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10569 0.208266 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120308 0.195095 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116607 0.187762 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154295 0.172673 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.15554 0.180792 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER -0.17557 0.171251 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166926 0.19323 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134265 0.182215 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.145651 0.194652 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER -0.133019 0.174096 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.142909 0.160236 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141663 0.152117 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.162939 0.150694 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192135 0.230419 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.18209 0.243049 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168159 0.227721 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.185251 0.218634 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER -0.206066 0.245747 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209227 0.221332 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216111 0.233117 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188974 0.254834 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.199019 0.242204 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER -0.175043 0.239506 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.167041 0.201532 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.151829 0.219088 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14514 0.205084 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163068 0.221861 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173729 0.215537 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.184969 0.218309 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188942 0.197981 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155801 0.19876 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171014 0.181204 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149113 0.184756 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.229087 0.224021 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.22829 0.248268 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207937 0.234532 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216949 0.2391 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.249439 0.237756 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238098 0.228589 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.250236 0.213509 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240428 0.233189 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241225 0.208942 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220075 0.219453 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228199 0.159877 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.229756 0.167942 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207683 0.16569 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223214 0.183484 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.250271 0.162129 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.243729 0.177671 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248714 0.154064 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER -0.234741 0.144336 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233184 0.13627 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212668 0.142084 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER -0.129201 0.143787 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.105335 0.14887 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115741 0.153943 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121723 0.167242 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER -0.118795 0.138714 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135183 0.157086 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER -0.142661 0.13363 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.112813 0.125414 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.136679 0.120331 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.123219 0.130487 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER -0.190359 0.102131 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.179968 0.0897843 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166467 0.105492 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.183804 0.114103 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER -0.20386 0.0864233 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207696 0.110742 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER -0.214251 0.0987702 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.186523 0.0778128 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196914 0.0901597 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173022 0.0935207 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153407 0.108529 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.130858 0.0995811 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135326 0.123725 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134736 0.113639 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER -0.148938 0.0843858 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.152816 0.0984435 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171487 0.0933338 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149528 0.0944715 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172078 0.10342 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153997 0.118615 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31427 0.31427 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.277961 0.367156 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.269898 0.374298 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER -0.270045 0.350338 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.291334 0.362218 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277815 0.391115 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299251 0.379036 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.285878 0.383973 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER -0.256525 0.379235 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.264588 0.372093 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER -0.256671 0.355276 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.252306 0.297666 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.235688 0.305995 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259438 0.312359 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245915 0.321516 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228556 0.291303 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238783 0.306824 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245173 0.282974 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.242079 0.282145 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.258696 0.273816 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265828 0.288509 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31427 0.31427 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.32435 0.32435 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33812 0.32066 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32066 0.33812 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3005 0.317959 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29681 0.331729 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29042 0.307879 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317959 0.3005 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307879 0.29042 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331729 0.29681 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339925 0.383759 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.334762 0.407156 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31686 0.392275 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.326552 0.388696 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357827 0.39864 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349618 0.380181 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362991 0.375243 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348135 0.402218 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353299 0.378821 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330233 0.387337 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376234 0.330873 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.393346 0.348239 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383366 0.345565 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369843 0.354723 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386213 0.333547 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362711 0.340031 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369102 0.316181 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399736 0.324389 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382624 0.307023 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389757 0.321715 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376234 0.330873 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.386461 0.346394 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362711 0.340031 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369843 0.354723 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399983 0.337237 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383366 0.345565 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389757 0.321715 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392851 0.322544 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382624 0.307023 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369102 0.316181 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277961 0.367156 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.261966 0.385852 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259422 0.36581 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER -0.278159 0.38141 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER -0.280504 0.387198 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296698 0.382755 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER -0.2965 0.368501 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.261768 0.371598 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277764 0.352901 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259225 0.351556 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31427 0.31427 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.304189 0.32435 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29042 0.32066 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307879 0.33812 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328039 0.317959 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331729 0.331729 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33812 0.307879 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31058 0.3005 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32066 0.29042 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29681 0.29681 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.252306 0.297666 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.228803 0.30415 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238783 0.306824 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245915 0.321516 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.242326 0.294992 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259438 0.312359 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265828 0.288509 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.235194 0.2803 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.258696 0.273816 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245173 0.282974 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574159 0.153845 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER -0.612768 0.202534 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER -0.612732 0.225282 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591695 0.212428 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60221 0.22113 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633805 0.215388 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623283 0.211236 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER -0.63384 0.192641 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62329 0.206686 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623325 0.183939 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602253 0.193832 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543919 0.184086 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER -0.527458 0.200547 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522843 0.187702 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.540303 0.205161 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548533 0.196931 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561378 0.201546 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.564994 0.18047 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531074 0.179472 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.547535 0.163011 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.526459 0.166627 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.542885 0.243024 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534333 0.219861 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563539 0.248559 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575642 0.23093 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575642 0.23093 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542885 0.243024 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534333 0.219861 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643008 0.172294 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER -0.660425 0.189742 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645434 0.185725 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636618 0.196144 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657999 0.17631 0.57904 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634191 0.182712 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640582 0.158862 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666816 0.165892 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649399 0.148444 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651825 0.161875 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER -0.585228 0.195155 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER -0.574809 0.203972 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561378 0.201546 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.568784 0.181486 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598659 0.197581 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.592634 0.175095 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609078 0.188764 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591253 0.217641 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601672 0.208824 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577822 0.215215 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6044 0.123605 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER -0.620861 0.107144 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608016 0.102529 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625475 0.119989 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617245 0.128219 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621859 0.141064 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600784 0.14468 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599785 0.11076 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583324 0.127221 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58694 0.106145 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631939 0.130984 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER -0.643128 0.132649 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618482 0.133263 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631785 0.152367 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656585 0.130371 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645242 0.150088 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645397 0.128706 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643283 0.111266 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632094 0.109601 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618637 0.11188 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.591664 0.0609772 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572676 0.076761 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612319 0.0665116 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613986 0.0878298 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613986 0.0878298 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591664 0.0609772 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572676 0.076761 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56309 0.112536 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549659 0.11011 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53924 0.118927 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555684 0.132596 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.573509 0.103719 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579534 0.126205 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58694 0.106145 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557065 0.09005 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570497 0.0924762 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.546646 0.0988668 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.494808 0.247614 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER -0.494287 0.313607 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.484182 0.326876 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470513 0.310432 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.488171 0.302705 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507957 0.330051 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511946 0.305881 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.518062 0.316783 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490299 0.337778 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500404 0.324509 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476629 0.321334 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452978 0.302539 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.436971 0.320401 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436675 0.29902 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER -0.455413 0.3148 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453274 0.32392 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471717 0.318318 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469281 0.306057 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434535 0.30814 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER -0.450543 0.290278 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434239 0.286759 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434629 0.269833 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.426389 0.279233 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.445377 0.263449 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448298 0.286276 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415641 0.285616 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER -0.43755 0.29266 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42388 0.276216 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41272 0.262789 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420959 0.253389 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431707 0.247006 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536117 0.258683 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549787 0.275127 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549787 0.275127 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529727 0.282533 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536117 0.258683 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.516058 0.266089 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522448 0.242239 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556177 0.251277 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542508 0.234833 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556177 0.251277 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476459 0.214908 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER -0.457868 0.209819 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER -0.458164 0.2312 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453963 0.210053 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476163 0.193527 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER -0.472258 0.193761 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.494753 0.198616 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER -0.480363 0.214674 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER -0.498954 0.219763 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.480659 0.236055 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536638 0.19269 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549603 0.17251 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528912 0.177908 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549105 0.191778 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557329 0.187292 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556831 0.20656 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544363 0.207471 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.537136 0.173421 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.524171 0.193601 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.516445 0.178819 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554467 0.291389 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER -0.562288 0.314604 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542501 0.306499 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541186 0.310183 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574255 0.299494 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.553152 0.295073 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566433 0.276279 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575569 0.29581 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567748 0.272595 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555781 0.287705 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.567359 0.227186 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54267 0.227528 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555283 0.246777 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579676 0.225054 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567601 0.244644 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567305 0.223263 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567063 0.205805 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554691 0.204014 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542374 0.206147 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.513157 0.28032 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER -0.507811 0.298839 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.489718 0.287442 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505577 0.302049 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531251 0.291716 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529016 0.294927 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536597 0.273198 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515392 0.27711 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER -0.520738 0.258591 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497299 0.265714 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER -0.552323 0.0329639 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER -0.625877 0.0248832 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER -0.646362 0.0316054 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625173 0.0287309 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627981 0.0478 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647066 0.0277577 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628685 0.0439523 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62658 0.0210355 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644258 0.00868865 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623773 0.00196644 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623069 0.00581415 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.584567 0.0138144 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER -0.584898 0.0177119 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56353 0.0185345 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER -0.580268 0.0364224 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.605935 0.0129918 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601305 0.0317022 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.605605 0.00909422 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER -0.589197 -0.00489609 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.588867 -0.00879364 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567829 -0.00407348 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.593994 0.105299 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572783 0.0926585 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582384 0.100664 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.614541 0.0949359 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602932 0.090301 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613879 0.0719323 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604941 0.0869303 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604278 0.0639267 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58373 0.0742898 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593633 0.0440327 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER -0.607302 0.0604766 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607302 0.0604766 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587242 0.0678827 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593633 0.0440327 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.573573 0.0514389 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579964 0.0275889 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613693 0.0366265 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600023 0.0201827 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613693 0.0366265 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561087 0.101445 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER -0.551884 0.118381 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536664 0.103361 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550745 0.0944221 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576307 0.116465 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575168 0.0925065 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58551 0.0995293 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562225 0.125404 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571428 0.108468 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.547006 0.110383 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER -0.520079 0.0521134 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER -0.523344 0.0542684 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534291 0.0358996 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541988 0.0591566 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509132 0.0704822 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER -0.527777 0.0753703 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505868 0.0683272 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.501435 0.0472252 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49817 0.0450702 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.512382 0.0288565 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER -0.584869 -0.0244483 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.5935 -0.0473753 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57344 -0.0399691 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.595617 -0.0308315 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604929 -0.0318545 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607046 -0.0153107 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.596298 -0.00892756 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582752 -0.0409921 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574121 -0.0180651 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562692 -0.0335859 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511316 -0.0163676 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.48882 -0.0212225 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497372 0.00194055 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491256 -0.00896145 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502764 -0.0395307 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505199 -0.0272696 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER -0.525259 -0.0346758 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER -0.50888 -0.0286287 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531375 -0.0237738 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517432 -0.00546563 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54356 -0.0355172 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.530389 -0.0495897 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER -0.519442 -0.031221 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53532 -0.0261165 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554507 -0.0538859 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER -0.559438 -0.0304127 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567678 -0.0398133 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538628 -0.0589904 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.551799 -0.0449178 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER -0.527681 -0.0406217 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER -0.451136 0.0058509 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER -0.447081 0.0051487 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER -0.435909 0.01504 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423265 0.0115452 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440694 0.0289993 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459725 0.00864346 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46451 0.0226028 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470897 -0.0012478 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER -0.442297 -0.00881065 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453468 -0.0187019 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.429652 -0.0123054 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386138 0.0172804 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER -0.364644 0.0293677 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375512 0.0213457 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385352 0.0401449 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37527 0.0253024 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER -0.395978 0.0360796 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396764 0.0132151 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER -0.36543 0.0065032 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386924 -0.00558411 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376298 -0.00151881 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.439178 0.0688765 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER -0.426942 0.0903221 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.416328 0.0699989 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435083 0.0806307 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER -0.449792 0.0891998 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.457933 0.0795084 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462029 0.0677542 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431037 0.078568 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER -0.443274 0.0571224 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420423 0.0582447 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER -0.512079 -0.00628079 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.523883 -0.000557006 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49924 -0.00208214 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.51057 0.0165974 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536722 -0.00475566 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523409 0.0123987 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER -0.524918 -0.0104794 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.525392 -0.0234352 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.513588 -0.029159 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500749 -0.0249603 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504176 0.0574471 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.508666 0.0817008 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.488971 0.0722467 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.489545 0.0732807 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523872 0.0669012 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504751 0.058481 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.519382 0.0426474 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523298 0.0658672 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER -0.518808 0.0416134 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.503602 0.0564131 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.516134 -0.00557859 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.540463 -0.00154892 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.52751 -0.00538221 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER -0.524673 0.0156462 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529087 -0.00174531 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.513298 0.0154498 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504759 -0.00577498 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531924 -0.0227737 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507596 -0.0268034 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER -0.518971 -0.026607 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459039 -0.0578769 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.451803 -0.0707378 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435761 -0.0561039 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER -0.454158 -0.0461991 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER -0.475081 -0.0725109 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477435 -0.0479721 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.482316 -0.05965 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER -0.456685 -0.0824157 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46392 -0.0695548 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440643 -0.0677817 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER -0.463094 -0.0571747 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.459563 -0.081612 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.442243 -0.0665888 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.463589 -0.0696122 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER -0.480415 -0.0721979 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.48444 -0.0601982 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER -0.483946 -0.0477607 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459069 -0.0691745 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4626 -0.0447373 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.441749 -0.0541513 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398096 -0.0457452 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.373728 -0.0495643 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383722 -0.030137 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382672 -0.0306825 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388102 -0.0651725 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.397047 -0.0462908 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41247 -0.0613535 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389151 -0.064627 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41352 -0.060808 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399146 -0.0451997 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.424299 -0.178985 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.412497 -0.190929 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400273 -0.174844 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.417001 -0.16674 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436523 -0.195071 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER -0.441027 -0.170881 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448325 -0.183127 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419795 -0.203175 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431597 -0.191231 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407571 -0.18709 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367336 -0.131634 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.343834 -0.12515 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353814 -0.122476 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360946 -0.107784 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357357 -0.134308 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374468 -0.116942 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380859 -0.140792 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.350225 -0.149 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.373727 -0.155484 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360204 -0.146326 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.41922 -0.10495 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40545 -0.10864 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42291 -0.0911807 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44307 -0.111341 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44676 -0.0975713 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45315 -0.121421 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425611 -0.128801 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435691 -0.138881 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.411841 -0.13249 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.486264 -0.162382 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.502603 -0.174264 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.479659 -0.170327 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER -0.495376 -0.15142 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509207 -0.166319 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER -0.501981 -0.143475 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.492868 -0.154437 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49349 -0.185226 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477151 -0.173345 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470546 -0.18129 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491265 -0.0984274 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.501491 -0.082906 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477742 -0.0892696 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484874 -0.0745774 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515014 -0.0920638 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER -0.498397 -0.0837352 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504787 -0.107585 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507882 -0.106756 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497655 -0.122277 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484132 -0.11312 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491265 -0.0984274 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.508376 -0.0810612 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.498397 -0.0837352 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484874 -0.0745774 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.501244 -0.0957534 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477742 -0.0892696 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484132 -0.11312 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.514767 -0.104911 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497655 -0.122277 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504787 -0.107585 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.424299 -0.178985 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.411775 -0.200165 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399922 -0.179342 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415187 -0.189948 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436152 -0.199808 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.439564 -0.189591 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448677 -0.178629 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420888 -0.189202 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER -0.433412 -0.168023 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409035 -0.168379 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.439381 -0.10495 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45315 -0.10864 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435691 -0.0911807 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415531 -0.111341 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.411841 -0.0975713 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40545 -0.121421 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.43299 -0.128801 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42291 -0.138881 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44676 -0.13249 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367336 -0.131634 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.350719 -0.123305 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374468 -0.116942 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360946 -0.107784 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343587 -0.137998 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353814 -0.122476 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360204 -0.146326 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357109 -0.147155 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.373727 -0.155484 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380859 -0.140792 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248762 -0.0483751 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.183785 -0.0599222 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.160406 -0.0522053 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171954 -0.0513956 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178533 -0.0358698 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172236 -0.0607319 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER -0.190363 -0.0443964 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195615 -0.0684488 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165658 -0.0762577 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189036 -0.0839747 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177206 -0.075448 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER -0.187119 -0.0172857 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.176731 -0.00705049 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192673 -0.025725 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200733 -0.00352517 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171177 0.00138875 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195179 0.00491406 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER -0.181564 -0.00884647 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163117 -0.020811 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173504 -0.0310463 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179058 -0.0394855 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215921 0.00673113 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.20044 0.0258737 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196602 0.00551963 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215612 0.0203763 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER -0.21976 0.0270852 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.234932 0.0215878 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.235241 0.00794264 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200749 0.0122285 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER -0.21623 -0.00691403 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196911 -0.00812553 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245428 -0.0910116 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.234308 -0.0942304 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.221514 -0.0854464 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238704 -0.0714204 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER -0.258223 -0.0997955 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.262619 -0.0769856 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.269343 -0.0965768 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241032 -0.113822 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.252152 -0.110603 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228237 -0.105038 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277564 -0.0243582 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.275459 -0.0076281 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER -0.255218 -0.0167139 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER -0.270078 -0.00142185 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER -0.297806 -0.0152725 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.292425 -0.00906621 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299911 -0.0320026 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282946 -0.0305645 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.285051 -0.0472946 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.262704 -0.0396503 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER -0.310405 -0.0794645 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.324811 -0.0817333 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.300317 -0.0800146 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.313378 -0.0603366 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER -0.334899 -0.0811832 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER -0.323466 -0.0597864 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320493 -0.0789143 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.321838 -0.100861 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307433 -0.0985923 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.297345 -0.0991425 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216626 -0.115028 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.195663 -0.127519 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194866 -0.104303 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER -0.201738 -0.108803 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER -0.217423 -0.138245 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223497 -0.119529 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238386 -0.125754 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210551 -0.133744 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.231514 -0.121254 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209754 -0.110528 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.281603 -0.103481 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.291073 -0.126206 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.271345 -0.119897 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293457 -0.110246 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER -0.301332 -0.10979 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.303716 -0.0938302 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER -0.291862 -0.0870656 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.279219 -0.119442 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.269749 -0.0967168 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER -0.25949 -0.113132 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.21996 -0.0723919 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.20388 -0.0673141 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216456 -0.0490355 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER -0.198742 -0.0609052 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207384 -0.0906706 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.202246 -0.0842617 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223463 -0.0957484 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225098 -0.0788008 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241177 -0.0838786 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.237674 -0.0605222 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471405 0.471405 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.508983 0.690426 8.51251e-17 RAD 0.0555556
- txt002
- SPHERE CENTER -0.484794 0.755941 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.47411 0.767658 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.467528 0.744501 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER -0.489758 0.749038 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491377 0.779098 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507025 0.760478 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502061 0.767382 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469146 0.774562 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER -0.47983 0.762845 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462564 0.751405 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436283 0.7029 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.418941 0.714226 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.43889 0.704751 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44101 0.724842 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.416335 0.712374 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.438403 0.722991 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.433677 0.701048 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414215 0.692283 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431557 0.680957 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434163 0.682808 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.478434 0.695668 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.481931 0.703418 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500827 0.694124 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491475 0.716184 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459538 0.704962 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469082 0.717727 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.456041 0.697211 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46889 0.682902 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.465393 0.675152 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.487786 0.673608 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557494 0.743468 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.560084 0.767402 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543179 0.760285 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53997 0.755145 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574398 0.750585 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554284 0.738328 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571808 0.726651 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577608 0.755725 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575017 0.731791 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER -0.560703 0.748608 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER -0.551134 0.683194 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.573364 0.687731 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571303 0.682033 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56324 0.703871 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.553195 0.688893 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543071 0.705033 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530964 0.684356 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561258 0.667055 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539027 0.662518 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.559196 0.661356 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.581682 0.677953 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.601808 0.682851 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579842 0.680568 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58454 0.700216 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603648 0.680237 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58638 0.697602 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583522 0.675339 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59895 0.660588 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.578824 0.65569 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576984 0.658304 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515343 0.7507 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.506594 0.773394 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491321 0.755462 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507924 0.764807 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530616 0.768632 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531946 0.760045 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539365 0.745938 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.514012 0.759287 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522762 0.736593 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49874 0.741355 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539531 0.685185 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.538818 0.693658 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517905 0.691194 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534075 0.708875 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.560445 0.687649 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555702 0.702866 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561158 0.679176 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544274 0.669969 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544988 0.661495 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523361 0.667505 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466832 0.697658 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.447385 0.709346 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.447429 0.703286 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46231 0.721188 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466788 0.703718 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.481713 0.71556 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.486235 0.692031 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.451907 0.685816 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471354 0.674129 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.451951 0.679757 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335322 0.607487 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.283164 0.659645 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.269894 0.672915 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.275822 0.649528 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293281 0.666987 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277236 0.683032 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.300624 0.677104 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.290507 0.669762 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259777 0.665573 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273047 0.652302 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265705 0.642185 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.286452 0.603979 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.279361 0.614273 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.303327 0.613293 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.288206 0.628413 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.262487 0.604959 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.271332 0.619099 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.269578 0.594664 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277607 0.589839 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.284698 0.579544 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.301572 0.588858 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33883 0.656357 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.328536 0.663448 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314396 0.654603 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.329516 0.639482 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.35297 0.665202 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353951 0.641237 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.363265 0.658111 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33785 0.680322 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348145 0.673232 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32371 0.671477 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.332034 0.663153 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.321274 0.684748 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.308341 0.666888 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.326131 0.678752 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.344967 0.681014 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349824 0.675018 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355727 0.659419 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327177 0.669149 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337937 0.647554 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314244 0.651289 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.391875 0.684201 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384191 0.610996 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.389739 0.622198 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366159 0.617804 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378964 0.63493 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407771 0.61539 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396997 0.628121 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.402224 0.604188 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.394966 0.598265 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389418 0.587062 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.371386 0.593871 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.279656 0.610775 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.258061 0.621535 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.264057 0.616678 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.275921 0.634468 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.27366 0.615632 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29152 0.628565 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.295255 0.604872 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.261795 0.597842 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.28339 0.587082 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267791 0.592985 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331813 0.558618 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.320611 0.55307 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.30788 0.563845 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.325005 0.57665 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.344544 0.547843 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348938 0.571423 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355747 0.553391 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327419 0.535038 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338621 0.540585 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314688 0.545813 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.258608 0.550934 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335322 0.607487 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.313405 0.629404 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.316595 0.626214 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318408 0.606941 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335868 0.624401 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.311592 0.648676 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330864 0.646863 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.308402 0.651867 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.294133 0.631217 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.290942 0.634407 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.295946 0.611945 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331813 0.558618 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.319608 0.539107 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307378 0.556863 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.322499 0.541743 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.344043 0.540862 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.346933 0.543497 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356248 0.560372 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328923 0.555982 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.341128 0.575492 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316693 0.573738 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384191 0.610996 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.403702 0.623201 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401066 0.62031 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385946 0.635431 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386827 0.613886 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369071 0.626116 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367317 0.601681 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401947 0.598766 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382437 0.586561 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399312 0.595876 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316914 0.678274 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.305407 0.69384 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296616 0.671002 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317721 0.674446 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.325704 0.701111 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338018 0.681717 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337211 0.685545 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3046 0.697667 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316107 0.682101 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.295809 0.67483 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.391875 0.684201 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33883 0.656357 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.329538 0.677411 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314897 0.661584 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.332022 0.674389 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353472 0.672184 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355956 0.669162 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362764 0.65113 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.336346 0.659378 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.345639 0.638325 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.321705 0.643552 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.264535 0.625895 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.248969 0.637402 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.268363 0.625088 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.271807 0.646193 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245142 0.638209 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267979 0.647 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.260708 0.626702 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241698 0.617105 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.257264 0.605598 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.261092 0.604791 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.286452 0.603979 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.265398 0.613271 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.26842 0.610787 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.281225 0.627912 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.283431 0.606463 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299257 0.621104 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.304484 0.59717 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.270625 0.589337 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.291679 0.580045 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273647 0.586853 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.258608 0.550934 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645066 0.554344 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.681385 0.616373 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.678928 0.639472 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661636 0.629767 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER -0.664108 0.621631 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698678 0.626079 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683858 0.608237 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701135 0.602979 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696205 0.634214 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698662 0.611115 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678912 0.624508 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649723 0.609912 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.640648 0.631982 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625749 0.614812 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64267 0.62585 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER -0.664623 0.627081 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666645 0.620949 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673698 0.605012 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647702 0.616044 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656777 0.593974 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632802 0.598874 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607573 0.617144 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.595495 0.63057 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594239 0.605919 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615286 0.617371 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608828 0.641795 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628619 0.628595 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER -0.620906 0.628369 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587782 0.630343 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59986 0.616917 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586526 0.605692 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.676727 0.560805 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.689897 0.57563 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693998 0.575587 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673115 0.585222 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.672626 0.560848 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655844 0.57044 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659456 0.546023 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693509 0.551213 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680339 0.536388 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69761 0.55117 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602915 0.561576 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.602201 0.570049 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623084 0.560414 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615021 0.582252 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582032 0.571211 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594852 0.583414 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582745 0.562738 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER -0.590095 0.549372 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER -0.590808 0.540899 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610978 0.539737 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640408 0.498776 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.627785 0.478525 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615951 0.497935 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630799 0.484234 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER -0.652241 0.479365 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655255 0.485075 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.664864 0.499616 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637394 0.493066 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.650016 0.513317 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62556 0.512476 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718878 0.553573 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.73992 0.563328 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.720935 0.559693 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719679 0.577348 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737863 0.557208 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717623 0.571228 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.716821 0.547453 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739118 0.539553 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718076 0.529798 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.720133 0.535918 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682558 0.491544 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.688647 0.474542 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666351 0.485132 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER -0.686417 0.498226 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.704854 0.480953 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER -0.702624 0.504637 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698765 0.497955 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.684788 0.46786 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678699 0.484862 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER -0.662492 0.47845 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687216 0.547112 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.690713 0.554862 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.667813 0.552739 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682694 0.570641 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER -0.710116 0.549235 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.702097 0.565014 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.706619 0.541484 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER -0.695235 0.531333 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691738 0.523582 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER -0.672335 0.52921 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471405 0.471405 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.501645 0.501645 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.499795 0.519956 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.493653 0.523893 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.479397 0.509638 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507788 0.497708 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.48739 0.48739 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509638 0.479397 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522043 0.511963 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523893 0.493653 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515901 0.515901 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.490576 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.559233 0.507719 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539759 0.502501 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536564 0.514426 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562428 0.495794 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539759 0.502501 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54615 0.478651 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.565623 0.483869 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549345 0.466726 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54615 0.478651 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.542955 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.483869 0.565623 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466726 0.549345 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.478651 0.54615 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507719 0.559233 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502501 0.539759 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.514426 0.536564 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.495794 0.562428 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502501 0.539759 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.478651 0.54615 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.430095 0.482473 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.430434 0.489762 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.449569 0.477255 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.445366 0.500519 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41096 0.49498 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425893 0.505737 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410622 0.487691 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415162 0.471716 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414824 0.464428 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434297 0.45921 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.523783 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.404771 0.538038 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410297 0.515053 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427756 0.532513 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4135 0.546768 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436486 0.541242 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427756 0.532513 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396041 0.529309 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410297 0.515053 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401567 0.506323 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.452233 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.377186 0.45894 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396659 0.464158 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.393464 0.476083 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380381 0.447015 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396659 0.464158 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40305 0.440308 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383576 0.43509 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406245 0.428383 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40305 0.440308 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.482473 0.430095 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.48121 0.407271 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464428 0.414824 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.487691 0.410622 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499256 0.422542 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505737 0.425893 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500519 0.445366 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.475992 0.426744 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477255 0.449569 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45921 0.434297 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.399854 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.43509 0.383576 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428383 0.406245 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440308 0.40305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45894 0.377186 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464158 0.396659 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476083 0.393464 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.447015 0.380381 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464158 0.396659 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440308 0.40305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.419026 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.538038 0.404771 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515053 0.410297 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.532513 0.427756 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.546768 0.4135 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541242 0.436486 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.532513 0.427756 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529309 0.396041 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515053 0.410297 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.506323 0.401567 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607487 0.335322 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.659645 0.283164 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.672915 0.269894 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649528 0.275822 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666987 0.293281 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683032 0.277236 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.677104 0.300624 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669762 0.290507 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665573 0.259777 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.652302 0.273047 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642185 0.265705 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603979 0.286452 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.592776 0.280905 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.580045 0.291679 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59717 0.304484 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.61671 0.275678 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621104 0.299257 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627912 0.281225 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599585 0.262872 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610787 0.26842 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586853 0.273647 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656357 0.33883 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.661904 0.350033 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638325 0.345639 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65113 0.362764 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679937 0.343224 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669162 0.355956 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674389 0.332022 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.667131 0.326099 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661584 0.314897 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643552 0.321705 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663153 0.332034 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.685865 0.340177 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679339 0.33606 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669651 0.355123 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669679 0.336151 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.653465 0.351097 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.646968 0.328008 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679367 0.317089 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656656 0.308945 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.672841 0.312971 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.664041 0.412036 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610996 0.384191 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.600701 0.391282 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586561 0.382437 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601681 0.367317 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625136 0.393037 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626116 0.369071 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.635431 0.385946 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610016 0.408157 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62031 0.401066 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.595876 0.399312 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610775 0.279656 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.602632 0.256944 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587686 0.273158 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606749 0.26347 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62572 0.263442 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.629838 0.269968 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633864 0.286153 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606658 0.27313 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.614801 0.295841 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591712 0.289344 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558618 0.331813 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.551527 0.342108 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575492 0.341128 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.560372 0.356248 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534652 0.332793 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543497 0.346933 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541743 0.322499 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549772 0.317673 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556863 0.307378 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.573738 0.316693 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.530773 0.278768 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645066 0.554344 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.668521 0.610229 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.663938 0.633406 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64522 0.617928 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65892 0.626429 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687239 0.625707 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682221 0.61873 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691822 0.602531 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673539 0.617206 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678123 0.59403 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.654822 0.601728 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598918 0.585648 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.580238 0.601562 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER -0.581665 0.587563 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59781 0.605914 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER -0.597491 0.599646 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615063 0.603999 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616171 0.583732 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.581346 0.581295 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600026 0.565381 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582773 0.567297 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619787 0.622977 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.608008 0.63767 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601637 0.613891 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623239 0.620102 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626157 0.646756 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.641389 0.629188 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637936 0.632063 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604555 0.640545 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616334 0.625852 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598184 0.616766 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.714669 0.578925 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.729812 0.597914 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711617 0.592661 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70632 0.602084 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732864 0.584178 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.709372 0.588348 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.71772 0.565189 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER -0.738161 0.574755 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER -0.723017 0.555767 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719965 0.569503 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665934 0.591673 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.658095 0.605761 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647455 0.607672 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643855 0.58746 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.676573 0.589763 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER -0.662334 0.571461 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER -0.684413 0.575674 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680174 0.609975 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.688013 0.595887 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669535 0.611885 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691213 0.52304 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.712906 0.511567 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.699372 0.507717 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.710453 0.529503 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.704747 0.526889 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER -0.702295 0.544826 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683054 0.538362 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693665 0.505104 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671972 0.516576 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680131 0.501254 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6938 0.541596 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.70016 0.547376 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER -0.676324 0.546319 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690564 0.564621 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717636 0.542652 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70804 0.559898 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711276 0.536873 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER -0.703396 0.524351 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER -0.697037 0.518571 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679561 0.523294 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER -0.670344 0.48571 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.67091 0.466887 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER -0.650637 0.480853 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671107 0.490138 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690617 0.471745 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690815 0.494995 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690052 0.490567 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.670147 0.46246 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669581 0.481283 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649874 0.476425 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624197 0.517014 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.60809 0.516313 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60089 0.524375 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616221 0.538029 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631397 0.508952 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639529 0.530668 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647504 0.509653 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616065 0.495298 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632172 0.495999 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608865 0.50336 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607487 0.335322 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.629404 0.313405 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.626214 0.316595 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606941 0.318408 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624401 0.335868 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648676 0.311592 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.646863 0.330864 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651867 0.308402 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631217 0.294133 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634407 0.290942 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.611945 0.295946 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558618 0.331813 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.537564 0.341105 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.540585 0.338621 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.553391 0.355747 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555596 0.334297 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571423 0.348938 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57665 0.325005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542791 0.317172 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563845 0.30788 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545813 0.314688 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610996 0.384191 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.601704 0.405245 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587062 0.389418 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604188 0.402224 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625637 0.400018 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628121 0.396997 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.63493 0.378964 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608512 0.387213 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617804 0.366159 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593871 0.371386 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678274 0.316914 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.697473 0.31938 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674538 0.318074 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681812 0.338182 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701209 0.31822 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.685547 0.337022 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682009 0.315754 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693935 0.298112 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674736 0.295646 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671 0.296805 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.664041 0.412036 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656357 0.33883 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.675867 0.351035 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673232 0.348145 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.658111 0.363265 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.658993 0.341721 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.641237 0.353951 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639482 0.329516 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674113 0.3266 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.654603 0.314396 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671477 0.32371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625895 0.264535 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.623429 0.245336 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604627 0.260997 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624736 0.268271 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644697 0.248874 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.646004 0.271809 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647163 0.268073 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624589 0.2416 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627055 0.2608 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.605787 0.257262 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603979 0.286452 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.591774 0.266942 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579544 0.284698 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594664 0.269578 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616209 0.268696 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619099 0.271332 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628413 0.288206 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601088 0.283817 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613293 0.303327 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.588858 0.301572 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.530773 0.278768 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471405 0.471405 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.441164 0.501645 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.424703 0.518106 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420089 0.505261 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.437548 0.522721 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.445778 0.51449 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.458623 0.519105 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462239 0.498029 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428319 0.497031 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44478 0.48057 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423704 0.484186 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.490576 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.382226 0.502679 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.490576 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405389 0.511231 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382226 0.502679 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405389 0.511231 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.490576 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376691 0.482024 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39432 0.469922 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39432 0.469922 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.542955 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.44013 0.560583 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431578 0.53742 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.542955 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.460785 0.566118 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.472887 0.548489 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.472887 0.548489 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44013 0.560583 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.542955 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431578 0.53742 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.512714 0.482473 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.51514 0.495905 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.492654 0.48988 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.506323 0.506323 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5352 0.488498 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.526383 0.498917 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.532774 0.475067 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.521531 0.472055 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.519105 0.458623 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499045 0.46603 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.523783 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.527958 0.548119 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.508662 0.538903 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.508662 0.538903 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543078 0.532998 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.523783 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538903 0.508662 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543078 0.532998 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538903 0.508662 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.523783 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.452233 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.564273 0.4539 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.452233 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548489 0.472887 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.564273 0.4539 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548489 0.472887 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.452233 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558738 0.433245 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53742 0.431578 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53742 0.431578 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.460336 0.430095 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.446904 0.427669 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436486 0.436486 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45293 0.450155 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470754 0.421278 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.47678 0.443764 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484186 0.423704 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.454311 0.407609 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.467742 0.410035 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.443892 0.416426 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.399854 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.488909 0.378536 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469922 0.39432 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.399854 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509564 0.384071 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511231 0.405389 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511231 0.405389 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.488909 0.378536 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.399854 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469922 0.39432 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.419026 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.39469 0.414851 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403906 0.434147 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403906 0.434147 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409811 0.399731 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.419026 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434147 0.403906 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409811 0.399731 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434147 0.403906 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.419026 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643951 -0.172546 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.835815 -0.157543 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.871646 -0.122136 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.871334 -0.102403 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER -0.850164 -0.113406 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862937 -0.100577 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.892817 -0.111133 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER -0.884419 -0.109307 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER -0.893129 -0.130866 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880044 -0.123961 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880356 -0.143694 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER -0.858873 -0.134964 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER -0.799077 -0.135649 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.781177 -0.120908 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER -0.778973 -0.13149 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.795477 -0.113462 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.801282 -0.125067 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.815582 -0.11762 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819182 -0.139808 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.784778 -0.143095 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802678 -0.157836 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.782573 -0.153678 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.82339 -0.0854653 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.811594 -0.0654286 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER -0.80102 -0.0876595 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.820516 -0.0820122 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.833964 -0.0632344 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER -0.842886 -0.079818 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.845761 -0.083271 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER -0.814468 -0.0688817 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER -0.826265 -0.0889183 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803895 -0.0911125 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER -0.908384 -0.14403 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.926643 -0.128672 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER -0.90826 -0.133221 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.904034 -0.1198 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER -0.926768 -0.139481 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.904159 -0.130608 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER -0.908508 -0.154838 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.930993 -0.152902 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.912733 -0.16826 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER -0.912609 -0.157451 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860128 -0.107359 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.853284 -0.0905999 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER -0.839638 -0.0940331 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840233 -0.111382 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER -0.873773 -0.103926 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860723 -0.124708 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880618 -0.120685 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER -0.873178 -0.086577 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880022 -0.103336 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.859532 -0.0900102 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.872552 -0.179437 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.894035 -0.188167 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.885777 -0.195141 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER -0.89378 -0.172046 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880811 -0.172463 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880556 -0.156342 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER -0.859328 -0.163733 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER -0.872807 -0.195558 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER -0.851325 -0.186828 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.864549 -0.202532 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.884071 -0.194213 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.891905 -0.197746 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.867957 -0.193701 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.884286 -0.175383 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.908019 -0.198259 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER -0.900401 -0.175896 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.900186 -0.194726 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER -0.89169 -0.216576 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.883856 -0.213043 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.867741 -0.212531 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER -0.84824 -0.229621 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.843832 -0.25245 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.826426 -0.235043 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.846687 -0.233837 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.865646 -0.247028 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.868501 -0.228415 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER -0.870053 -0.224198 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER -0.845385 -0.248234 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER -0.849792 -0.225404 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.827978 -0.230827 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER -0.811502 -0.207727 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.794108 -0.212743 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER -0.788345 -0.199907 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802328 -0.189621 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.817265 -0.220563 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER -0.825486 -0.197441 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.83466 -0.215547 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803282 -0.230849 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER -0.820676 -0.225832 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER -0.797518 -0.218012 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643951 -0.172546 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.61371 -0.142305 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.597249 -0.125845 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.592635 -0.138689 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610094 -0.12123 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618324 -0.12946 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631169 -0.124846 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634785 -0.145921 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600865 -0.14692 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617326 -0.163381 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.596251 -0.159765 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.153374 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.554772 -0.141271 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.153374 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577935 -0.13272 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554772 -0.141271 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577935 -0.13272 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.153374 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549237 -0.161926 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566866 -0.174029 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566866 -0.174029 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.100996 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.612676 -0.0833673 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604124 -0.10653 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.100996 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633331 -0.0778329 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645433 -0.0954616 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645433 -0.0954616 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612676 -0.0833673 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.100996 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604124 -0.10653 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.68526 -0.161477 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.687686 -0.148046 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6652 -0.154071 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678869 -0.137627 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.707746 -0.155452 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698929 -0.145033 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70532 -0.168883 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.694077 -0.171896 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691651 -0.185327 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671591 -0.177921 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.120168 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.700504 -0.095832 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681209 -0.105047 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681209 -0.105047 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715624 -0.110952 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.120168 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711449 -0.135288 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715624 -0.110952 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711449 -0.135288 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.120168 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.191718 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.736819 -0.190051 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.191718 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721035 -0.171063 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.736819 -0.190051 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721035 -0.171063 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.191718 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.731284 -0.210706 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.709966 -0.212373 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.709966 -0.212373 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632882 -0.213855 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.61945 -0.216282 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609032 -0.207465 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625476 -0.193796 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6433 -0.222672 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649326 -0.200186 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656732 -0.220246 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626857 -0.236341 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640288 -0.233915 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616438 -0.227525 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.244096 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.661455 -0.265414 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642468 -0.249631 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.244096 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.68211 -0.25988 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683777 -0.238562 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683777 -0.238562 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661455 -0.265414 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.244096 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642468 -0.249631 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.224924 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.567237 -0.2291 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576452 -0.209804 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576452 -0.209804 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582357 -0.24422 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.224924 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606693 -0.240045 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582357 -0.24422 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606693 -0.240045 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.224924 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69376 0.0133465 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.674309 0.0838533 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.66171 0.103063 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.653258 0.0800983 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673446 0.0876683 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682761 0.106818 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.694497 0.0914233 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69536 0.0876083 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.662574 0.0992478 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.675172 0.0800382 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.654121 0.0762832 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.604582 0.0446211 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604582 0.0446211 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599047 0.0239663 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666287 0.0539145 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.662466 0.0547519 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660752 0.0332597 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682791 0.0439578 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.668 0.0754066 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.688325 0.0646126 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671821 0.0745692 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645962 0.0647085 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649783 0.0638711 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644249 0.0432164 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.745859 0.0646815 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.750021 0.0887955 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.729506 0.078459 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732161 0.0813312 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.766375 0.075018 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.748514 0.0675537 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.762212 0.050904 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.763719 0.0721458 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759557 0.0480318 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743204 0.0618093 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737837 0.0347427 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.747099 0.0542122 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743371 0.0553974 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.7241 0.0550267 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741565 0.0335575 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718566 0.0343719 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732303 0.014088 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.760836 0.0339282 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.751574 0.0144587 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.757108 0.0351134 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.786629 -0.00415829 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786629 -0.00415829 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.781094 -0.024813 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701782 0.0432853 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.693716 0.0608821 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.677932 0.0496759 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.694884 0.0652402 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717566 0.0544915 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718734 0.0588496 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.725632 0.0368947 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.700615 0.0389272 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.708681 0.0213304 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.684831 0.027721 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721234 -0.0272215 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.720593 -0.0310802 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.7 -0.0246945 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718114 -0.00820099 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741827 -0.0336072 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739347 -0.010728 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.742467 -0.0297485 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.723713 -0.0501007 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.724354 -0.046242 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70312 -0.043715 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649684 -0.00804971 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.628657 -0.00328338 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630031 0.000378614 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642244 0.0152909 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648309 -0.0117117 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661896 0.00686255 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669336 -0.016478 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636097 -0.026624 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657124 -0.0313903 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637471 -0.022962 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.835815 -0.157543 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.899353 -0.119969 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.909872 -0.0977075 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER -0.891613 -0.104052 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER -0.886771 -0.0997803 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.917612 -0.113625 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER -0.894512 -0.115698 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER -0.907093 -0.135886 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.922453 -0.117896 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.911935 -0.140158 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.904194 -0.124241 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.868703 -0.130205 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.867758 -0.11253 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.846864 -0.122142 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860854 -0.107566 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER -0.889596 -0.120593 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.882692 -0.115629 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER -0.890541 -0.138267 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.875606 -0.135168 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.876551 -0.152843 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER -0.854713 -0.14478 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.836885 -0.0844101 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.826973 -0.0627848 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER -0.81296 -0.083104 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER -0.830202 -0.0805529 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER -0.850898 -0.0640908 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER -0.854126 -0.0818589 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860809 -0.0857161 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER -0.833656 -0.0666419 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER -0.843568 -0.0882673 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819643 -0.0869612 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER -0.866465 -0.147308 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.876203 -0.130609 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.879733 -0.128522 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.857385 -0.124356 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862935 -0.149395 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.844117 -0.143141 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER -0.853198 -0.166093 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.885283 -0.153561 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.875546 -0.170259 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.888813 -0.151474 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803997 -0.111748 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.798532 -0.108311 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.797989 -0.131037 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819589 -0.119537 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER -0.80454 -0.0890219 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER -0.825597 -0.100248 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.810005 -0.0924597 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.78294 -0.100522 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.788405 -0.10396 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER -0.782397 -0.123249 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802927 -0.184881 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.785723 -0.180723 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER -0.798991 -0.161937 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER -0.782104 -0.173028 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER -0.78966 -0.203667 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786041 -0.195972 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER -0.806864 -0.207825 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER -0.806546 -0.192576 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.82375 -0.196734 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819813 -0.17379 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER -0.898283 -0.193102 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.920038 -0.201143 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER -0.900209 -0.201384 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER -0.910616 -0.17991 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.918112 -0.192861 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER -0.90869 -0.171628 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER -0.896357 -0.18482 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.907705 -0.214335 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER -0.88595 -0.206294 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.887876 -0.214576 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER -0.834745 -0.230676 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.824206 -0.252002 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.810793 -0.231282 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.827952 -0.234336 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER -0.848158 -0.251396 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER -0.851905 -0.23373 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.858698 -0.23007 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER -0.830999 -0.248342 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER -0.841538 -0.227016 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.817586 -0.227621 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER -0.867633 -0.203337 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.868948 -0.209658 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER -0.84746 -0.202239 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER -0.865773 -0.186008 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.889121 -0.210757 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.885946 -0.187106 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.887806 -0.204436 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER -0.870808 -0.226988 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.869493 -0.220667 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER -0.84932 -0.219569 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69376 0.0133465 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.668775 0.0631985 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.661946 0.0667914 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65711 0.0452771 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680354 0.0511945 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673611 0.0847128 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.692019 0.069116 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680439 0.08112 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.650366 0.0787954 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657195 0.0752026 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64553 0.0572811 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.604582 0.0446211 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604582 0.0446211 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599047 0.0239663 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649684 -0.00804971 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.634953 -0.000226782 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655218 0.012605 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.635947 0.0122343 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.629419 -0.0208815 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630413 -0.00842045 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644149 -0.0287044 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64869 -0.0205108 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.66342 -0.0283337 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.668955 -0.00767898 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.740325 0.0440268 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.746894 0.0650768 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739183 0.0653796 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.723153 0.0607735 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.748035 0.0437239 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.724295 0.0394207 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741466 0.0226739 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.764065 0.04833 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.757496 0.02728 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.756355 0.0486329 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721234 -0.0272215 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.732368 -0.0484665 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715699 -0.0478762 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737738 -0.0371781 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737902 -0.0278118 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743272 -0.0165234 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.726768 -0.00656677 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715864 -0.0385099 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70473 -0.0172649 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.699195 -0.0379196 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.786629 -0.00415829 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786629 -0.00415829 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.781094 -0.024813 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.712851 0.0845947 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.706291 0.107813 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.689001 0.0909853 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701434 0.0896851 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.730141 0.101422 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.725284 0.0832945 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.736701 0.0782041 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717709 0.102723 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.724268 0.0795043 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.700418 0.0858949 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737837 0.0347427 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.740802 0.0511556 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718185 0.043171 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.730397 0.0580833 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.760455 0.0427273 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.750049 0.0496549 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.757489 0.0263144 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.748242 0.027815 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.745277 0.0114021 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.725625 0.0198304 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666287 0.0539145 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.650692 0.0721382 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645053 0.0564414 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663167 0.072935 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671925 0.0696112 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6844 0.070408 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.68752 0.0513875 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.653812 0.0531177 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669407 0.034894 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648173 0.0374209 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643951 -0.172546 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.674191 -0.142305 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.672341 -0.123995 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666199 -0.120057 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651943 -0.134313 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680334 -0.146243 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659936 -0.156561 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682184 -0.164554 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69459 -0.131987 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696439 -0.150298 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.688447 -0.12805 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.153374 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.731779 -0.136231 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.712305 -0.141449 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70911 -0.129524 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.734974 -0.148156 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.712305 -0.141449 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718696 -0.165299 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.738169 -0.160081 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721891 -0.177224 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718696 -0.165299 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.100996 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.656415 -0.0783272 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639272 -0.0946054 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651197 -0.0978007 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680265 -0.0847178 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.675047 -0.104191 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.686972 -0.107387 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.66834 -0.0815225 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.675047 -0.104191 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651197 -0.0978007 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602641 -0.161477 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.60298 -0.154189 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.622115 -0.166695 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617912 -0.143431 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583506 -0.148971 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598439 -0.138214 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583168 -0.156259 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587708 -0.172234 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58737 -0.179523 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606843 -0.184741 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.120168 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.577317 -0.105912 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582843 -0.128897 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600302 -0.111438 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586046 -0.0971825 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609032 -0.102708 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600302 -0.111438 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.568587 -0.114642 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582843 -0.128897 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574113 -0.137627 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.191718 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549732 -0.185011 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569205 -0.179793 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56601 -0.167868 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.552927 -0.196936 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569205 -0.179793 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575596 -0.203643 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556122 -0.208861 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.578791 -0.215568 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575596 -0.203643 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655019 -0.213855 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.653756 -0.23668 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636974 -0.229127 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660237 -0.233329 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671802 -0.221409 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678283 -0.218058 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673065 -0.198584 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648538 -0.217207 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649801 -0.194382 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631756 -0.209653 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.244096 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.607636 -0.260374 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600929 -0.237705 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612854 -0.240901 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631486 -0.266765 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636704 -0.247291 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648629 -0.250487 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619561 -0.26357 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636704 -0.247291 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612854 -0.240901 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.224924 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.710584 -0.23918 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687599 -0.233654 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.705059 -0.216195 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719314 -0.23045 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.713788 -0.207465 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.705059 -0.216195 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701855 -0.24791 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687599 -0.233654 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678869 -0.242384 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786005 -0.343435 8.51251e-17 RAD 0.0555556
- txt002
- SPHERE CENTER -0.82165 -0.392454 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.824791 -0.400556 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802599 -0.392663 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.821021 -0.376528 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.843843 -0.400347 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840073 -0.376319 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840701 -0.392245 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER -0.82542 -0.416482 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER -0.822279 -0.40838 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803228 -0.408589 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER -0.753118 -0.370774 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.734271 -0.367981 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.731279 -0.362711 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.745269 -0.348136 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.756109 -0.376044 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.767107 -0.356199 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.774956 -0.378837 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.74212 -0.390619 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.760966 -0.393412 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739128 -0.385349 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.80984 -0.323622 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.80634 -0.308073 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786996 -0.316395 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802721 -0.300378 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.829184 -0.315299 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.825565 -0.307605 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.832685 -0.330849 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.813459 -0.331317 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.81696 -0.346866 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.794116 -0.339639 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.854538 -0.365116 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.878086 -0.365674 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER -0.859887 -0.367962 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER -0.863875 -0.346241 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER -0.872736 -0.362827 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.858526 -0.343394 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER -0.849188 -0.362269 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.868748 -0.384548 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER -0.8452 -0.38399 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.85055 -0.386837 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.842728 -0.296284 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.848999 -0.272611 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.828835 -0.281616 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.829121 -0.278432 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862893 -0.287278 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.843015 -0.293099 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.856621 -0.310951 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862606 -0.290462 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.856335 -0.314135 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.842441 -0.299468 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.818893 -0.316097 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.819591 -0.297057 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.814956 -0.293153 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.79807 -0.304244 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.823527 -0.320001 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802007 -0.327188 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.822829 -0.339041 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840413 -0.30891 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.839716 -0.32795 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.835779 -0.305006 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.797815 -0.412267 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.793573 -0.436217 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER -0.776294 -0.419454 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.796968 -0.420728 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.815094 -0.42903 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER -0.818489 -0.413542 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819335 -0.405081 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.79442 -0.427756 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.798662 -0.403807 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER -0.777141 -0.410993 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76217 -0.363249 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.747522 -0.356966 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759239 -0.339469 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.740618 -0.352002 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.750453 -0.380746 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743549 -0.375782 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.765101 -0.387029 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.769074 -0.368213 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.783722 -0.374496 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.780791 -0.350716 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.729282 -0.390587 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.704862 -0.392427 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717401 -0.374248 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.714218 -0.373948 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.716744 -0.408767 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.726099 -0.390287 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741164 -0.406927 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719927 -0.409067 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.744347 -0.407227 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732465 -0.390887 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594141 -0.358439 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.542042 -0.409774 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.517869 -0.413579 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528508 -0.393219 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.525596 -0.395831 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531404 -0.430134 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539131 -0.412386 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555577 -0.426328 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534315 -0.427522 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558488 -0.423716 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544953 -0.407161 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.504962 -0.327164 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504962 -0.327164 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499428 -0.347819 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550064 -0.379835 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.529037 -0.375068 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530412 -0.371406 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542624 -0.356494 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548689 -0.383497 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562276 -0.364922 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569716 -0.388263 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536477 -0.398409 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557504 -0.403175 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.537852 -0.394747 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613592 -0.428945 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.612625 -0.451897 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593593 -0.436515 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.614807 -0.432663 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632624 -0.444328 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634806 -0.425094 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633591 -0.421376 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.61141 -0.448179 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612377 -0.425227 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.592379 -0.432797 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621614 -0.399007 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.620974 -0.402865 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600381 -0.39648 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618494 -0.379986 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642207 -0.405392 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639728 -0.382513 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642848 -0.401533 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624094 -0.421886 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624734 -0.418027 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603501 -0.4155 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.687009 -0.375943 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687009 -0.375943 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681475 -0.396598 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586119 -0.388377 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.570335 -0.399584 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562269 -0.381987 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569167 -0.403942 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594185 -0.405974 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593017 -0.410332 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609969 -0.394768 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587286 -0.384019 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60307 -0.372813 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57922 -0.366422 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638217 -0.337042 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.64748 -0.317573 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643752 -0.316388 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624481 -0.316758 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.641945 -0.338228 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618946 -0.337413 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632683 -0.357697 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661216 -0.337857 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651954 -0.357326 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657489 -0.336672 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566667 -0.317871 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.562847 -0.317033 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561133 -0.338525 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583171 -0.327827 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.568381 -0.296378 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.588706 -0.307172 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572202 -0.297216 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.546343 -0.307077 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550163 -0.307914 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544629 -0.328569 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594141 -0.358439 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.547576 -0.389119 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.525642 -0.386849 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528407 -0.379645 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538964 -0.366733 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544812 -0.396323 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558134 -0.376207 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566746 -0.398593 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534255 -0.409235 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556189 -0.411505 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.537019 -0.402031 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.504962 -0.327164 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504962 -0.327164 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499428 -0.347819 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566667 -0.317871 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.551072 -0.299647 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545434 -0.315344 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563547 -0.29885 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572306 -0.302174 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.584781 -0.301377 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587901 -0.320398 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554192 -0.318667 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569787 -0.336891 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548554 -0.334364 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619127 -0.408291 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.617918 -0.415912 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.597788 -0.406911 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616439 -0.39183 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639257 -0.417292 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637778 -0.39321 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640465 -0.409671 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.620605 -0.432372 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621814 -0.424751 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600475 -0.423371 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638217 -0.337042 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.641183 -0.320629 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618565 -0.328614 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630777 -0.313702 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660835 -0.329058 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65043 -0.32213 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65787 -0.345471 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648623 -0.34397 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645657 -0.360383 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626005 -0.351955 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.687009 -0.375943 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687009 -0.375943 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681475 -0.396598 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57505 -0.429687 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.55776 -0.446515 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5512 -0.423296 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562617 -0.428387 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58161 -0.452905 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586467 -0.434777 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5989 -0.436077 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570193 -0.447815 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587483 -0.430987 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563633 -0.424596 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621614 -0.399007 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.632748 -0.420252 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.61608 -0.419661 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638118 -0.408963 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638282 -0.399597 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643653 -0.388308 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627149 -0.378352 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616244 -0.410295 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60511 -0.38905 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599576 -0.409705 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550064 -0.379835 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.535334 -0.372012 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555599 -0.35918 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536327 -0.359551 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529799 -0.392667 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530793 -0.380205 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54453 -0.400489 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549071 -0.392296 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563801 -0.400119 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569335 -0.379464 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0996195 -0.371785 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER 0.220501 -0.393621 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.279642 -0.368601 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.299716 -0.354293 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER 0.292196 -0.366989 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER 0.279022 -0.347717 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287162 -0.355904 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266468 -0.349329 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267088 -0.370213 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER 0.300337 -0.375177 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280263 -0.389485 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.292817 -0.387873 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281062 -0.372464 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.289441 -0.362978 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER 0.270044 -0.378255 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267771 -0.35549 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30046 -0.357187 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.278789 -0.349699 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29208 -0.366673 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302733 -0.379952 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294353 -0.389438 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER 0.283335 -0.395229 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238665 -0.321889 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.250544 -0.304702 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259421 -0.327715 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238717 -0.32307 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229788 -0.298875 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER 0.21796 -0.317244 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217908 -0.316063 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250492 -0.30352 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238612 -0.320707 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259369 -0.326533 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219082 -0.389758 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.228779 -0.378635 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER 0.24293 -0.383364 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225483 -0.365937 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20493 -0.385029 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201634 -0.372331 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.195233 -0.396152 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.222377 -0.402455 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER 0.21268 -0.413578 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236529 -0.407185 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.178104 -0.343046 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.177083 -0.319723 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198298 -0.332294 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.189464 -0.325124 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156889 -0.330475 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.16927 -0.335876 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.157909 -0.353797 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165722 -0.337645 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166743 -0.360967 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.186938 -0.350216 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.15994 -0.414778 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.147477 -0.412573 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172167 -0.412448 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.15977 -0.39322 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13525 -0.414903 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.147543 -0.39555 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.147713 -0.417108 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.147647 -0.434131 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.16011 -0.436336 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172338 -0.434006 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261479 -0.440333 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.282991 -0.443285 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282046 -0.4302 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271991 -0.421181 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262424 -0.453417 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251423 -0.431313 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240911 -0.450466 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27248 -0.462437 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250967 -0.459485 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271534 -0.449353 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.202338 -0.465353 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.204606 -0.486123 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223366 -0.470107 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.202946 -0.464339 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183578 -0.481368 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181918 -0.459584 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.18131 -0.460599 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203998 -0.487137 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201729 -0.466367 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.222757 -0.471122 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262898 -0.444196 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.285685 -0.449273 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27701 -0.426189 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282528 -0.436139 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271573 -0.46728 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268416 -0.454146 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248787 -0.462204 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266055 -0.45733 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.243269 -0.452254 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257381 -0.434246 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.367156 -0.277961 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.374298 -0.269898 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER 0.362218 -0.291334 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350338 -0.270045 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379235 -0.256525 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355276 -0.256671 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372093 -0.264588 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER 0.391115 -0.277815 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383973 -0.285878 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379036 -0.299251 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.304189 -0.304189 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29042 -0.307879 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307879 -0.29042 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328039 -0.31058 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331729 -0.29681 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33812 -0.32066 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31058 -0.328039 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32066 -0.33812 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29681 -0.331729 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297666 -0.252306 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.305995 -0.235688 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321516 -0.245915 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312359 -0.259438 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282145 -0.242079 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288509 -0.265828 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273816 -0.258696 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291303 -0.228556 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282974 -0.245173 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306824 -0.238783 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367156 -0.277961 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.385852 -0.261966 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38141 -0.278159 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36581 -0.259422 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER 0.371598 -0.261768 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351556 -0.259225 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352901 -0.277764 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387198 -0.280504 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER 0.368501 -0.2965 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382755 -0.296698 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297666 -0.252306 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.30415 -0.228803 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321516 -0.245915 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306824 -0.238783 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2803 -0.235194 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282974 -0.245173 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273816 -0.258696 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294992 -0.242326 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288509 -0.265828 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312359 -0.259438 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.32435 -0.304189 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33812 -0.307879 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32066 -0.29042 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3005 -0.31058 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29681 -0.29681 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29042 -0.32066 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317959 -0.328039 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307879 -0.33812 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331729 -0.331729 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383759 -0.339925 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.407156 -0.334762 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388696 -0.326552 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.392275 -0.31686 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402218 -0.348135 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387337 -0.330233 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378821 -0.353299 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39864 -0.357827 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER 0.375243 -0.362991 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.380181 -0.349618 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330873 -0.376234 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.346394 -0.386461 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.354723 -0.369843 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340031 -0.362711 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322544 -0.392851 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316181 -0.369102 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307023 -0.382624 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337237 -0.399983 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321715 -0.389757 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345565 -0.383366 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330873 -0.376234 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.348239 -0.393346 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.354723 -0.369843 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345565 -0.383366 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324389 -0.399736 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321715 -0.389757 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307023 -0.382624 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.333547 -0.386213 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316181 -0.369102 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340031 -0.362711 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166275 -0.191247 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.20793 -0.130089 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER 0.221102 -0.115471 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.220766 -0.13987 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200597 -0.126388 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208266 -0.10569 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187762 -0.116607 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER 0.195095 -0.120308 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228435 -0.119172 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215264 -0.13379 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228099 -0.143571 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230419 -0.192135 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.243049 -0.18209 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218634 -0.185251 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227721 -0.168159 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.254834 -0.188974 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.239506 -0.175043 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242204 -0.199019 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245747 -0.206066 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233117 -0.216111 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221332 -0.209227 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172673 -0.154295 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.180792 -0.15554 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER 0.19323 -0.166926 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171251 -0.17557 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160236 -0.142909 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.150694 -0.162939 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152117 -0.141663 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.182215 -0.134265 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174096 -0.133019 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.194652 -0.145651 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER 0.143787 -0.129201 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.14887 -0.105335 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167242 -0.121723 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153943 -0.115741 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER 0.125414 -0.112813 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.130487 -0.123219 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120331 -0.136679 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138714 -0.118795 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13363 -0.142661 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.157086 -0.135183 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108529 -0.153407 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0995811 -0.130858 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER 0.113639 -0.134736 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.123725 -0.135326 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0944715 -0.149528 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.118615 -0.153997 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10342 -0.172078 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0843858 -0.148938 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0933338 -0.171487 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0984435 -0.152816 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102131 -0.190359 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0897843 -0.179968 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER 0.114103 -0.183804 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.105492 -0.166467 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0778128 -0.186523 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0935207 -0.173022 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0901597 -0.196914 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0864233 -0.20386 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0987702 -0.214251 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.110742 -0.207696 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201532 -0.167041 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.219088 -0.151829 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221861 -0.163068 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205084 -0.14514 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER 0.19876 -0.155801 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.184756 -0.149113 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181204 -0.171014 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215537 -0.173729 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.197981 -0.188942 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218309 -0.184969 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159877 -0.228199 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.167942 -0.229756 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183484 -0.223214 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.16569 -0.207683 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144336 -0.234741 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER 0.142084 -0.212668 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13627 -0.233184 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER 0.162129 -0.250271 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.154064 -0.248714 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177671 -0.243729 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224021 -0.229087 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.248268 -0.22829 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2391 -0.216949 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234532 -0.207937 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233189 -0.240428 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219453 -0.220075 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208942 -0.241225 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237756 -0.249439 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER 0.213509 -0.250236 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228589 -0.238098 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058509 -0.451136 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0051487 -0.447081 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.01504 -0.435909 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0289993 -0.440694 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0115452 -0.423265 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00881065 -0.442297 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0123054 -0.429652 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0187019 -0.453468 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00864346 -0.459725 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0012478 -0.470897 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0226028 -0.46451 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0688765 -0.439178 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0903221 -0.426942 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0806307 -0.435083 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0699989 -0.416328 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.078568 -0.431037 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0582447 -0.420423 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0571224 -0.443274 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0891998 -0.449792 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0677542 -0.462029 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0795084 -0.457933 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0172804 -0.386138 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0293677 -0.364644 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0401449 -0.385352 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0213457 -0.375512 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0065032 -0.36543 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00151881 -0.376298 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00558411 -0.386924 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0253024 -0.37527 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0132151 -0.396764 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0360796 -0.395978 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0578769 -0.459039 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0707378 -0.451803 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0461991 -0.454158 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0561039 -0.435761 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0824157 -0.456685 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0677817 -0.440643 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0695548 -0.46392 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0725109 -0.475081 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.05965 -0.482316 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0479721 -0.477435 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0457452 -0.398096 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0495643 -0.373728 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0306825 -0.382672 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.030137 -0.383722 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER -0.064627 -0.389151 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0451997 -0.399146 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER -0.060808 -0.41352 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0651725 -0.388102 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0613535 -0.41247 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0462908 -0.397047 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0571747 -0.463094 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.081612 -0.459563 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0696122 -0.463589 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0665888 -0.442243 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0691745 -0.459069 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0541513 -0.441749 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0447373 -0.4626 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0721979 -0.480415 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0477607 -0.483946 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0601982 -0.48444 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00628079 -0.512079 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.000557006 -0.523883 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0165974 -0.51057 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00208214 -0.49924 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0234352 -0.525392 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0249603 -0.500749 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER -0.029159 -0.513588 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00475566 -0.536722 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0104794 -0.524918 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0123987 -0.523409 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00557859 -0.516134 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00154892 -0.540463 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0156462 -0.524673 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00538221 -0.52751 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0227737 -0.531924 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER -0.026607 -0.518971 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0268034 -0.507596 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00174531 -0.529087 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00577498 -0.504759 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0154498 -0.513298 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0574471 -0.504176 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0817008 -0.508666 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0732807 -0.489545 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0722467 -0.488971 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0658672 -0.523298 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0564131 -0.503602 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0416134 -0.518808 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0669012 -0.523872 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0426474 -0.519382 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.058481 -0.504751 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0483751 -0.248762 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0599222 -0.183785 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0522053 -0.160406 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0358698 -0.178533 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0513956 -0.171954 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0762577 -0.165658 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER -0.075448 -0.177206 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0839747 -0.189036 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0607319 -0.172236 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0684488 -0.195615 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0443964 -0.190363 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00673113 -0.215921 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0258737 -0.20044 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0203763 -0.215612 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00551963 -0.196602 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0122285 -0.200749 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00812553 -0.196911 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00691403 -0.21623 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0270852 -0.21976 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00794264 -0.235241 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0215878 -0.234932 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0172857 -0.187119 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00705049 -0.176731 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00352517 -0.200733 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.025725 -0.192673 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.020811 -0.163117 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0394855 -0.179058 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0310463 -0.173504 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00138875 -0.171177 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00884647 -0.181564 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00491406 -0.195179 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115028 -0.216626 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.127519 -0.195663 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER -0.108803 -0.201738 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104303 -0.194866 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER -0.133744 -0.210551 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110528 -0.209754 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121254 -0.231514 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138245 -0.217423 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER -0.125754 -0.238386 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119529 -0.223497 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0723919 -0.21996 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0673141 -0.20388 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0609052 -0.198742 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0490355 -0.216456 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0788008 -0.225098 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0605222 -0.237674 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0838786 -0.241177 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0906706 -0.207384 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0957484 -0.223463 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0842617 -0.202246 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103481 -0.281603 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.126206 -0.291073 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110246 -0.293457 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119897 -0.271345 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119442 -0.279219 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113132 -0.25949 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0967168 -0.269749 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10979 -0.301332 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0870656 -0.291862 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0938302 -0.303716 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0910116 -0.245428 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0942304 -0.234308 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0714204 -0.238704 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0854464 -0.221514 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113822 -0.241032 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.105038 -0.228237 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110603 -0.252152 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0997955 -0.258223 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0965768 -0.269343 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0769856 -0.262619 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0794645 -0.310405 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0817333 -0.324811 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0603366 -0.313378 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0800146 -0.300317 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100861 -0.321838 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0991425 -0.297345 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0985923 -0.307433 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0811832 -0.334899 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0789143 -0.320493 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0597864 -0.323466 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0243582 -0.277564 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0076281 -0.275459 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00142185 -0.270078 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0167139 -0.255218 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0305645 -0.282946 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0396503 -0.262704 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0472946 -0.285051 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0152725 -0.297806 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0320026 -0.299911 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00906621 -0.292425 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.178985 -0.424299 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.190929 -0.412497 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER -0.16674 -0.417001 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.174844 -0.400273 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203175 -0.419795 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.18709 -0.407571 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191231 -0.431597 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195071 -0.436523 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER -0.183127 -0.448325 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER -0.170881 -0.441027 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.10495 -0.41922 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0911807 -0.42291 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10864 -0.40545 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128801 -0.425611 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13249 -0.411841 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138881 -0.435691 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111341 -0.44307 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121421 -0.45315 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0975713 -0.44676 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131634 -0.367336 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.12515 -0.343834 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107784 -0.360946 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122476 -0.353814 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149 -0.350225 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.146326 -0.360204 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155484 -0.373727 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134308 -0.357357 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER -0.140792 -0.380859 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116942 -0.374468 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178985 -0.424299 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.200165 -0.411775 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189948 -0.415187 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179342 -0.399922 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189202 -0.420888 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168379 -0.409035 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168023 -0.433412 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER -0.199808 -0.436152 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178629 -0.448677 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189591 -0.439564 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131634 -0.367336 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.123305 -0.350719 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107784 -0.360946 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116942 -0.374468 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.147155 -0.357109 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.140792 -0.380859 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155484 -0.373727 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.137998 -0.343587 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER -0.146326 -0.360204 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122476 -0.353814 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.125111 -0.41922 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138881 -0.42291 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121421 -0.40545 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.101261 -0.425611 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0975713 -0.411841 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0911807 -0.435691 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11872 -0.44307 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10864 -0.45315 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13249 -0.44676 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.162382 -0.486264 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.174264 -0.502603 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.15142 -0.495376 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER -0.170327 -0.479659 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER -0.185226 -0.49349 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER -0.18129 -0.470546 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173345 -0.477151 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166319 -0.509207 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154437 -0.492868 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143475 -0.501981 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0984274 -0.491265 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0810612 -0.508376 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0745774 -0.484874 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0837352 -0.498397 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104911 -0.514767 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107585 -0.504787 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122277 -0.497655 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0957534 -0.501244 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11312 -0.484132 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0892696 -0.477742 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0984274 -0.491265 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.082906 -0.501491 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0745774 -0.484874 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0892696 -0.477742 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.106756 -0.507882 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11312 -0.484132 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122277 -0.497655 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0920638 -0.515014 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107585 -0.504787 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0837352 -0.498397 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153845 -0.574159 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER 0.202534 -0.612768 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.225282 -0.612732 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22113 -0.60221 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212428 -0.591695 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206686 -0.62329 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193832 -0.602253 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183939 -0.623325 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215388 -0.633805 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.192641 -0.63384 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211236 -0.623283 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.243024 -0.542885 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219861 -0.534333 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.243024 -0.542885 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219861 -0.534333 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248559 -0.563539 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23093 -0.575642 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23093 -0.575642 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.184086 -0.543919 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.200547 -0.527458 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205161 -0.540303 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187702 -0.522843 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179472 -0.531074 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166627 -0.526459 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.163011 -0.547535 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.196931 -0.548533 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.18047 -0.564994 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201546 -0.561378 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.130984 -0.631939 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.132649 -0.643128 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152367 -0.631785 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.133263 -0.618482 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111266 -0.643283 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11188 -0.618637 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.109601 -0.632094 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.130371 -0.656585 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128706 -0.645397 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.150088 -0.645242 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.112536 -0.56309 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.11011 -0.549659 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.132596 -0.555684 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.118927 -0.53924 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.09005 -0.557065 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0988668 -0.546646 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0924762 -0.570497 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.103719 -0.573509 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.106145 -0.58694 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.126205 -0.579534 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0609772 -0.591664 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.076761 -0.572676 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0609772 -0.591664 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.076761 -0.572676 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0665116 -0.612319 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0878298 -0.613986 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0878298 -0.613986 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172294 -0.643008 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER 0.189742 -0.660425 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.196144 -0.636618 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.185725 -0.645434 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165892 -0.666816 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161875 -0.651825 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.148444 -0.649399 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.17631 -0.657999 0.57904 RAD 0.00617284
- txt002
- SPHERE CENTER 0.158862 -0.640582 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.182712 -0.634191 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.123605 -0.6044 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.107144 -0.620861 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.119989 -0.625475 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102529 -0.608016 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11076 -0.599785 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.106145 -0.58694 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.127221 -0.583324 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128219 -0.617245 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.14468 -0.600784 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141064 -0.621859 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.195155 -0.585228 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.203972 -0.574809 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181486 -0.568784 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201546 -0.561378 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217641 -0.591253 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215215 -0.577822 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208824 -0.601672 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.197581 -0.598659 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188764 -0.609078 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.175095 -0.592634 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0329639 -0.552323 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0248832 -0.625877 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0316054 -0.646362 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0478 -0.627981 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0287309 -0.625173 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00868865 -0.644258 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00581415 -0.623069 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00196644 -0.623773 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0277577 -0.647066 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0210355 -0.62658 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0439523 -0.628685 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.105299 -0.593994 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100664 -0.582384 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0926585 -0.572783 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0869303 -0.604941 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0742898 -0.58373 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0639267 -0.604278 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0949359 -0.614541 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0719323 -0.613879 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.090301 -0.602932 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0138144 -0.584567 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0177119 -0.584898 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0364224 -0.580268 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0185345 -0.56353 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00489609 -0.589197 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00407348 -0.567829 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00879364 -0.588867 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0129918 -0.605935 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00909422 -0.605605 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0317022 -0.601305 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0244483 -0.584869 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0473753 -0.5935 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0308315 -0.595617 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0399691 -0.57344 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0409921 -0.582752 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0335859 -0.562692 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0180651 -0.574121 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0318545 -0.604929 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00892756 -0.596298 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0153107 -0.607046 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0355172 -0.54356 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0495897 -0.530389 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0261165 -0.53532 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.031221 -0.519442 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0589904 -0.538628 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0406217 -0.527681 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0449178 -0.551799 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0538859 -0.554507 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0398133 -0.567678 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0304127 -0.559438 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0163676 -0.511316 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0212225 -0.48882 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00896145 -0.491256 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00194055 -0.497372 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0286287 -0.50888 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00546563 -0.517432 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0237738 -0.531375 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0395307 -0.502764 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0346758 -0.525259 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0272696 -0.505199 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0440327 -0.593633 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0604766 -0.607302 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0678827 -0.587242 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0604766 -0.607302 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0366265 -0.613693 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0366265 -0.613693 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0201827 -0.600023 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0440327 -0.593633 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0275889 -0.579964 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0514389 -0.573573 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0521134 -0.520079 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0542684 -0.523344 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0591566 -0.541988 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0358996 -0.534291 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0472252 -0.501435 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0288565 -0.512382 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0450702 -0.49817 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0704822 -0.509132 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0683272 -0.505868 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0753703 -0.527777 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101445 -0.561087 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.118381 -0.551884 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0944221 -0.550745 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.103361 -0.536664 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.125404 -0.562225 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.110383 -0.547006 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108468 -0.571428 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.116465 -0.576307 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0995293 -0.58551 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0925065 -0.575168 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247614 -0.494808 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.313607 -0.494287 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.326876 -0.484182 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302705 -0.488171 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310432 -0.470513 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337778 -0.490299 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321334 -0.476629 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324509 -0.500404 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330051 -0.507957 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316783 -0.518062 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305881 -0.511946 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269833 -0.434629 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.279233 -0.426389 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286276 -0.448298 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263449 -0.445377 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262789 -0.41272 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247006 -0.431707 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253389 -0.420959 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285616 -0.415641 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER 0.276216 -0.42388 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29266 -0.43755 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302539 -0.452978 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.320401 -0.436971 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3148 -0.455413 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29902 -0.436675 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30814 -0.434535 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286759 -0.434239 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290278 -0.450543 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32392 -0.453274 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306057 -0.469281 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318318 -0.471717 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291389 -0.554467 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.314604 -0.562288 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310183 -0.541186 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306499 -0.542501 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29581 -0.575569 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287705 -0.555781 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.272595 -0.567748 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299494 -0.574255 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.276279 -0.566433 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295073 -0.553152 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28032 -0.513157 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.298839 -0.507811 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302049 -0.505577 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287442 -0.489718 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27711 -0.515392 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.265714 -0.497299 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258591 -0.520738 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291716 -0.531251 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273198 -0.536597 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294927 -0.529016 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.227186 -0.567359 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.246777 -0.555283 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227528 -0.54267 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205805 -0.567063 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206147 -0.542374 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.204014 -0.554691 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225054 -0.579676 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223263 -0.567305 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244644 -0.567601 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258683 -0.536117 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.275127 -0.549787 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282533 -0.529727 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275127 -0.549787 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251277 -0.556177 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251277 -0.556177 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234833 -0.542508 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258683 -0.536117 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242239 -0.522448 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266089 -0.516058 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.19269 -0.536638 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.17251 -0.549603 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191778 -0.549105 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177908 -0.528912 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173421 -0.537136 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.178819 -0.516445 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193601 -0.524171 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187292 -0.557329 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207471 -0.544363 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20656 -0.556831 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214908 -0.476459 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.209819 -0.457868 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.210053 -0.453963 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2312 -0.458164 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214674 -0.480363 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236055 -0.480659 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219763 -0.498954 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193527 -0.476163 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198616 -0.494753 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193761 -0.472258 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172546 -0.643951 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.157543 -0.835815 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.122136 -0.871646 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.102403 -0.871334 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100577 -0.862937 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113406 -0.850164 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER -0.123961 -0.880044 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134964 -0.858873 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143694 -0.880356 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111133 -0.892817 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER -0.130866 -0.893129 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER -0.109307 -0.884419 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0854653 -0.82339 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0654286 -0.811594 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0820122 -0.820516 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0876595 -0.80102 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0688817 -0.814468 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0911125 -0.803895 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0889183 -0.826265 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0632344 -0.833964 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER -0.083271 -0.845761 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER -0.079818 -0.842886 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135649 -0.799077 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.120908 -0.781177 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113462 -0.795477 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13149 -0.778973 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143095 -0.784778 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153678 -0.782573 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.157836 -0.802678 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.125067 -0.801282 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.139808 -0.819182 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11762 -0.815582 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194213 -0.884071 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.197746 -0.891905 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.175383 -0.884286 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.193701 -0.867957 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216576 -0.89169 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212531 -0.867741 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER -0.213043 -0.883856 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.198259 -0.908019 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194726 -0.900186 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER -0.175896 -0.900401 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207727 -0.811502 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.212743 -0.794108 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189621 -0.802328 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.199907 -0.788345 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.230849 -0.803282 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER -0.218012 -0.797518 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225832 -0.820676 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220563 -0.817265 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215547 -0.83466 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER -0.197441 -0.825486 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.229621 -0.84824 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.25245 -0.843832 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233837 -0.846687 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.235043 -0.826426 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248234 -0.845385 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER -0.230827 -0.827978 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225404 -0.849792 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.247028 -0.865646 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224198 -0.870053 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228415 -0.868501 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14403 -0.908384 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.128672 -0.926643 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER -0.1198 -0.904034 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER -0.133221 -0.90826 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.152902 -0.930993 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.157451 -0.912609 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER -0.16826 -0.912733 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER -0.139481 -0.926768 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154838 -0.908508 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.130608 -0.904159 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179437 -0.872552 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.188167 -0.894035 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172046 -0.89378 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195141 -0.885777 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195558 -0.872807 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER -0.202532 -0.864549 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.186828 -0.851325 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172463 -0.880811 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163733 -0.859328 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER -0.156342 -0.880556 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107359 -0.860128 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0905999 -0.853284 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111382 -0.840233 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0940331 -0.839638 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.086577 -0.873178 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0900102 -0.859532 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103336 -0.880022 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103926 -0.873773 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120685 -0.880618 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124708 -0.860723 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0133465 -0.69376 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0838533 -0.674309 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.103063 -0.66171 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0876683 -0.673446 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0800983 -0.653258 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0992478 -0.662574 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0762832 -0.654121 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0800382 -0.675172 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.106818 -0.682761 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0876083 -0.69536 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0914233 -0.694497 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0539145 -0.666287 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0547519 -0.662466 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0439578 -0.682791 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0332597 -0.660752 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0647085 -0.645962 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0432164 -0.644249 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0638711 -0.649783 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0754066 -0.668 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0745692 -0.671821 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0646126 -0.688325 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0446211 -0.604582 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0239663 -0.599047 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0446211 -0.604582 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0432853 -0.701782 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0608821 -0.693716 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0652402 -0.694884 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0496759 -0.677932 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0389272 -0.700615 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.027721 -0.684831 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0213304 -0.708681 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0544915 -0.717566 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0368947 -0.725632 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0588496 -0.718734 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00804971 -0.649684 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00328338 -0.628657 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0152909 -0.642244 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.000378614 -0.630031 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.026624 -0.636097 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.022962 -0.637471 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0313903 -0.657124 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0117117 -0.648309 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.016478 -0.669336 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00686255 -0.661896 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0272215 -0.721234 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0310802 -0.720593 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00820099 -0.718114 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0246945 -0.7 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0501007 -0.723713 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.043715 -0.70312 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.046242 -0.724354 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0336072 -0.741827 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0297485 -0.742467 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.010728 -0.739347 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0646815 -0.745859 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0887955 -0.750021 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0813312 -0.732161 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.078459 -0.729506 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0721458 -0.763719 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0618093 -0.743204 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0480318 -0.759557 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.075018 -0.766375 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.050904 -0.762212 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0675537 -0.748514 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00415829 -0.786629 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.024813 -0.781094 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00415829 -0.786629 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0347427 -0.737837 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0542122 -0.747099 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0550267 -0.7241 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0553974 -0.743371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0339282 -0.760836 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0351134 -0.757108 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0144587 -0.751574 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0335575 -0.741565 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.014088 -0.732303 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0343719 -0.718566 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172546 -0.643951 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.142305 -0.61371 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.125845 -0.597249 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.12123 -0.610094 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138689 -0.592635 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14692 -0.600865 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.159765 -0.596251 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163381 -0.617326 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.12946 -0.618324 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.145921 -0.634785 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124846 -0.631169 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.624779 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0833673 -0.612676 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.624779 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10653 -0.604124 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0833673 -0.612676 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10653 -0.604124 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.624779 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0778329 -0.633331 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0954616 -0.645433 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0954616 -0.645433 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.5724 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.141271 -0.554772 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13272 -0.577935 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.5724 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.161926 -0.549237 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.174029 -0.566866 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.174029 -0.566866 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141271 -0.554772 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.5724 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13272 -0.577935 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.213855 -0.632882 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.216282 -0.61945 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.193796 -0.625476 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207465 -0.609032 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.236341 -0.626857 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.227525 -0.616438 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233915 -0.640288 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.222672 -0.6433 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220246 -0.656732 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200186 -0.649326 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.591572 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.2291 -0.567237 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209804 -0.576452 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209804 -0.576452 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.24422 -0.582357 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.591572 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240045 -0.606693 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.24422 -0.582357 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240045 -0.606693 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.591572 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.663122 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.265414 -0.661455 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.663122 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.249631 -0.642468 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265414 -0.661455 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.249631 -0.642468 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.663122 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.25988 -0.68211 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238562 -0.683777 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238562 -0.683777 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.161477 -0.68526 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.148046 -0.687686 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.137627 -0.678869 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154071 -0.6652 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171896 -0.694077 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177921 -0.671591 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.185327 -0.691651 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155452 -0.707746 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168883 -0.70532 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.145033 -0.698929 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.715501 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.190051 -0.736819 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171063 -0.721035 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.715501 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210706 -0.731284 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212373 -0.709966 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212373 -0.709966 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.190051 -0.736819 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.715501 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171063 -0.721035 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.696329 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.095832 -0.700504 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.105047 -0.681209 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.105047 -0.681209 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110952 -0.715624 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.696329 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135288 -0.711449 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110952 -0.715624 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135288 -0.711449 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.696329 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343435 -0.786005 8.51251e-17 RAD 0.0555556
- txt002
- SPHERE CENTER -0.392454 -0.82165 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.400556 -0.824791 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376528 -0.821021 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392663 -0.802599 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.416482 -0.82542 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408589 -0.803228 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40838 -0.822279 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400347 -0.843843 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392245 -0.840701 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376319 -0.840073 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.323622 -0.80984 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.308073 -0.80634 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.300378 -0.802721 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316395 -0.786996 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331317 -0.813459 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339639 -0.794116 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.346866 -0.81696 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.315299 -0.829184 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330849 -0.832685 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307605 -0.825565 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.370774 -0.753118 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.367981 -0.734271 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348136 -0.745269 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362711 -0.731279 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390619 -0.74212 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385349 -0.739128 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.393412 -0.760966 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376044 -0.756109 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378837 -0.774956 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356199 -0.767107 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.412267 -0.797815 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.436217 -0.793573 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420728 -0.796968 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419454 -0.776294 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427756 -0.79442 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410993 -0.777141 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403807 -0.798662 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42903 -0.815094 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405081 -0.819335 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.413542 -0.818489 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390587 -0.729282 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.392427 -0.704862 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.373948 -0.714218 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374248 -0.717401 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409067 -0.719927 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390887 -0.732465 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407227 -0.744347 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408767 -0.716744 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406927 -0.741164 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390287 -0.726099 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.363249 -0.76217 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.356966 -0.747522 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.352002 -0.740618 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339469 -0.759239 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.368213 -0.769074 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.350716 -0.780791 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374496 -0.783722 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380746 -0.750453 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.387029 -0.765101 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375782 -0.743549 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.365116 -0.854538 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.365674 -0.878086 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER -0.346241 -0.863875 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367962 -0.859887 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384548 -0.868748 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386837 -0.85055 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.38399 -0.8452 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362827 -0.872736 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362269 -0.849188 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343394 -0.858526 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316097 -0.818893 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.297057 -0.819591 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.304244 -0.79807 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293153 -0.814956 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.30891 -0.840413 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.305006 -0.835779 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32795 -0.839716 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320001 -0.823527 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339041 -0.822829 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327188 -0.802007 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296284 -0.842728 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.272611 -0.848999 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.278432 -0.829121 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.281616 -0.828835 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.290462 -0.862606 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299468 -0.842441 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314135 -0.856335 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.287278 -0.862893 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.310951 -0.856621 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293099 -0.843015 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.358439 -0.594141 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.389119 -0.547576 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.386849 -0.525642 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366733 -0.538964 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379645 -0.528407 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409235 -0.534255 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.402031 -0.537019 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.411505 -0.556189 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396323 -0.544812 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398593 -0.566746 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376207 -0.558134 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317871 -0.566667 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.299647 -0.551072 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29885 -0.563547 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.315344 -0.545434 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318667 -0.554192 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.334364 -0.548554 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.336891 -0.569787 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.302174 -0.572306 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320398 -0.587901 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.301377 -0.584781 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.327164 -0.504962 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.347819 -0.499428 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327164 -0.504962 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.429687 -0.57505 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.446515 -0.55776 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428387 -0.562617 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423296 -0.5512 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.447815 -0.570193 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.424596 -0.563633 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.430987 -0.587483 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452905 -0.58161 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436077 -0.5989 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434777 -0.586467 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379835 -0.550064 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.372012 -0.535334 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359551 -0.536327 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.35918 -0.555599 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392296 -0.549071 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379464 -0.569335 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400119 -0.563801 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392667 -0.529799 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400489 -0.54453 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380205 -0.530793 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399007 -0.621614 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.420252 -0.632748 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408963 -0.638118 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419661 -0.61608 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410295 -0.616244 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409705 -0.599576 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.38905 -0.60511 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399597 -0.638282 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378352 -0.627149 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388308 -0.643653 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408291 -0.619127 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.415912 -0.617918 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39183 -0.616439 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406911 -0.597788 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.432372 -0.620605 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423371 -0.600475 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.424751 -0.621814 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.417292 -0.639257 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409671 -0.640465 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39321 -0.637778 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.375943 -0.687009 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396598 -0.681475 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375943 -0.687009 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337042 -0.638217 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.320629 -0.641183 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.313702 -0.630777 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328614 -0.618565 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.34397 -0.648623 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.351955 -0.626005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360383 -0.645657 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.329058 -0.660835 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.345471 -0.65787 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32213 -0.65043 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.358439 -0.594141 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.409774 -0.542042 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.413579 -0.517869 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.395831 -0.525596 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.393219 -0.528508 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427522 -0.534315 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407161 -0.544953 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423716 -0.558488 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.430134 -0.531404 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.426328 -0.555577 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.412386 -0.539131 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379835 -0.550064 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.375068 -0.529037 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356494 -0.542624 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.371406 -0.530412 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398409 -0.536477 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.394747 -0.537852 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403175 -0.557504 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383497 -0.548689 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388263 -0.569716 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.364922 -0.562276 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.327164 -0.504962 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.347819 -0.499428 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327164 -0.504962 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388377 -0.586119 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.399584 -0.570335 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403942 -0.569167 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.381987 -0.562269 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384019 -0.587286 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366422 -0.57922 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.372813 -0.60307 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405974 -0.594185 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.394768 -0.609969 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410332 -0.593017 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317871 -0.566667 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.317033 -0.562847 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327827 -0.583171 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338525 -0.561133 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307077 -0.546343 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328569 -0.544629 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307914 -0.550163 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296378 -0.568381 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.297216 -0.572202 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307172 -0.588706 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337042 -0.638217 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.317573 -0.64748 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316758 -0.624481 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316388 -0.643752 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337857 -0.661216 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.336672 -0.657489 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357326 -0.651954 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338228 -0.641945 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357697 -0.632683 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337413 -0.618946 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428945 -0.613592 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.451897 -0.612625 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.432663 -0.614807 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436515 -0.593593 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448179 -0.61141 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.432797 -0.592379 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425227 -0.612377 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.444328 -0.632624 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.421376 -0.633591 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425094 -0.634806 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.375943 -0.687009 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396598 -0.681475 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375943 -0.687009 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399007 -0.621614 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.402865 -0.620974 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379986 -0.618494 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39648 -0.600381 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.421886 -0.624094 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4155 -0.603501 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.418027 -0.624734 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405392 -0.642207 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401533 -0.642848 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382513 -0.639728 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.157543 -0.835815 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.119969 -0.899353 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0977075 -0.909872 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0997803 -0.886771 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104052 -0.891613 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER -0.117896 -0.922453 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124241 -0.904194 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.140158 -0.911935 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113625 -0.917612 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135886 -0.907093 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115698 -0.894512 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0844101 -0.836885 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0627848 -0.826973 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0805529 -0.830202 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER -0.083104 -0.81296 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0666419 -0.833656 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0869612 -0.819643 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0882673 -0.843568 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0640908 -0.850898 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0857161 -0.860809 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0818589 -0.854126 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.130205 -0.868703 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.11253 -0.867758 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107566 -0.860854 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122142 -0.846864 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135168 -0.875606 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14478 -0.854713 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.152843 -0.876551 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120593 -0.889596 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138267 -0.890541 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115629 -0.882692 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER -0.193102 -0.898283 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.201143 -0.920038 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER -0.17991 -0.910616 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.201384 -0.900209 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER -0.214335 -0.907705 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER -0.214576 -0.887876 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER -0.206294 -0.88595 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192861 -0.918112 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER -0.18482 -0.896357 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171628 -0.90869 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203337 -0.867633 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.209658 -0.868948 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER -0.186008 -0.865773 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.202239 -0.84746 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER -0.226988 -0.870808 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.219569 -0.84932 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220667 -0.869493 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210757 -0.889121 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.204436 -0.887806 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER -0.187106 -0.885946 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.230676 -0.834745 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.252002 -0.824206 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.234336 -0.827952 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER -0.231282 -0.810793 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248342 -0.830999 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER -0.227621 -0.817586 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER -0.227016 -0.841538 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.251396 -0.848158 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER -0.23007 -0.858698 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER -0.23373 -0.851905 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.147308 -0.866465 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.130609 -0.876203 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124356 -0.857385 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128522 -0.879733 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153561 -0.885283 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.151474 -0.888813 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.170259 -0.875546 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149395 -0.862935 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166093 -0.853198 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143141 -0.844117 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER -0.184881 -0.802927 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.180723 -0.785723 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173028 -0.782104 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER -0.161937 -0.798991 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192576 -0.806546 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.17379 -0.819813 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196734 -0.82375 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203667 -0.78966 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207825 -0.806864 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195972 -0.786041 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111748 -0.803997 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.108311 -0.798532 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119537 -0.819589 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131037 -0.797989 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100522 -0.78294 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.123249 -0.782397 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10396 -0.788405 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0890219 -0.80454 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0924597 -0.810005 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100248 -0.825597 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172546 -0.643951 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.202787 -0.61371 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.200937 -0.595399 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194794 -0.591462 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.180539 -0.605717 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.208929 -0.617647 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188531 -0.627965 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210779 -0.635958 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223185 -0.603392 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225035 -0.621702 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.217042 -0.599454 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.624779 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.260374 -0.607636 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240901 -0.612854 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.237705 -0.600929 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.26357 -0.619561 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240901 -0.612854 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.247291 -0.636704 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.266765 -0.631486 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.250487 -0.648629 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.247291 -0.636704 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.5724 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.185011 -0.549732 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.167868 -0.56601 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179793 -0.569205 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.208861 -0.556122 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203643 -0.575596 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215568 -0.578791 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196936 -0.552927 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203643 -0.575596 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179793 -0.569205 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131237 -0.632882 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.131575 -0.625593 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.15071 -0.6381 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.146508 -0.614836 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.112102 -0.620375 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.127034 -0.609618 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111763 -0.627664 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116304 -0.643639 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115965 -0.650927 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135439 -0.656145 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.591572 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.105912 -0.577317 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111438 -0.600302 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128897 -0.582843 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.114642 -0.568587 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.137627 -0.574113 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128897 -0.582843 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0971825 -0.586046 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111438 -0.600302 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.102708 -0.609032 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.663122 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0783272 -0.656415 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0978007 -0.651197 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0946054 -0.639272 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0815225 -0.66834 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0978007 -0.651197 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104191 -0.675047 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0847178 -0.680265 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107387 -0.686972 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104191 -0.675047 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.183615 -0.68526 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.182351 -0.708085 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165569 -0.700531 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188833 -0.704733 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200397 -0.692813 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.206879 -0.689462 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.201661 -0.669989 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177134 -0.688611 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178397 -0.665787 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.160351 -0.681058 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.715501 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.136231 -0.731779 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.129524 -0.70911 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141449 -0.712305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.160081 -0.738169 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165299 -0.718696 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177224 -0.721891 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.148156 -0.734974 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165299 -0.718696 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141449 -0.712305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.696329 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.23918 -0.710584 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216195 -0.705059 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233654 -0.687599 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.24791 -0.701855 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.242384 -0.678869 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233654 -0.687599 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.23045 -0.719314 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216195 -0.705059 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207465 -0.713788 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0133465 -0.69376 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0631985 -0.668775 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0667914 -0.661946 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511945 -0.680354 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0452771 -0.65711 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0787954 -0.650366 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0572811 -0.64553 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0752026 -0.657195 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0847128 -0.673611 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.08112 -0.680439 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.069116 -0.692019 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00804971 -0.649684 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.000226782 -0.634953 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0122343 -0.635947 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.012605 -0.655218 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0205108 -0.64869 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00767898 -0.668955 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0283337 -0.66342 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0208815 -0.629419 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0287044 -0.644149 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00842045 -0.630413 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0446211 -0.604582 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0239663 -0.599047 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0446211 -0.604582 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0845947 -0.712851 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.107813 -0.706291 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0896851 -0.701434 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0909853 -0.689001 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102723 -0.717709 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0858949 -0.700418 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0795043 -0.724268 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101422 -0.730141 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0782041 -0.736701 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0832945 -0.725284 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0539145 -0.666287 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0721382 -0.650692 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.072935 -0.663167 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0564414 -0.645053 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0531177 -0.653812 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0374209 -0.648173 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.034894 -0.669407 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696112 -0.671925 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0513875 -0.68752 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.070408 -0.6844 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0347427 -0.737837 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0511556 -0.740802 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0580833 -0.730397 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.043171 -0.718185 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.027815 -0.748242 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0198304 -0.725625 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0114021 -0.745277 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0427273 -0.760455 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0263144 -0.757489 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0496549 -0.750049 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0440268 -0.740325 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0650768 -0.746894 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0607735 -0.723153 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0653796 -0.739183 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.04833 -0.764065 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0486329 -0.756355 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02728 -0.757496 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0437239 -0.748035 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0226739 -0.741466 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0394207 -0.724295 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00415829 -0.786629 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.024813 -0.781094 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00415829 -0.786629 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0272215 -0.721234 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0484665 -0.732368 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0371781 -0.737738 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0478762 -0.715699 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0385099 -0.715864 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0379196 -0.699195 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0172649 -0.70473 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0278118 -0.737902 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00656677 -0.726768 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0165234 -0.743272 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471405 -0.471405 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.690426 -0.508983 1.83812e-16 RAD 0.0555556
- txt002
- SPHERE CENTER 0.755941 -0.484794 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.767658 -0.47411 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.749038 -0.489758 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER 0.744501 -0.467528 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774562 -0.469146 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751405 -0.462564 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.762845 -0.47983 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.779098 -0.491377 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER 0.767382 -0.502061 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760478 -0.507025 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.695668 -0.478434 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.703418 -0.481931 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.716184 -0.491475 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.694124 -0.500827 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682902 -0.46889 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.673608 -0.487786 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675152 -0.465393 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704962 -0.459538 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697211 -0.456041 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.717727 -0.469082 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7029 -0.436283 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.714226 -0.418941 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.724842 -0.44101 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704751 -0.43889 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.692283 -0.414215 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682808 -0.434163 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680957 -0.431557 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712374 -0.416335 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701048 -0.433677 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.722991 -0.438403 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7507 -0.515343 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.773394 -0.506594 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER 0.764807 -0.507924 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755462 -0.491321 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759287 -0.514012 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.741355 -0.49874 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.736593 -0.522762 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.768632 -0.530616 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745938 -0.539365 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760045 -0.531946 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697658 -0.466832 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.709346 -0.447385 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721188 -0.46231 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.703286 -0.447429 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.685816 -0.451907 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.679757 -0.451951 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674129 -0.471354 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.703718 -0.466788 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.692031 -0.486235 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.71556 -0.481713 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.685185 -0.539531 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.693658 -0.538818 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.708875 -0.534075 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.691194 -0.517905 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669969 -0.544274 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.667505 -0.523361 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661495 -0.544988 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687649 -0.560445 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.679176 -0.561158 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.702866 -0.555702 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743468 -0.557494 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.767402 -0.560084 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755145 -0.53997 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760285 -0.543179 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755725 -0.577608 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER 0.748608 -0.560703 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER 0.731791 -0.575017 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER 0.750585 -0.574398 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.726651 -0.571808 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER 0.738328 -0.554284 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677953 -0.581682 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.682851 -0.601808 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700216 -0.58454 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680568 -0.579842 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660588 -0.59895 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.658304 -0.576984 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65569 -0.578824 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680237 -0.603648 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675339 -0.583522 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697602 -0.58638 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683194 -0.551134 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.687731 -0.573364 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.703871 -0.56324 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682033 -0.571303 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.667055 -0.561258 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661356 -0.559196 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.662518 -0.539027 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688893 -0.553195 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.684356 -0.530964 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705033 -0.543071 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607487 -0.335322 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.629404 -0.313405 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.626214 -0.316595 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624401 -0.335868 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606941 -0.318408 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.631217 -0.294133 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.611945 -0.295946 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634407 -0.290942 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648676 -0.311592 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651867 -0.308402 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.646863 -0.330864 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610996 -0.384191 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.623201 -0.403702 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.635431 -0.385946 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62031 -0.401066 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.598766 -0.401947 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.595876 -0.399312 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586561 -0.382437 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.613886 -0.386827 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.601681 -0.367317 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626116 -0.369071 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.558618 -0.331813 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.539107 -0.319608 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541743 -0.322499 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.556863 -0.307378 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555982 -0.328923 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.573738 -0.316693 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575492 -0.341128 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.540862 -0.344043 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560372 -0.356248 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.543497 -0.346933 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625895 -0.264535 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.637402 -0.248969 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.646193 -0.271807 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625088 -0.268363 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617105 -0.241698 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604791 -0.261092 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605598 -0.257264 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638209 -0.245142 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626702 -0.260708 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647 -0.267979 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.550934 -0.258608 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603979 -0.286452 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.613271 -0.265398 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627912 -0.281225 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610787 -0.26842 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.589337 -0.270625 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586853 -0.273647 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.580045 -0.291679 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606463 -0.283431 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.59717 -0.304484 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621104 -0.299257 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678274 -0.316914 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.69384 -0.305407 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674446 -0.317721 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671002 -0.296616 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697667 -0.3046 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.67483 -0.295809 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682101 -0.316107 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701111 -0.325704 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.685545 -0.337211 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681717 -0.338018 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656357 -0.33883 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.677411 -0.329538 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674389 -0.332022 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661584 -0.314897 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659378 -0.336346 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643552 -0.321705 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638325 -0.345639 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.672184 -0.353472 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65113 -0.362764 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669162 -0.355956 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684201 -0.391875 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607487 -0.335322 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.659645 -0.283164 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.672915 -0.269894 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666987 -0.293281 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649528 -0.275822 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665573 -0.259777 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642185 -0.265705 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.652302 -0.273047 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683032 -0.277236 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669762 -0.290507 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677104 -0.300624 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656357 -0.33883 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.663448 -0.328536 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639482 -0.329516 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.654603 -0.314396 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680322 -0.33785 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671477 -0.32371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.673232 -0.348145 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665202 -0.35297 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.658111 -0.363265 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.641237 -0.353951 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603979 -0.286452 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.614273 -0.279361 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628413 -0.288206 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.613293 -0.303327 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.589839 -0.277607 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588858 -0.301572 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.579544 -0.284698 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604959 -0.262487 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.594664 -0.269578 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.619099 -0.271332 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610775 -0.279656 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.621535 -0.258061 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634468 -0.275921 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616678 -0.264057 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.597842 -0.261795 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.592985 -0.267791 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587082 -0.28339 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.615632 -0.27366 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604872 -0.295255 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628565 -0.29152 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.550934 -0.258608 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.558618 -0.331813 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.55307 -0.320611 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57665 -0.325005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563845 -0.30788 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535038 -0.327419 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.545813 -0.314688 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.540585 -0.338621 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547843 -0.344544 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.553391 -0.355747 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571423 -0.348938 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663153 -0.332034 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684748 -0.321274 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678752 -0.326131 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666888 -0.308341 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669149 -0.327177 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651289 -0.314244 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647554 -0.337937 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681014 -0.344967 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659419 -0.355727 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675018 -0.349824 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610996 -0.384191 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.622198 -0.389739 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.63493 -0.378964 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617804 -0.366159 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.598265 -0.394966 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593871 -0.371386 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587062 -0.389418 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61539 -0.407771 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604188 -0.402224 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628121 -0.396997 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684201 -0.391875 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.554344 -0.645066 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.610229 -0.668521 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.633406 -0.663938 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626429 -0.65892 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617928 -0.64522 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617206 -0.673539 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.601728 -0.654822 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.59403 -0.678123 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625707 -0.687239 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602531 -0.691822 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61873 -0.682221 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER 0.622977 -0.619787 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.63767 -0.608008 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER 0.620102 -0.623239 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.613891 -0.601637 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER 0.640545 -0.604555 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616766 -0.598184 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625852 -0.616334 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.646756 -0.626157 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.632063 -0.637936 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER 0.629188 -0.641389 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER 0.585648 -0.598918 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.601562 -0.580238 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605914 -0.59781 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587563 -0.581665 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.581295 -0.581346 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER 0.567297 -0.582773 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.565381 -0.600026 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.599646 -0.597491 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER 0.583732 -0.616171 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603999 -0.615063 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541596 -0.6938 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.547376 -0.70016 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER 0.564621 -0.690564 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546319 -0.676324 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER 0.524351 -0.703396 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523294 -0.679561 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER 0.518571 -0.697037 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542652 -0.717636 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536873 -0.711276 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER 0.559898 -0.70804 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517014 -0.624197 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.516313 -0.60809 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538029 -0.616221 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.524375 -0.60089 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495298 -0.616065 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER 0.50336 -0.608865 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495999 -0.632172 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508952 -0.631397 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.509653 -0.647504 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530668 -0.639529 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48571 -0.670344 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.466887 -0.67091 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490138 -0.671107 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480853 -0.650637 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46246 -0.670147 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER 0.476425 -0.649874 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481283 -0.669581 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471745 -0.690617 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490567 -0.690052 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.494995 -0.690815 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER 0.578925 -0.714669 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.597914 -0.729812 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602084 -0.70632 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER 0.592661 -0.711617 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER 0.574755 -0.738161 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569503 -0.719965 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555767 -0.723017 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER 0.584178 -0.732864 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.565189 -0.71772 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588348 -0.709372 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.52304 -0.691213 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.511567 -0.712906 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529503 -0.710453 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.507717 -0.699372 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.505104 -0.693665 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501254 -0.680131 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.516576 -0.671972 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER 0.526889 -0.704747 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538362 -0.683054 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.544826 -0.702295 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591673 -0.665934 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.605761 -0.658095 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER 0.58746 -0.643855 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607672 -0.647455 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609975 -0.680174 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.611885 -0.669535 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER 0.595887 -0.688013 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER 0.589763 -0.676573 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575674 -0.684413 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571461 -0.662334 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471405 -0.471405 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.501645 -0.441164 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.518106 -0.424703 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522721 -0.437548 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.505261 -0.420089 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497031 -0.428319 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484186 -0.423704 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48057 -0.44478 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51449 -0.445778 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498029 -0.462239 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519105 -0.458623 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.452233 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.560583 -0.44013 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.452233 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.53742 -0.431578 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560583 -0.44013 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.53742 -0.431578 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.452233 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566118 -0.460785 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548489 -0.472887 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548489 -0.472887 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.399854 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.502679 -0.382226 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.511231 -0.405389 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.399854 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.482024 -0.376691 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.469922 -0.39432 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.469922 -0.39432 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.502679 -0.382226 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.399854 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.511231 -0.405389 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.430095 -0.460336 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.427669 -0.446904 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.450155 -0.45293 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436486 -0.436486 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407609 -0.454311 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416426 -0.443892 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410035 -0.467742 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.421278 -0.470754 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423704 -0.484186 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.443764 -0.47678 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.419026 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.414851 -0.39469 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434147 -0.403906 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434147 -0.403906 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399731 -0.409811 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.419026 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403906 -0.434147 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399731 -0.409811 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403906 -0.434147 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.419026 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.490576 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.378536 -0.488909 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.490576 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39432 -0.469922 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378536 -0.488909 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39432 -0.469922 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.490576 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384071 -0.509564 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405389 -0.511231 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405389 -0.511231 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.482473 -0.512714 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.495905 -0.51514 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506323 -0.506323 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48988 -0.492654 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472055 -0.521531 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46603 -0.499045 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.458623 -0.519105 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488498 -0.5352 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475067 -0.532774 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498917 -0.526383 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.542955 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.4539 -0.564273 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472887 -0.548489 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.542955 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433245 -0.558738 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.431578 -0.53742 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.431578 -0.53742 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4539 -0.564273 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.542955 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472887 -0.548489 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.523783 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.548119 -0.527958 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538903 -0.508662 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538903 -0.508662 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532998 -0.543078 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.523783 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508662 -0.538903 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532998 -0.543078 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508662 -0.538903 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.523783 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335322 -0.607487 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.313405 -0.629404 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.316595 -0.626214 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335868 -0.624401 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318408 -0.606941 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294133 -0.631217 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295946 -0.611945 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290942 -0.634407 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.311592 -0.648676 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308402 -0.651867 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330864 -0.646863 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384191 -0.610996 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.405245 -0.601704 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402224 -0.604188 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389418 -0.587062 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387213 -0.608512 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.371386 -0.593871 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366159 -0.617804 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400018 -0.625637 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378964 -0.63493 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396997 -0.628121 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331813 -0.558618 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.341105 -0.537564 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355747 -0.553391 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338621 -0.540585 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317172 -0.542791 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.314688 -0.545813 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30788 -0.563845 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334297 -0.555596 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325005 -0.57665 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.348938 -0.571423 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.264535 -0.625895 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.245336 -0.623429 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268271 -0.624736 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.260997 -0.604627 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2416 -0.624589 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257262 -0.605787 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2608 -0.627055 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248874 -0.644697 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268073 -0.647163 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271809 -0.646004 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.278768 -0.530773 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286452 -0.603979 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.266942 -0.591774 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269578 -0.594664 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.284698 -0.579544 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.283817 -0.601088 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301572 -0.588858 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.303327 -0.613293 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268696 -0.616209 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288206 -0.628413 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271332 -0.619099 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316914 -0.678274 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.31938 -0.697473 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338182 -0.681812 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318074 -0.674538 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298112 -0.693935 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.296805 -0.671 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295646 -0.674736 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31822 -0.701209 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315754 -0.682009 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337022 -0.685547 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33883 -0.656357 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.351035 -0.675867 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.363265 -0.658111 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.348145 -0.673232 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3266 -0.674113 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32371 -0.671477 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.314396 -0.654603 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.341721 -0.658993 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329516 -0.639482 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.353951 -0.641237 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.412036 -0.664041 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.554344 -0.645066 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.616373 -0.681385 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.639472 -0.678928 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621631 -0.664108 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.629767 -0.661636 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634214 -0.696205 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624508 -0.678912 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER 0.611115 -0.698662 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626079 -0.698678 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602979 -0.701135 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER 0.608237 -0.683858 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617144 -0.607573 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.63057 -0.595495 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617371 -0.615286 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605919 -0.594239 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630343 -0.587782 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605692 -0.586526 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616917 -0.59986 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER 0.641795 -0.608828 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628369 -0.620906 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628595 -0.628619 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609912 -0.649723 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.631982 -0.640648 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62585 -0.64267 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER 0.614812 -0.625749 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616044 -0.647702 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER 0.598874 -0.632802 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593974 -0.656777 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627081 -0.664623 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605012 -0.673698 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.620949 -0.666645 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER 0.553573 -0.718878 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.563328 -0.73992 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.577348 -0.719679 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.559693 -0.720935 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539553 -0.739118 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535918 -0.720133 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529798 -0.718076 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.557208 -0.737863 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547453 -0.716821 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571228 -0.717623 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547112 -0.687216 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.554862 -0.690713 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570641 -0.682694 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER 0.552739 -0.667813 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531333 -0.695235 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.52921 -0.672335 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523582 -0.691738 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549235 -0.710116 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541484 -0.706619 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER 0.565014 -0.702097 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.491544 -0.682558 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.474542 -0.688647 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498226 -0.686417 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.485132 -0.666351 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46786 -0.684788 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER 0.47845 -0.662492 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484862 -0.678699 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480953 -0.704854 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497955 -0.698765 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504637 -0.702624 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560805 -0.676727 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.57563 -0.689897 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.585222 -0.673115 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575587 -0.693998 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.551213 -0.693509 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.55117 -0.69761 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536388 -0.680339 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560848 -0.672626 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546023 -0.659456 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57044 -0.655844 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498776 -0.640408 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.478525 -0.627785 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484234 -0.630799 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497935 -0.615951 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493066 -0.637394 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.512476 -0.62556 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.513317 -0.650016 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER 0.479365 -0.652241 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499616 -0.664864 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.485075 -0.655255 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.561576 -0.602915 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.570049 -0.602201 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582252 -0.615021 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560414 -0.623084 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549372 -0.590095 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539737 -0.610978 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER 0.540899 -0.590808 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571211 -0.582032 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562738 -0.582745 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER 0.583414 -0.594852 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335322 -0.607487 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.283164 -0.659645 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.269894 -0.672915 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.293281 -0.666987 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275822 -0.649528 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259777 -0.665573 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.265705 -0.642185 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273047 -0.652302 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.277236 -0.683032 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290507 -0.669762 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.300624 -0.677104 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33883 -0.656357 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.350033 -0.661904 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.362764 -0.65113 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345639 -0.638325 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.326099 -0.667131 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321705 -0.643552 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.314897 -0.661584 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.343224 -0.679937 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332022 -0.674389 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355956 -0.669162 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286452 -0.603979 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.280905 -0.592776 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304484 -0.59717 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291679 -0.580045 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262872 -0.599585 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273647 -0.586853 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26842 -0.610787 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275678 -0.61671 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281225 -0.627912 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299257 -0.621104 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.279656 -0.610775 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.256944 -0.602632 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26347 -0.606749 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273158 -0.587686 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27313 -0.606658 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.289344 -0.591712 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295841 -0.614801 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263442 -0.62572 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286153 -0.633864 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269968 -0.629838 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.278768 -0.530773 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331813 -0.558618 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.342108 -0.551527 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356248 -0.560372 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.341128 -0.575492 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317673 -0.549772 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316693 -0.573738 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307378 -0.556863 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332793 -0.534652 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322499 -0.541743 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.346933 -0.543497 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332034 -0.663153 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340177 -0.685865 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355123 -0.669651 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33606 -0.679339 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317089 -0.679367 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312971 -0.672841 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308945 -0.656656 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336151 -0.669679 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328008 -0.646968 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351097 -0.653465 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384191 -0.610996 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.391282 -0.600701 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367317 -0.601681 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382437 -0.586561 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408157 -0.610016 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399312 -0.595876 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401066 -0.62031 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393037 -0.625136 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385946 -0.635431 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369071 -0.626116 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.412036 -0.664041 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471405 -0.471405 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.441164 -0.441164 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.443014 -0.422853 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449156 -0.418916 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.463412 -0.433171 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435021 -0.445101 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455419 -0.455419 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433171 -0.463412 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420766 -0.430846 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418916 -0.449156 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426908 -0.426908 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.452233 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.383576 -0.43509 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40305 -0.440308 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.406245 -0.428383 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.380381 -0.447015 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40305 -0.440308 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396659 -0.464158 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.377186 -0.45894 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393464 -0.476083 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396659 -0.464158 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.399854 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.45894 -0.377186 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.476083 -0.393464 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.464158 -0.396659 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.43509 -0.383576 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440308 -0.40305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428383 -0.406245 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447015 -0.380381 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440308 -0.40305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.464158 -0.396659 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.512714 -0.460336 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.512375 -0.453047 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493241 -0.465554 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497443 -0.44229 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531849 -0.447829 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.516916 -0.437072 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532187 -0.455118 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527647 -0.471093 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527985 -0.478381 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508512 -0.483599 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.419026 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.538038 -0.404771 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532513 -0.427756 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.515053 -0.410297 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529309 -0.396041 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506323 -0.401567 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.515053 -0.410297 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546768 -0.4135 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532513 -0.427756 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541242 -0.436486 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.490576 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.565623 -0.483869 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.54615 -0.478651 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549345 -0.466726 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562428 -0.495794 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.54615 -0.478651 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539759 -0.502501 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.559233 -0.507719 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536564 -0.514426 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539759 -0.502501 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.460336 -0.512714 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.461599 -0.535539 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478381 -0.527985 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455118 -0.532187 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.443553 -0.520267 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.437072 -0.516916 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44229 -0.497443 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.466817 -0.516065 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.465554 -0.493241 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.483599 -0.508512 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.542955 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.507719 -0.559233 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.514426 -0.536564 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.502501 -0.539759 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.483869 -0.565623 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478651 -0.54615 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.466726 -0.549345 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495794 -0.562428 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478651 -0.54615 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.502501 -0.539759 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.523783 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.404771 -0.538038 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.427756 -0.532513 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410297 -0.515053 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396041 -0.529309 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401567 -0.506323 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410297 -0.515053 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4135 -0.546768 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.427756 -0.532513 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436486 -0.541242 -0.222222 RAD 0.00617284
- txt002
-
-END_SCENE
+++ /dev/null
-BEGIN_SCENE
- OUTFILE /dev/null
- RESOLUTION 1024 768
- VERBOSE 0
-
-CAMERA
- ZOOM 1.20711
-ASPECTRATIO 1.0
- ANTIALIASING 0
- RAYDEPTH 5
- CENTER 2.1 1.3 1.7
- VIEWDIR -0.700389 -0.433574 -0.566982
- UPDIR -0.482085 -0.298433 0.82373
-
-END_CAMERA
-
-BACKGROUND 0.078 0.361 0.753
-
-LIGHT CENTER 4 3 2 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 1 -4 4 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER -3 1 5 RAD 0.002 COLOR 0.5 0.5 0.5
-
-TEXDEF txt001 AMBIENT 0.2 DIFFUSE 0.8 SPECULAR 0 OPACITY 1
-PHONG PLASTIC 0 PHONG_SIZE 100000
- COLOR 1 0.75 0.33
- TEXFUNC 0
-
-TRI
- V0 12 12 -0.5 V1 -12 -12 -0.5 V2 12 -12 -0.5
- txt001
-TRI
- V0 12 12 -0.5 V1 -12 12 -0.5 V2 -12 -12 -0.5
- txt001
-TEXDEF txt002 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
-PHONG PLASTIC 0.5 PHONG_SIZE 45.2776
- COLOR 1 0.9 0.7
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0 RAD 0.5
- txt002
- SPHERE CENTER 0.272166 0.272166 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER 0.420314 0.420314 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER 0.470715 0.470715 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER 0.481689 0.481689 0.57904 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475329 0.45787 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45787 0.475329 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.477074 0.494534 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.453255 0.488174 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4661 0.48356 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.494534 0.477074 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48356 0.4661 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488174 0.453255 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.461623 0.409245 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.47044 0.419664 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447954 0.425689 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.468014 0.433095 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484109 0.40322 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481683 0.416651 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475292 0.392801 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.464049 0.395814 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455233 0.385395 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.441563 0.401839 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409245 0.461623 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.419664 0.47044 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433095 0.468014 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.425689 0.447954 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.395814 0.464049 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401839 0.441563 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385395 0.455233 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40322 0.484109 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.392801 0.475292 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416651 0.481683 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429405 0.481784 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.441197 0.503434 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452601 0.483752 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434161 0.494577 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418001 0.501466 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410965 0.492609 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.406209 0.479816 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436441 0.490641 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42465 0.46899 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447846 0.470958 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.36376 0.497028 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383056 0.487812 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383056 0.487812 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34864 0.481907 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352815 0.457572 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34864 0.481907 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352815 0.457572 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379004 0.431383 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.376578 0.444814 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399064 0.438789 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385395 0.455233 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356518 0.437408 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.365335 0.447826 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.358944 0.423976 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.370187 0.420964 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372614 0.407532 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.392673 0.414939 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481784 0.429405 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.503434 0.441197 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.494577 0.434161 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.483752 0.452601 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490641 0.436441 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.470958 0.447846 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46899 0.42465 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501466 0.418001 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.479816 0.406209 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.492609 0.410965 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.431383 0.379004 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.444814 0.376578 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455233 0.385395 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.438789 0.399064 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420964 0.370187 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.414939 0.392673 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407532 0.372614 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.437408 0.356518 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423976 0.358944 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447826 0.365335 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.497028 0.36376 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.487812 0.383056 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.487812 0.383056 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481907 0.34864 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457572 0.352815 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481907 0.34864 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457572 0.352815 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.461844 0.304709 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.492085 0.33495 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.492085 0.33495 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488469 0.313874 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471009 0.331334 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495701 0.356025 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.474625 0.352409 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495701 0.356025 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51316 0.338566 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51316 0.338566 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.509544 0.31749 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.424345 0.305171 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.40568 0.315605 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403931 0.312107 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419383 0.329161 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426095 0.30867 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.439797 0.322225 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.444759 0.298235 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410643 0.291616 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429307 0.281181 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408893 0.288117 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435193 0.368397 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.440864 0.389015 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457301 0.37895 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.451857 0.367697 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418755 0.378463 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429748 0.357145 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.413085 0.357845 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4242 0.389715 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418529 0.369098 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440637 0.37965 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529584 0.334488 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.546497 0.347572 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532117 0.331508 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522481 0.352406 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.543964 0.350552 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519948 0.355387 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.52705 0.337468 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5536 0.329654 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536686 0.31657 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.53922 0.313589 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472692 0.367935 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.48474 0.389488 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495668 0.369235 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.477004 0.379669 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.461764 0.388188 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.454027 0.37837 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449715 0.366636 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480429 0.377754 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46838 0.356202 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.491357 0.357501 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499343 0.304247 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.518259 0.314219 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519922 0.310678 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504895 0.328108 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.49768 0.307788 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484316 0.321677 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478764 0.297816 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER 0.512708 0.290358 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493791 0.280387 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51437 0.286818 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.518736 0.271262 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.539811 0.274878 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.520873 0.290418 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.533373 0.290264 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.537674 0.255722 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531235 0.271108 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER 0.516598 0.252106 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.525174 0.255876 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504099 0.25226 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506236 0.271416 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488495 0.241021 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.50716 0.230587 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51153 0.24936 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499694 0.253381 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484125 0.222248 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER 0.476659 0.245042 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46546 0.232683 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495961 0.218227 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.477296 0.228661 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER 0.500331 0.237 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER 0.450996 0.241483 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.455172 0.217147 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472226 0.232599 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45115 0.228983 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433942 0.226031 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429921 0.237867 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429767 0.250367 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455018 0.229647 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.450842 0.253983 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472072 0.245099 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304709 0.461844 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.33495 0.492085 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.33495 0.492085 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331334 0.471009 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313874 0.488469 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338566 0.51316 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31749 0.509544 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338566 0.51316 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356025 0.495701 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356025 0.495701 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352409 0.474625 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.368397 0.435193 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389015 0.440864 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367697 0.451857 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37895 0.457301 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389715 0.4242 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37965 0.440637 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369098 0.418529 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378463 0.418755 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357845 0.413085 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357145 0.429748 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305171 0.424345 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.315605 0.40568 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329161 0.419383 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312107 0.403931 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291616 0.410643 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288117 0.408893 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281181 0.429307 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30867 0.426095 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298235 0.444759 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322225 0.439797 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271262 0.518736 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.274878 0.539811 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290264 0.533373 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290418 0.520873 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.255876 0.525174 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271416 0.506236 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.25226 0.504099 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.255722 0.537674 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.252106 0.516598 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271108 0.531235 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241483 0.450996 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.217147 0.455172 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228983 0.45115 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.232599 0.472226 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229647 0.455018 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245099 0.472072 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253983 0.450842 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.226031 0.433942 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250367 0.429767 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237867 0.429921 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241021 0.488495 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.230587 0.50716 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253381 0.499694 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER 0.24936 0.51153 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218227 0.495961 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237 0.500331 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228661 0.477296 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER 0.222248 0.484125 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER 0.232683 0.46546 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245042 0.476659 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334488 0.529584 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.347572 0.546497 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352406 0.522481 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331508 0.532117 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329654 0.5536 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313589 0.53922 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31657 0.536686 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350552 0.543964 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337468 0.52705 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355387 0.519948 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304247 0.499343 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.314219 0.518259 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328108 0.504895 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310678 0.519922 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290358 0.512708 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286818 0.51437 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280387 0.493791 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307788 0.49768 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297816 0.478764 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321677 0.484316 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367935 0.472692 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389488 0.48474 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379669 0.477004 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369235 0.495668 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.377754 0.480429 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357501 0.491357 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356202 0.46838 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388188 0.461764 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366636 0.449715 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37837 0.454027 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230635 0.38777 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.2506 0.446614 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.264242 0.467193 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER 0.272442 0.447086 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253384 0.459832 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2424 0.46672 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.231541 0.459359 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228758 0.446141 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261459 0.453974 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247817 0.433396 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269659 0.433868 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301839 0.407906 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.319874 0.420236 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.303021 0.407886 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.296625 0.428474 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318692 0.420256 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295442 0.428494 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.300656 0.407926 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325088 0.399668 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307053 0.387338 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308235 0.387318 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253236 0.449775 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.263032 0.459076 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.270029 0.436804 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247378 0.440021 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.246239 0.472047 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230585 0.452992 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236443 0.462746 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26889 0.468829 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259094 0.459528 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275887 0.446557 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179397 0.426478 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.174744 0.447688 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.197172 0.437457 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.1895 0.447523 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156968 0.436708 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171724 0.436544 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161621 0.415499 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164641 0.426642 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.169293 0.405432 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187069 0.416412 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER 0.182032 0.429639 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.177682 0.45215 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.190087 0.449636 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200611 0.44299 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER 0.169628 0.432153 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER 0.192556 0.422992 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173978 0.409641 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159104 0.438799 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.163454 0.416288 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171508 0.436286 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159431 0.367634 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.13761 0.368692 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.158434 0.366998 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153102 0.387887 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138607 0.369329 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER 0.154099 0.388523 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160429 0.36827 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER 0.14394 0.34844 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165761 0.347381 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164764 0.346745 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227999 0.384609 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.237348 0.393812 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251829 0.390976 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234368 0.408432 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.213518 0.387445 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER 0.210538 0.402066 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.204169 0.378242 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23098 0.369989 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221631 0.360786 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245461 0.367152 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208034 0.325765 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.209548 0.312342 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229235 0.324887 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209827 0.337 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188347 0.31322 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188626 0.337878 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.186834 0.326643 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207755 0.301107 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206242 0.31453 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227442 0.313652 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.279238 0.345901 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.302145 0.344931 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297823 0.356827 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.289691 0.366251 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28356 0.334005 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271106 0.355325 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.260653 0.334975 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291692 0.324581 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268785 0.325551 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28737 0.336477 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115031 0.4293 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.102505 0.502308 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.110567 0.524146 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER 0.126738 0.506465 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.112687 0.504055 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0863343 0.519988 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0884544 0.499897 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0782715 0.49815 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100385 0.522399 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0923218 0.500561 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER 0.116555 0.504718 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160392 0.474661 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.177777 0.492047 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176681 0.473492 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159222 0.490951 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161488 0.493217 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.142932 0.492121 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144102 0.475831 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.178947 0.475757 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161561 0.458371 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177851 0.457202 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160392 0.474661 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.167697 0.481967 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161561 0.458371 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144102 0.475831 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166528 0.498257 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.142932 0.492121 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159222 0.490951 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183987 0.480797 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176681 0.473492 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177851 0.457202 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0571437 0.456947 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0450372 0.477623 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.055591 0.475469 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696413 0.47788 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0465898 0.4591 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER 0.071194 0.459357 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0586963 0.438424 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325396 0.45669 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0446461 0.436013 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0430934 0.454536 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115031 0.4293 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.10495 0.439381 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0911807 0.435691 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10864 0.45315 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128801 0.43299 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13249 0.44676 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138881 0.42291 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111341 0.415531 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.121421 0.40545 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0975713 0.411841 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696698 0.383939 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.052284 0.366554 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0708393 0.36765 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0533799 0.385109 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511144 0.382844 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0522103 0.401399 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0685002 0.400229 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0685739 0.365384 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0859596 0.38277 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0871292 0.36648 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0571437 0.456947 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0493251 0.475575 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0725262 0.467381 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.06557 0.479825 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0339426 0.465141 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0501875 0.46939 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0417612 0.446512 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0408988 0.452697 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0487174 0.434069 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0640999 0.444504 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696698 0.383939 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0623642 0.376634 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0859596 0.38277 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0685002 0.400229 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0460743 0.377803 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0522103 0.401399 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0533799 0.385109 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0635337 0.360344 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0708393 0.36765 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0871292 0.36648 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115031 0.4293 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.125111 0.439381 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138881 0.435691 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.121421 0.45315 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101261 0.43299 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0975713 0.44676 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0911807 0.42291 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11872 0.415531 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10864 0.40545 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13249 0.411841 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.082487 0.239622 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0438957 0.258053 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0426858 0.273525 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.064638 0.265928 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0510334 0.281546 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0219434 0.26565 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.030291 0.273671 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0231533 0.250178 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0355481 0.250032 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.036758 0.23456 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0575003 0.242434 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER 0.117687 0.252557 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.135677 0.265544 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138361 0.25778 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12224 0.275732 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.115003 0.26032 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101567 0.270508 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.097014 0.247334 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER 0.131123 0.242369 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER 0.113134 0.229382 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER 0.133808 0.234605 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0863845 0.308551 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0971427 0.330622 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER 0.109956 0.310023 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER 0.091905 0.317013 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0735708 0.329151 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0683331 0.315541 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0628126 0.30708 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0916222 0.322161 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.080864 0.30009 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.104436 0.301561 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00869528 0.245118 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0110117 0.257416 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00823377 0.253319 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0102865 0.269325 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0105502 0.249215 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.010748 0.261124 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00915679 0.236916 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0126029 0.233209 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00710408 0.22091 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00664257 0.229111 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511841 0.295616 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0555846 0.315856 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0705987 0.309941 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0705297 0.296292 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.03617 0.301531 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511152 0.281968 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0317696 0.281291 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.036239 0.31518 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0318385 0.29494 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.051253 0.309265 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0472866 0.226687 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.025169 0.224935 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0281502 0.217281 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0288111 0.241399 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0443054 0.234341 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0479475 0.250805 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.066423 0.236092 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0436445 0.210223 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0657621 0.211974 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0466257 0.202569 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0399982 0.189123 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0335228 0.179527 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0567332 0.187058 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0385291 0.203632 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0167878 0.181593 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER 0.021794 0.205698 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0232631 0.191189 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0349919 0.165018 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0414672 0.174615 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0582023 0.172549 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0785895 0.170692 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0867911 0.147549 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101845 0.166573 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER 0.083121 0.161663 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0635354 0.151669 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0598652 0.165782 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0553337 0.174812 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822597 0.156579 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.074058 0.179722 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0973138 0.175603 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11379 0.183628 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.133336 0.176775 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136161 0.192663 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.124499 0.199753 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.110965 0.167739 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102127 0.190718 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0914184 0.174592 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.122627 0.160649 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.103081 0.167502 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.125452 0.176537 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38777 0.230635 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.446614 0.2506 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.467193 0.264242 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459832 0.253384 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447086 0.272442 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER 0.453974 0.261459 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433868 0.269659 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433396 0.247817 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46672 0.2424 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446141 0.228758 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459359 0.231541 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449775 0.253236 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.459076 0.263032 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440021 0.247378 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436804 0.270029 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.468829 0.26889 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446557 0.275887 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459528 0.259094 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472047 0.246239 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER 0.462746 0.236443 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452992 0.230585 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407906 0.301839 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.420236 0.319874 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428474 0.296625 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407886 0.303021 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399668 0.325088 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387318 0.308235 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387338 0.307053 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420256 0.318692 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407926 0.300656 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428494 0.295442 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384609 0.227999 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.393812 0.237348 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408432 0.234368 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.390976 0.251829 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369989 0.23098 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367152 0.245461 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.360786 0.221631 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387445 0.213518 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378242 0.204169 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402066 0.210538 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345901 0.279238 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.344931 0.302145 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366251 0.289691 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356827 0.297823 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324581 0.291692 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336477 0.28737 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325551 0.268785 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334005 0.28356 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334975 0.260653 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355325 0.271106 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325765 0.208034 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.312342 0.209548 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337 0.209827 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324887 0.229235 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301107 0.207755 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313652 0.227442 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31453 0.206242 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31322 0.188347 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.326643 0.186834 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337878 0.188626 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426478 0.179397 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.447688 0.174744 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447523 0.1895 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER 0.437457 0.197172 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426642 0.164641 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416412 0.187069 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405432 0.169293 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436708 0.156968 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER 0.415499 0.161621 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436544 0.171724 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367634 0.159431 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.368692 0.13761 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387887 0.153102 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366998 0.158434 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34844 0.14394 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER 0.346745 0.164764 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347381 0.165761 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369329 0.138607 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36827 0.160429 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388523 0.154099 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429639 0.182032 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.45215 0.177682 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44299 0.200611 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449636 0.190087 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER 0.438799 0.159104 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436286 0.171508 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416288 0.163454 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.432153 0.169628 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409641 0.173978 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.422992 0.192556 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.239622 0.082487 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.258053 0.0438957 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.273525 0.0426858 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281546 0.0510334 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER 0.265928 0.064638 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250032 0.0355481 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242434 0.0575003 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23456 0.036758 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26565 0.0219434 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250178 0.0231533 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273671 0.030291 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308551 0.0863845 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.330622 0.0971427 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317013 0.091905 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310023 0.109956 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322161 0.0916222 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301561 0.104436 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30009 0.080864 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329151 0.0735708 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30708 0.0628126 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315541 0.0683331 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.252557 0.117687 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.265544 0.135677 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275732 0.12224 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.25778 0.138361 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242369 0.131123 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234605 0.133808 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229382 0.113134 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26032 0.115003 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247334 0.097014 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER 0.270508 0.101567 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.189123 0.0399982 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.179527 0.0335228 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203632 0.0385291 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187058 0.0567332 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165018 0.0349919 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172549 0.0582023 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174615 0.0414672 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181593 0.0167878 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191189 0.0232631 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205698 0.021794 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183628 0.11379 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.176775 0.133336 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.199753 0.124499 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.192663 0.136161 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160649 0.122627 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176537 0.125452 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167502 0.103081 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167739 0.110965 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174592 0.0914184 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.190718 0.102127 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.170692 0.0785895 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.147549 0.0867911 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161663 0.083121 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166573 0.101845 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156579 0.0822597 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.175603 0.0973138 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179722 0.074058 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.151669 0.0635354 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174812 0.0553337 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165782 0.0598652 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245118 0.00869528 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER 0.257416 -0.0110117 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269325 0.0102865 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253319 0.00823377 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233209 -0.0126029 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229111 0.00664257 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22091 0.00710408 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249215 -0.0105502 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236916 0.00915679 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261124 0.010748 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.226687 0.0472866 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.224935 0.025169 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241399 0.0288111 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217281 0.0281502 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.210223 0.0436445 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.202569 0.0466257 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211974 0.0657621 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234341 0.0443054 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236092 0.066423 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250805 0.0479475 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295616 0.0511841 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.315856 0.0555846 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.296292 0.0705297 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.309941 0.0705987 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31518 0.036239 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.309265 0.051253 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29494 0.0318385 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301531 0.03617 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281291 0.0317696 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281968 0.0511152 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4293 0.115031 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.502308 0.102505 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.524146 0.110567 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504055 0.112687 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506465 0.126738 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522399 0.100385 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504718 0.116555 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER 0.500561 0.0923218 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519988 0.0863343 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER 0.49815 0.0782715 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499897 0.0884544 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.474661 0.160392 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.481967 0.167697 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475831 0.144102 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.458371 0.161561 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480797 0.183987 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457202 0.177851 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.473492 0.176681 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498257 0.166528 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490951 0.159222 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.492121 0.142932 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.474661 0.160392 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.492047 0.177777 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490951 0.159222 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.473492 0.176681 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475757 0.178947 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.457202 0.177851 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.458371 0.161561 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493217 0.161488 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475831 0.144102 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.492121 0.142932 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.456947 0.0571437 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.475575 0.0493251 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER 0.479825 0.06557 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER 0.467381 0.0725262 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452697 0.0408988 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER 0.444504 0.0640999 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434069 0.0487174 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.465141 0.0339426 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446512 0.0417612 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46939 0.0501875 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4293 0.115031 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.439381 0.125111 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45315 0.121421 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435691 0.138881 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.415531 0.11872 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.411841 0.13249 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40545 0.10864 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.43299 0.101261 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42291 0.0911807 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44676 0.0975713 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383939 0.0696698 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.376634 0.0623642 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400229 0.0685002 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38277 0.0859596 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.360344 0.0635337 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36648 0.0871292 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36765 0.0708393 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.377803 0.0460743 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385109 0.0533799 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401399 0.0522103 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.456947 0.0571437 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.477623 0.0450372 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.47788 0.0696413 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475469 0.055591 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45669 0.0325396 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.454536 0.0430934 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436013 0.0446461 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4591 0.0465898 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER 0.438424 0.0586963 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.459357 0.071194 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383939 0.0696698 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.366554 0.052284 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385109 0.0533799 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36765 0.0708393 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.365384 0.0685739 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36648 0.0871292 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38277 0.0859596 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382844 0.0511144 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400229 0.0685002 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401399 0.0522103 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4293 0.115031 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.41922 0.125111 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40545 0.121421 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42291 0.138881 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44307 0.11872 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44676 0.13249 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45315 0.10864 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.425611 0.101261 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435691 0.0911807 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.411841 0.0975713 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643951 0.172546 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.802608 0.281471 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.824035 0.30566 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.822021 0.302088 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.821938 0.282758 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.802598 0.298094 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER 0.824119 0.32499 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.804695 0.320997 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER 0.826132 0.328563 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843459 0.309654 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845472 0.313227 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843375 0.290324 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.787796 0.241352 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.785699 0.218449 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.802677 0.22345 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER 0.778718 0.223304 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770818 0.236351 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER 0.763837 0.241205 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER 0.772915 0.259253 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER 0.794777 0.236497 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.796874 0.2594 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER 0.811756 0.241498 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER 0.752156 0.305221 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.741263 0.325175 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER 0.747715 0.32493 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.765112 0.325981 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745704 0.305466 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.769553 0.306272 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER 0.756597 0.285513 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.728307 0.304415 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7392 0.284462 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.734759 0.304171 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838847 0.34578 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.851488 0.360404 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853509 0.335865 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.832518 0.347059 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER 0.836826 0.370319 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817857 0.356973 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.824185 0.355695 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857816 0.359125 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845176 0.344501 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.859838 0.334587 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.766968 0.345341 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.768944 0.369945 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER 0.788341 0.356172 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER 0.780624 0.356171 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.747572 0.359113 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759252 0.34534 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745596 0.33451 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755289 0.359115 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER 0.753313 0.334511 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774685 0.345342 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817421 0.321591 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.83071 0.340361 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.840365 0.325527 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.822249 0.341208 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER 0.807766 0.336425 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.799305 0.337272 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER 0.794477 0.317654 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER 0.825882 0.320744 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.812593 0.301973 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.835537 0.30591 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER 0.874487 0.28191 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.891539 0.292033 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER 0.868678 0.28812 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.872763 0.305711 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER 0.897348 0.285824 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER 0.878572 0.299501 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.880296 0.275701 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER 0.893263 0.268233 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876212 0.25811 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER 0.870402 0.264319 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853061 0.257721 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.87538 0.26204 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.87108 0.266856 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER 0.860805 0.280934 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857361 0.252905 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842785 0.271799 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.835041 0.248586 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER 0.867636 0.238827 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845317 0.234508 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER 0.863337 0.243643 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838248 0.217602 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.860225 0.206363 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER 0.858689 0.230102 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER 0.854636 0.223536 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.839784 0.193863 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.834196 0.211035 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817808 0.205101 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843837 0.200429 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER 0.821861 0.211667 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842301 0.224168 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643951 0.172546 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.61371 0.202787 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.61556 0.221097 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621702 0.225035 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.635958 0.210779 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607567 0.198849 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627965 0.188531 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605717 0.180539 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593312 0.213105 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591462 0.194794 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.599454 0.217042 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.191718 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.556122 0.208861 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575596 0.203643 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.578791 0.215568 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.552927 0.196936 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575596 0.203643 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569205 0.179793 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549732 0.185011 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.56601 0.167868 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569205 0.179793 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.244096 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.631486 0.266765 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648629 0.250487 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.636704 0.247291 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607636 0.260374 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.612854 0.240901 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600929 0.237705 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.619561 0.26357 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.612854 0.240901 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.636704 0.247291 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68526 0.183615 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684921 0.190903 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665787 0.178397 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669989 0.201661 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704395 0.196121 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.689462 0.206879 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704733 0.188833 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700193 0.172858 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700531 0.165569 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681058 0.160351 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.224924 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.710584 0.23918 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705059 0.216195 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687599 0.233654 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701855 0.24791 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678869 0.242384 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687599 0.233654 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.719314 0.23045 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705059 0.216195 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.713788 0.207465 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.153374 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.738169 0.160081 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718696 0.165299 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721891 0.177224 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.734974 0.148156 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718696 0.165299 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712305 0.141449 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.731779 0.136231 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.70911 0.129524 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712305 0.141449 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.632882 0.131237 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.634145 0.108412 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.650927 0.115965 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627664 0.111763 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616099 0.123683 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609618 0.127034 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.614836 0.146508 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639363 0.127886 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.6381 0.15071 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656145 0.135439 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.100996 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.680265 0.0847178 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.686972 0.107387 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675047 0.104191 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656415 0.0783272 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651197 0.0978007 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639272 0.0946054 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.66834 0.0815225 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651197 0.0978007 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675047 0.104191 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.120168 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.577317 0.105912 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600302 0.111438 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582843 0.128897 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.568587 0.114642 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.574113 0.137627 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582843 0.128897 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586046 0.0971825 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600302 0.111438 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609032 0.102708 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.594141 0.358439 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.619127 0.408291 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.625955 0.411883 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630791 0.390369 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607547 0.396287 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61429 0.429805 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.595882 0.414208 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607462 0.426212 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.637535 0.423887 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630706 0.420295 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642371 0.402373 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.68332 0.389713 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68332 0.389713 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688854 0.369058 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638217 0.337042 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.652948 0.344865 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.632683 0.357697 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651954 0.357326 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.658482 0.324211 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.657489 0.336672 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643752 0.316388 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639211 0.324581 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624481 0.316758 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.618946 0.337413 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547576 0.389119 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.541008 0.410169 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548718 0.410472 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.564748 0.405866 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539866 0.388816 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563607 0.384513 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546435 0.367766 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523836 0.393422 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530405 0.372372 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531546 0.393725 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566667 0.317871 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.555534 0.296626 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572202 0.297216 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.550163 0.307914 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549999 0.31728 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.544629 0.328569 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.561133 0.338525 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572037 0.306582 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.583171 0.327827 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588706 0.307172 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.501272 0.340934 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501272 0.340934 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506807 0.320279 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57505 0.429687 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.58161 0.452905 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5989 0.436077 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586467 0.434777 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.55776 0.446515 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562617 0.428387 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5512 0.423296 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570193 0.447815 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563633 0.424596 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587483 0.430987 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.550064 0.379835 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.547099 0.396248 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569716 0.388263 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.557504 0.403175 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527447 0.387819 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.537852 0.394747 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530412 0.371406 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539659 0.372907 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542624 0.356494 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562276 0.364922 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621614 0.399007 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.637209 0.41723 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642848 0.401533 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624734 0.418027 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.615976 0.414703 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603501 0.4155 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600381 0.39648 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634089 0.39821 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.618494 0.379986 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639728 0.382513 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.802608 0.281471 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.858698 0.329459 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.872345 0.34259 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.86421 0.32016 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848329 0.338969 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER 0.866833 0.351888 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842817 0.348268 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853186 0.338757 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882715 0.333079 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.869068 0.319948 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER 0.87458 0.310649 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845371 0.280879 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.849036 0.291048 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER 0.826067 0.287867 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER 0.840755 0.304882 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER 0.868341 0.28406 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.86006 0.297894 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER 0.864676 0.273891 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853652 0.267046 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER 0.849987 0.256877 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.830683 0.263865 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.798572 0.337088 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.808673 0.346884 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER 0.82298 0.335792 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER 0.807762 0.322361 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.784265 0.34818 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER 0.783355 0.323657 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774164 0.338384 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.799483 0.361611 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.789382 0.351815 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.81379 0.350519 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.815936 0.330051 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.828769 0.350165 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838905 0.333232 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER 0.820583 0.347547 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER 0.805799 0.346984 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER 0.797614 0.344366 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.792966 0.32687 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER 0.824121 0.332668 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER 0.811288 0.312554 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER 0.834258 0.315735 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER 0.75581 0.33768 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.753851 0.362219 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774086 0.350765 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76987 0.352319 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.735575 0.349134 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751594 0.339233 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737534 0.324595 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.739791 0.347581 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER 0.74175 0.323042 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760026 0.336127 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759846 0.282063 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.756464 0.29233 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.779336 0.288514 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.765125 0.305929 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER 0.736973 0.285879 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745634 0.299478 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.740355 0.275612 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751185 0.268464 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.754567 0.258198 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774058 0.264649 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.862735 0.273842 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.885497 0.282313 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876946 0.281455 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER 0.867718 0.29787 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.871286 0.274699 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.853506 0.290257 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848523 0.266228 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.880514 0.258284 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857752 0.249813 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER 0.871963 0.257427 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.806645 0.225855 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.818054 0.21762 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER 0.83061 0.230661 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER 0.813612 0.241754 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.794089 0.212813 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER 0.789647 0.236948 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.78268 0.221048 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.811087 0.20172 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER 0.799677 0.209955 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.823642 0.214761 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER 0.849407 0.225263 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.873186 0.21889 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.865588 0.240865 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER 0.866351 0.236437 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857005 0.203288 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.850171 0.220835 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.833227 0.20966 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.856242 0.207715 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER 0.832464 0.214088 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848644 0.22969 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.594141 0.358439 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.613592 0.428945 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.626191 0.448155 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634643 0.42519 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.614455 0.43276 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.60514 0.45191 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593404 0.436515 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.592541 0.4327 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625328 0.44434 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.612729 0.42513 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.63378 0.421375 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.68332 0.389713 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68332 0.389713 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660156 0.398265 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665691 0.37761 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688854 0.369058 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671225 0.356956 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621614 0.399007 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.625435 0.399844 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627149 0.378352 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.60511 0.38905 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.619901 0.420499 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.599576 0.409705 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61608 0.419661 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.641939 0.409801 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638118 0.408963 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643653 0.388308 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542042 0.409774 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.53788 0.433888 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.558395 0.423551 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.55574 0.426423 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.521526 0.42011 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539387 0.412646 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.525689 0.395996 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.524182 0.417238 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528344 0.393124 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.544697 0.406901 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.550064 0.379835 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.540802 0.399304 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.54453 0.400489 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563801 0.400119 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546337 0.37865 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569335 0.379464 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555599 0.35918 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527065 0.37902 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536327 0.359551 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530793 0.380205 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.501272 0.340934 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501272 0.340934 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517056 0.359921 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522591 0.339267 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506807 0.320279 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.528125 0.318612 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586119 0.388377 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.594185 0.405974 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609969 0.394768 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593017 0.410332 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570335 0.399584 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569167 0.403942 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562269 0.381987 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587286 0.384019 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57922 0.366422 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.60307 0.372813 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566667 0.317871 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.567308 0.314012 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587901 0.320398 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569787 0.336891 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546074 0.311485 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548554 0.334364 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.545434 0.315344 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.564188 0.294991 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563547 0.29885 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.584781 0.301377 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638217 0.337042 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.659244 0.341809 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65787 0.345471 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645657 0.360383 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639592 0.33338 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626005 0.351955 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.618565 0.328614 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651804 0.318468 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630777 0.313702 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65043 0.32213 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643951 0.172546 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.674191 0.202787 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.690652 0.219248 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.695267 0.206403 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677807 0.223862 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669577 0.215632 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656732 0.220246 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.653116 0.199171 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687036 0.198172 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.670575 0.181711 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.691651 0.185327 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.191718 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.733129 0.203821 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.191718 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.709966 0.212373 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.733129 0.203821 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.709966 0.212373 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715501 0.191718 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.738664 0.183166 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721035 0.171063 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721035 0.171063 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.244096 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.675225 0.261725 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683777 0.238562 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.244096 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65457 0.267259 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642468 0.249631 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642468 0.249631 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675225 0.261725 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663122 0.244096 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683777 0.238562 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602641 0.183615 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.600215 0.197046 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.622701 0.191021 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609032 0.207465 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.580155 0.18964 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588972 0.200059 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582581 0.176209 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593824 0.173196 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.596251 0.159765 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61631 0.167171 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.224924 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.587397 0.24926 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606693 0.240045 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606693 0.240045 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572277 0.23414 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.224924 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.576452 0.209804 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.572277 0.23414 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.576452 0.209804 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591572 0.224924 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.153374 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.551082 0.155041 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.153374 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566866 0.174029 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.551082 0.155041 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566866 0.174029 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.5724 0.153374 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.556617 0.134387 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.577935 0.13272 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.577935 0.13272 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.655019 0.131237 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.668451 0.12881 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678869 0.137627 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.662426 0.151296 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644601 0.12242 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638576 0.144906 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.631169 0.124846 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661044 0.108751 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647613 0.111177 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671463 0.117567 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.100996 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.626446 0.0796777 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645433 0.0954616 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.100996 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605791 0.0852121 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604124 0.10653 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604124 0.10653 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626446 0.0796777 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624779 0.100996 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645433 0.0954616 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.120168 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.720665 0.115992 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.711449 0.135288 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.711449 0.135288 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705544 0.100872 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.120168 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681209 0.105047 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705544 0.100872 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681209 0.105047 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.696329 0.120168 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.852418 0.0955788 1.89979e-16 RAD 0.0555556
- txt002
- SPHERE CENTER 0.922609 0.11107 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.937225 0.122151 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.916553 0.11086 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.915202 0.131874 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER 0.943281 0.12236 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER 0.921258 0.132084 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER 0.928665 0.111279 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER 0.944632 0.101346 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER 0.930016 0.0902645 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.92396 0.090055 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.867231 0.135698 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.873196 0.134634 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882112 0.117797 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.858152 0.11765 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.858315 0.152536 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.843271 0.135552 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.852349 0.1536 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882275 0.152682 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876309 0.153747 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.89119 0.135845 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.877966 0.164775 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.890926 0.182656 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.897331 0.159019 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.876622 0.167676 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.871561 0.188412 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857256 0.173431 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.8586 0.17053 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.89227 0.179755 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.87931 0.161874 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.898675 0.156118 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.907797 0.0709499 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.930963 0.0752104 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER 0.924191 0.0806562 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER 0.915684 0.0941344 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.914568 0.0655041 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.899289 0.0844281 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.891402 0.0612436 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.923076 0.0520258 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER 0.89991 0.0477654 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER 0.916304 0.0574717 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER 0.863153 0.124655 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.875744 0.141535 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.88655 0.129819 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.868763 0.146389 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.852347 0.136371 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.845366 0.141225 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.839756 0.119492 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.870135 0.119801 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.857544 0.102922 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.880941 0.108085 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.837606 0.0554592 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.842832 0.0523913 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.86055 0.0593957 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.842434 0.0750766 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.819888 0.0484547 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.81949 0.07114 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.814662 0.0515226 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.838004 0.0327739 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.832778 0.0358417 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.855722 0.0397783 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.897062 0.0418734 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.920407 0.0359958 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER 0.912106 0.0588574 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.915603 0.0511067 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER 0.905363 0.0190117 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER 0.900559 0.0341227 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.882018 0.0248894 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.901866 0.0267625 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.878521 0.0326401 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER 0.893565 0.0496241 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER 0.826871 0.0263827 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.825102 0.00436945 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.84533 0.018173 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.823964 0.025051 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.806642 0.0125791 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.805505 0.0332607 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.808411 0.0345923 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.828008 0.00570109 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.829777 0.0277143 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.848237 0.0195047 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.841683 0.0665023 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.840284 0.0454909 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.856111 0.0473735 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.831823 0.0463379 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.825856 0.0646197 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.817395 0.0654667 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.827255 0.0856311 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.850144 0.0656554 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.851543 0.0866667 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.865971 0.0675379 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.69376 -0.0133465 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.740325 -0.0440268 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.762259 -0.0417568 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759495 -0.0345526 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.748937 -0.0216407 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743089 -0.051231 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.729767 -0.0311149 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721155 -0.053501 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.753646 -0.0641429 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.731712 -0.0664129 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.750882 -0.0569387 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.782939 0.0179281 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.782939 0.0179281 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.788473 -0.00272662 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721234 0.0272215 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.736829 0.0454452 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.742467 0.0297485 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.724354 0.046242 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715595 0.0429182 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.70312 0.043715 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7 0.0246945 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.733709 0.0264247 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718114 0.00820099 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.739347 0.010728 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.668775 -0.0631985 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.669983 -0.0708196 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.690113 -0.0618185 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671462 -0.0467378 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648644 -0.0721997 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.650123 -0.0481178 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647436 -0.0645786 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.667296 -0.0872804 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666087 -0.0796593 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687426 -0.0782793 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649684 0.00804971 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.646718 0.0244627 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669336 0.016478 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.657124 0.0313903 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627066 0.0160343 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.637471 0.022962 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630031 -0.000378614 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639278 0.00112207 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642244 -0.0152909 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661896 -0.00686255 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.600892 -0.0308513 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600892 -0.0308513 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606426 -0.051506 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712851 -0.0845947 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.730141 -0.101422 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.736701 -0.0782041 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.725284 -0.0832945 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.706291 -0.107813 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701434 -0.0896851 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.689001 -0.0909853 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.717709 -0.102723 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700418 -0.0858949 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.724268 -0.0795043 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666287 -0.0539145 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.655153 -0.0751594 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671821 -0.0745692 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649783 -0.0638711 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649619 -0.0545047 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644249 -0.0432164 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660752 -0.0332597 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671657 -0.0652028 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682791 -0.0439578 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688325 -0.0646126 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737837 -0.0347427 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.752567 -0.0269197 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.732303 -0.014088 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751574 -0.0144587 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.758102 -0.0475745 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.757108 -0.0351134 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743371 -0.0553974 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.73883 -0.0472037 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7241 -0.0550267 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718566 -0.0343719 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.69376 -0.0133465 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.745859 -0.0646815 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.770032 -0.0684873 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759394 -0.0481266 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.762305 -0.0507391 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.756497 -0.0850422 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.74877 -0.067294 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.732325 -0.0812364 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.753586 -0.0824297 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.729413 -0.0786239 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.742948 -0.062069 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.782939 0.0179281 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.782939 0.0179281 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759776 0.02648 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.76531 0.0058253 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.788473 -0.00272662 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.770845 -0.0148294 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737837 -0.0347427 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.758864 -0.0299763 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.757489 -0.0263144 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745277 -0.0114021 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.739212 -0.0384047 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.725625 -0.0198304 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718185 -0.043171 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751424 -0.0533169 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.730397 -0.0580833 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.750049 -0.0496549 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674309 -0.0838533 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.675276 -0.106805 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.694308 -0.091423 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.673094 -0.0875713 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.655278 -0.0992356 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.653095 -0.0800016 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65431 -0.0762835 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.676491 -0.103087 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675524 -0.0801352 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.695522 -0.0877049 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666287 -0.0539145 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.666927 -0.0577732 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.68752 -0.0513875 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669407 -0.034894 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645694 -0.0603001 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648173 -0.0374209 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645053 -0.0564414 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663807 -0.0767937 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663167 -0.072935 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.6844 -0.070408 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.600892 -0.0308513 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.600892 -0.0308513 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616676 -0.0118635 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62221 -0.0325183 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606426 -0.051506 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627745 -0.053173 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701782 -0.0432853 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.717566 -0.0544915 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.725632 -0.0368947 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.718734 -0.0588496 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.693716 -0.0608821 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.694884 -0.0652402 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677932 -0.0496759 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700615 -0.0389272 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.684831 -0.027721 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.708681 -0.0213304 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649684 0.00804971 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.640422 0.0275193 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644149 0.0287044 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.66342 0.0283337 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.645956 0.00686453 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.668955 0.00767898 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.655218 -0.012605 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626685 0.00723527 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.635947 -0.0122343 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630413 0.00842045 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721234 0.0272215 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.725055 0.0280589 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.726768 0.00656677 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.70473 0.0172649 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.71952 0.0487136 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.699195 0.0379196 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.715699 0.0478762 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.741558 0.0380155 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.737738 0.0371781 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743272 0.0165234 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172546 0.643951 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.281471 0.802608 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.30566 0.824035 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.302088 0.822021 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298094 0.802598 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282758 0.821938 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.309654 0.843459 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290324 0.843375 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313227 0.845472 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32499 0.824119 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328563 0.826132 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320997 0.804695 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305221 0.752156 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.325175 0.741263 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325981 0.765112 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32493 0.747715 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304415 0.728307 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304171 0.734759 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER 0.284462 0.7392 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305466 0.745704 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285513 0.756597 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306272 0.769553 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241352 0.787796 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.218449 0.785699 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223304 0.778718 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22345 0.802677 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236497 0.794777 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241498 0.811756 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2594 0.796874 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236351 0.770818 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259253 0.772915 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241205 0.763837 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28191 0.874487 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.292033 0.891539 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305711 0.872763 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28812 0.868678 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268233 0.893263 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER 0.264319 0.870402 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.25811 0.876212 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285824 0.897348 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275701 0.880296 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299501 0.878572 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217602 0.838248 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.206363 0.860225 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223536 0.854636 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230102 0.858689 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200429 0.843837 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224168 0.842301 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211667 0.821861 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193863 0.839784 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205101 0.817808 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211035 0.834196 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257721 0.853061 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.26204 0.87538 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280934 0.860805 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266856 0.87108 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238827 0.867636 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.243643 0.863337 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234508 0.845317 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER 0.252905 0.857361 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248586 0.835041 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271799 0.842785 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34578 0.838847 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.360404 0.851488 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347059 0.832518 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335865 0.853509 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359125 0.857816 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334587 0.859838 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.344501 0.845176 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.370319 0.836826 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355695 0.824185 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356973 0.817857 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321591 0.817421 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340361 0.83071 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.341208 0.822249 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325527 0.840365 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320744 0.825882 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30591 0.835537 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301973 0.812593 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336425 0.807766 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317654 0.794477 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337272 0.799305 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345341 0.766968 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.369945 0.768944 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356171 0.780624 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356172 0.788341 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359115 0.755289 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345342 0.774685 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334511 0.753313 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359113 0.747572 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33451 0.745596 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34534 0.759252 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER 0.358439 0.594141 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.408291 0.619127 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.411883 0.625955 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396287 0.607547 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.390369 0.630791 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423887 0.637535 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402373 0.642371 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420295 0.630706 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429805 0.61429 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426212 0.607462 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.414208 0.595882 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337042 0.638217 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.344865 0.652948 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357326 0.651954 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.357697 0.632683 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324581 0.639211 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337413 0.618946 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316758 0.624481 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324211 0.658482 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316388 0.643752 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336672 0.657489 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389713 0.68332 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369058 0.688854 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389713 0.68332 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.429687 0.57505 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.452905 0.58161 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434777 0.586467 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436077 0.5989 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447815 0.570193 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.430987 0.587483 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.424596 0.563633 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.446515 0.55776 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423296 0.5512 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428387 0.562617 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399007 0.621614 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.41723 0.637209 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418027 0.624734 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401533 0.642848 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39821 0.634089 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382513 0.639728 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379986 0.618494 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.414703 0.615976 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39648 0.600381 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4155 0.603501 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379835 0.550064 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.396248 0.547099 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403175 0.557504 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388263 0.569716 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372907 0.539659 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.364922 0.562276 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356494 0.542624 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387819 0.527447 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.371406 0.530412 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.394747 0.537852 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389119 0.547576 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.410169 0.541008 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405866 0.564748 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410472 0.548718 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393422 0.523836 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393725 0.531546 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372372 0.530405 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388816 0.539866 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367766 0.546435 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384513 0.563607 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340934 0.501272 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320279 0.506807 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340934 0.501272 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317871 0.566667 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.296626 0.555534 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307914 0.550163 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297216 0.572202 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306582 0.572037 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307172 0.588706 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.327827 0.583171 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31728 0.549999 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338525 0.561133 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328569 0.544629 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172546 0.643951 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.142305 0.674191 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.144155 0.692502 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.150298 0.696439 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164554 0.682184 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136163 0.670254 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156561 0.659936 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.134313 0.651943 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.121907 0.684509 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120057 0.666199 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12805 0.688447 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.663122 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0847178 0.680265 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.104191 0.675047 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.107387 0.686972 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0815225 0.66834 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.104191 0.675047 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0978007 0.651197 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0783272 0.656415 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0946054 0.639272 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0978007 0.651197 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.715501 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.160081 0.738169 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177224 0.721891 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165299 0.718696 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136231 0.731779 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141449 0.712305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.129524 0.70911 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.148156 0.734974 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141449 0.712305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165299 0.718696 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.213855 0.655019 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.213517 0.662308 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.194382 0.649801 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198584 0.673065 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23299 0.667526 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218058 0.678283 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233329 0.660237 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228788 0.644262 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229127 0.636974 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209653 0.631756 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.696329 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.23918 0.710584 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233654 0.687599 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.216195 0.705059 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23045 0.719314 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207465 0.713788 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.216195 0.705059 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.24791 0.701855 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233654 0.687599 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242384 0.678869 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.624779 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.266765 0.631486 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247291 0.636704 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250487 0.648629 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26357 0.619561 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247291 0.636704 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240901 0.612854 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.260374 0.607636 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237705 0.600929 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240901 0.612854 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161477 0.602641 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.162741 0.579817 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179523 0.58737 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156259 0.583168 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144695 0.595088 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138214 0.598439 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.143431 0.617912 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167958 0.59929 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166695 0.622115 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.184741 0.606843 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.5724 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.208861 0.556122 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215568 0.578791 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203643 0.575596 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.185011 0.549732 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179793 0.569205 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167868 0.56601 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.196936 0.552927 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179793 0.569205 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203643 0.575596 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.591572 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.105912 0.577317 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128897 0.582843 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111438 0.600302 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0971825 0.586046 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102708 0.609032 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111438 0.600302 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.114642 0.568587 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128897 0.582843 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.137627 0.574113 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0955788 0.852418 9.1293e-17 RAD 0.0555556
- txt002
- SPHERE CENTER 0.11107 0.922609 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.122151 0.937225 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.131874 0.915202 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11086 0.916553 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101346 0.944632 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER 0.090055 0.92396 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0902645 0.930016 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12236 0.943281 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111279 0.928665 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER 0.132084 0.921258 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER 0.164775 0.877966 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.182656 0.890926 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167676 0.876622 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159019 0.897331 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179755 0.89227 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156118 0.898675 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161874 0.87931 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188412 0.871561 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.17053 0.8586 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173431 0.857256 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135698 0.867231 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.134634 0.873196 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11765 0.858152 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.117797 0.882112 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152682 0.882275 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135845 0.89119 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153747 0.876309 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152536 0.858315 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.1536 0.852349 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135552 0.843271 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0418734 0.897062 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0359958 0.920407 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511067 0.915603 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0588574 0.912106 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0267625 0.901866 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0496241 0.893565 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0326401 0.878521 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0190117 0.905363 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0248894 0.882018 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0341227 0.900559 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0665023 0.841683 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0454909 0.840284 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0463379 0.831823 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0473735 0.856111 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0656554 0.850144 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0675379 0.865971 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0866667 0.851543 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0646197 0.825856 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0856311 0.827255 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0654667 0.817395 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0263827 0.826871 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.00436945 0.825102 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.025051 0.823964 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.018173 0.84533 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00570109 0.828008 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0195047 0.848237 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0277143 0.829777 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0125791 0.806642 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0345923 0.808411 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0332607 0.805505 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0709499 0.907797 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0752104 0.930963 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0941344 0.915684 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0806562 0.924191 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0520258 0.923076 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0574717 0.916304 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0477654 0.89991 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0655041 0.914568 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0612436 0.891402 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0844281 0.899289 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0554592 0.837606 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0523913 0.842832 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0750766 0.842434 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0593957 0.86055 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0327739 0.838004 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0397783 0.855722 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0358417 0.832778 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0484547 0.819888 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0515226 0.814662 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.07114 0.81949 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.124655 0.863153 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.141535 0.875744 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.146389 0.868763 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.129819 0.88655 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.119801 0.870135 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108085 0.880941 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102922 0.857544 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.136371 0.852347 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.119492 0.839756 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141225 0.845366 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0133465 0.69376 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0646815 0.745859 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0684873 0.770032 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0507391 0.762305 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0481266 0.759394 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0824297 0.753586 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.062069 0.742948 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0786239 0.729413 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0850422 0.756497 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0812364 0.732325 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.067294 0.74877 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0347427 0.737837 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0299763 0.758864 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0114021 0.745277 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0263144 0.757489 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0533169 0.751424 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0496549 0.750049 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0580833 0.730397 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0384047 0.739212 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.043171 0.718185 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0198304 0.725625 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0179281 0.782939 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00272662 0.788473 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0179281 0.782939 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0432853 0.701782 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0544915 0.717566 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0588496 0.718734 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0368947 0.725632 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0389272 0.700615 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0213304 0.708681 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.027721 0.684831 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0608821 0.693716 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0496759 0.677932 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0652402 0.694884 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0272215 0.721234 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0280589 0.725055 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0172649 0.70473 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00656677 0.726768 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0380155 0.741558 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0165234 0.743272 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0371781 0.737738 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0487136 0.71952 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0478762 0.715699 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0379196 0.699195 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00804971 0.649684 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0275193 0.640422 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0283337 0.66342 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0287044 0.644149 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00723527 0.626685 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00842045 0.630413 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0122343 0.635947 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00686453 0.645956 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.012605 0.655218 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00767898 0.668955 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0838533 0.674309 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.106805 0.675276 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0875713 0.673094 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.091423 0.694308 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103087 0.676491 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0877049 0.695522 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0801352 0.675524 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0992356 0.655278 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0762835 0.65431 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0800016 0.653095 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0308513 0.600892 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.051506 0.606426 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0308513 0.600892 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0539145 0.666287 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0577732 0.666927 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.034894 0.669407 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0513875 0.68752 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0767937 0.663807 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.070408 0.6844 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.072935 0.663167 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0603001 0.645694 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0564414 0.645053 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0374209 0.648173 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0133465 0.69376 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0440268 0.740325 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0417568 0.762259 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0216407 0.748937 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0345526 0.759495 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0641429 0.753646 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0569387 0.750882 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0664129 0.731712 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.051231 0.743089 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053501 0.721155 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0311149 0.729767 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0272215 0.721234 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0454452 0.736829 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.046242 0.724354 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0297485 0.742467 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0264247 0.733709 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.010728 0.739347 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00820099 0.718114 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0429182 0.715595 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0246945 0.7 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.043715 0.70312 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0179281 0.782939 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00272662 0.788473 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0148294 0.770845 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0179281 0.782939 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058253 0.76531 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02648 0.759776 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0845947 0.712851 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.101422 0.730141 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0832945 0.725284 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0782041 0.736701 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.102723 0.717709 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0795043 0.724268 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0858949 0.700418 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107813 0.706291 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0909853 0.689001 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0896851 0.701434 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0347427 0.737837 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0269197 0.752567 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0144587 0.751574 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.014088 0.732303 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0472037 0.73883 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0343719 0.718566 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0550267 0.7241 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0475745 0.758102 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0553974 0.743371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0351134 0.757108 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0539145 0.666287 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0751594 0.655153 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0638711 0.649783 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0745692 0.671821 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0652028 0.671657 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0646126 0.688325 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0439578 0.682791 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0545047 0.649619 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0332597 0.660752 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0432164 0.644249 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0631985 0.668775 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0708196 0.669983 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0467378 0.671462 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0618185 0.690113 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0872804 0.667296 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0782793 0.687426 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0796593 0.666087 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0721997 0.648644 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0645786 0.647436 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0481178 0.650123 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0308513 0.600892 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.051506 0.606426 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.053173 0.627745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0308513 0.600892 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0325183 0.62221 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0118635 0.616676 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00804971 0.649684 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0244627 0.646718 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0313903 0.657124 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.016478 0.669336 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00112207 0.639278 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00686255 0.661896 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0152909 0.642244 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0160343 0.627066 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.000378614 0.630031 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.022962 0.637471 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281471 0.802608 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.329459 0.858698 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.34259 0.872345 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338969 0.848329 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32016 0.86421 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.333079 0.882715 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310649 0.87458 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER 0.319948 0.869068 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351888 0.866833 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338757 0.853186 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.348268 0.842817 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337088 0.798572 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.346884 0.808673 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322361 0.807762 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335792 0.82298 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER 0.361611 0.799483 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350519 0.81379 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351815 0.789382 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.34818 0.784265 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338384 0.774164 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.323657 0.783355 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280879 0.845371 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.291048 0.849036 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304882 0.840755 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287867 0.826067 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267046 0.853652 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263865 0.830683 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.256877 0.849987 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28406 0.868341 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273891 0.864676 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297894 0.86006 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273842 0.862735 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.282313 0.885497 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29787 0.867718 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281455 0.876946 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258284 0.880514 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257427 0.871963 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249813 0.857752 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER 0.274699 0.871286 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266228 0.848523 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290257 0.853506 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225263 0.849407 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.21889 0.873186 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236437 0.866351 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240865 0.865588 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207715 0.856242 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22969 0.848644 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214088 0.832464 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203288 0.857005 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20966 0.833227 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.220835 0.850171 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225855 0.806645 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.21762 0.818054 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER 0.241754 0.813612 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230661 0.83061 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20172 0.811087 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214761 0.823642 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209955 0.799677 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212813 0.794089 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221048 0.78268 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236948 0.789647 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330051 0.815936 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.350165 0.828769 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347547 0.820583 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER 0.333232 0.838905 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332668 0.824121 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315735 0.834258 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312554 0.811288 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER 0.346984 0.805799 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32687 0.792966 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER 0.344366 0.797614 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282063 0.759846 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.29233 0.756464 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305929 0.765125 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288514 0.779336 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268464 0.751185 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.264649 0.774058 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258198 0.754567 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285879 0.736973 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275612 0.740355 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299478 0.745634 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33768 0.75581 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.362219 0.753851 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352319 0.76987 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350765 0.774086 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER 0.347581 0.739791 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336127 0.760026 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER 0.323042 0.74175 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER 0.349134 0.735575 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324595 0.737534 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339233 0.751594 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172546 0.643951 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.202787 0.674191 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.219248 0.690652 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223862 0.677807 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206403 0.695267 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198172 0.687036 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.185327 0.691651 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181711 0.670575 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215632 0.669577 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.199171 0.653116 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.220246 0.656732 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.663122 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.261725 0.675225 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.663122 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238562 0.683777 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261725 0.675225 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238562 0.683777 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244096 0.663122 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267259 0.65457 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249631 0.642468 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.249631 0.642468 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.715501 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.203821 0.733129 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212373 0.709966 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.715501 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183166 0.738664 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171063 0.721035 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171063 0.721035 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203821 0.733129 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191718 0.715501 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212373 0.709966 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.131237 0.655019 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.12881 0.668451 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.151296 0.662426 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.137627 0.678869 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108751 0.661044 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.117567 0.671463 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111177 0.647613 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.12242 0.644601 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.124846 0.631169 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144906 0.638576 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.696329 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.115992 0.720665 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135288 0.711449 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.135288 0.711449 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100872 0.705544 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.696329 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.105047 0.681209 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100872 0.705544 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.105047 0.681209 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120168 0.696329 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.624779 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0796777 0.626446 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.624779 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0954616 0.645433 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0796777 0.626446 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0954616 0.645433 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100996 0.624779 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0852121 0.605791 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10653 0.604124 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10653 0.604124 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183615 0.602641 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.197046 0.600215 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207465 0.609032 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191021 0.622701 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173196 0.593824 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167171 0.61631 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159765 0.596251 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.18964 0.580155 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.176209 0.582581 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200059 0.588972 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.5724 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.155041 0.551082 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174029 0.566866 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.5724 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.134387 0.556617 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13272 0.577935 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13272 0.577935 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.155041 0.551082 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153374 0.5724 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174029 0.566866 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.591572 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.24926 0.587397 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240045 0.606693 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240045 0.606693 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23414 0.572277 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.591572 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209804 0.576452 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23414 0.572277 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.209804 0.576452 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224924 0.591572 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.358439 0.594141 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.428945 0.613592 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.448155 0.626191 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.43276 0.614455 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42519 0.634643 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44434 0.625328 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.421375 0.63378 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42513 0.612729 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.45191 0.60514 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4327 0.592541 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436515 0.593404 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399007 0.621614 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399844 0.625435 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38905 0.60511 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378352 0.627149 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409801 0.641939 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388308 0.643653 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408963 0.638118 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420499 0.619901 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419661 0.61608 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409705 0.599576 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.389713 0.68332 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369058 0.688854 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356956 0.671225 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389713 0.68332 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37761 0.665691 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.398265 0.660156 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388377 0.586119 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.405974 0.594185 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410332 0.593017 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.394768 0.609969 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384019 0.587286 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372813 0.60307 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366422 0.57922 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399584 0.570335 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.381987 0.562269 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403942 0.569167 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337042 0.638217 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.341809 0.659244 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.360383 0.645657 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345471 0.65787 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318468 0.651804 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32213 0.65043 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.313702 0.630777 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33338 0.639592 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328614 0.618565 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351955 0.626005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317871 0.566667 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.314012 0.567308 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336891 0.569787 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320398 0.587901 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294991 0.564188 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301377 0.584781 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29885 0.563547 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.311485 0.546074 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315344 0.545434 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334364 0.548554 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.409774 0.542042 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.433888 0.53788 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426423 0.55574 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423551 0.558395 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.417238 0.524182 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.406901 0.544697 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393124 0.528344 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.42011 0.521526 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.395996 0.525689 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.412646 0.539387 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340934 0.501272 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.320279 0.506807 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318612 0.528125 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340934 0.501272 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.339267 0.522591 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359921 0.517056 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379835 0.550064 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.399304 0.540802 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400119 0.563801 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400489 0.54453 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37902 0.527065 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.380205 0.530793 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.359551 0.536327 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37865 0.546337 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.35918 0.555599 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379464 0.569335 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.371785 0.0996195 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER -0.393621 0.220501 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER -0.368601 0.279642 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.354293 0.299716 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER -0.347717 0.279022 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366989 0.292196 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375177 0.300337 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.387873 0.292817 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389485 0.280263 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355904 0.287162 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.370213 0.267088 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349329 0.266468 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER -0.321889 0.238665 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.304702 0.250544 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32307 0.238717 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327715 0.259421 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.30352 0.250492 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.326533 0.259369 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320707 0.238612 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298875 0.229788 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316063 0.217908 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317244 0.21796 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER -0.372464 0.281062 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.362978 0.289441 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER -0.35549 0.267771 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378255 0.270044 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379952 0.302733 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.395229 0.283335 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389438 0.294353 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357187 0.30046 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366673 0.29208 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349699 0.278789 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440333 0.261479 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.443285 0.282991 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.421181 0.271991 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4302 0.282046 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462437 0.27248 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER -0.449353 0.271534 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459485 0.250967 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453417 0.262424 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.450466 0.240911 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431313 0.251423 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.444196 0.262898 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.449273 0.285685 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436139 0.282528 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER -0.426189 0.27701 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45733 0.266055 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434246 0.257381 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452254 0.243269 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46728 0.271573 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462204 0.248787 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.454146 0.268416 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER -0.465353 0.202338 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.486123 0.204606 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464339 0.202946 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470107 0.223366 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.487137 0.203998 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471122 0.222757 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466367 0.201729 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.481368 0.183578 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.460599 0.18131 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459584 0.181918 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389758 0.219082 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER -0.378635 0.228779 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER -0.365937 0.225483 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383364 0.24293 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.402455 0.222377 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407185 0.236529 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER -0.413578 0.21268 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385029 0.20493 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396152 0.195233 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER -0.372331 0.201634 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414778 0.15994 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER -0.412573 0.147477 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39322 0.15977 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER -0.412448 0.172167 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434131 0.147647 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434006 0.172338 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436336 0.16011 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414903 0.13525 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.417108 0.147713 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39555 0.147543 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343046 0.178104 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER -0.319723 0.177083 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.325124 0.189464 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.332294 0.198298 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337645 0.165722 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER -0.350216 0.186938 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360967 0.166743 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330475 0.156889 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353797 0.157909 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335876 0.16927 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191247 0.166275 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.130089 0.20793 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.115471 0.221102 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.126388 0.200597 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13987 0.220766 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119172 0.228435 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143571 0.228099 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13379 0.215264 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10569 0.208266 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120308 0.195095 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116607 0.187762 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154295 0.172673 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.15554 0.180792 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER -0.17557 0.171251 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166926 0.19323 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134265 0.182215 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.145651 0.194652 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER -0.133019 0.174096 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.142909 0.160236 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141663 0.152117 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.162939 0.150694 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192135 0.230419 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.18209 0.243049 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168159 0.227721 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.185251 0.218634 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER -0.206066 0.245747 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209227 0.221332 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216111 0.233117 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188974 0.254834 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.199019 0.242204 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER -0.175043 0.239506 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.167041 0.201532 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.151829 0.219088 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14514 0.205084 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163068 0.221861 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173729 0.215537 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.184969 0.218309 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188942 0.197981 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155801 0.19876 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171014 0.181204 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149113 0.184756 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.229087 0.224021 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.22829 0.248268 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207937 0.234532 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216949 0.2391 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.249439 0.237756 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238098 0.228589 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.250236 0.213509 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240428 0.233189 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241225 0.208942 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220075 0.219453 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228199 0.159877 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.229756 0.167942 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207683 0.16569 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223214 0.183484 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.250271 0.162129 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.243729 0.177671 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248714 0.154064 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER -0.234741 0.144336 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233184 0.13627 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212668 0.142084 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER -0.129201 0.143787 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.105335 0.14887 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115741 0.153943 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121723 0.167242 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER -0.118795 0.138714 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135183 0.157086 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER -0.142661 0.13363 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.112813 0.125414 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.136679 0.120331 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.123219 0.130487 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER -0.190359 0.102131 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.179968 0.0897843 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166467 0.105492 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.183804 0.114103 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER -0.20386 0.0864233 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207696 0.110742 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER -0.214251 0.0987702 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.186523 0.0778128 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196914 0.0901597 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173022 0.0935207 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153407 0.108529 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.130858 0.0995811 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135326 0.123725 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134736 0.113639 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER -0.148938 0.0843858 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.152816 0.0984435 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171487 0.0933338 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149528 0.0944715 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172078 0.10342 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153997 0.118615 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31427 0.31427 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.277961 0.367156 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.269898 0.374298 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER -0.270045 0.350338 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.291334 0.362218 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277815 0.391115 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299251 0.379036 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.285878 0.383973 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER -0.256525 0.379235 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.264588 0.372093 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER -0.256671 0.355276 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.252306 0.297666 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.235688 0.305995 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259438 0.312359 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245915 0.321516 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228556 0.291303 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238783 0.306824 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245173 0.282974 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.242079 0.282145 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.258696 0.273816 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265828 0.288509 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31427 0.31427 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.32435 0.32435 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33812 0.32066 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32066 0.33812 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3005 0.317959 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29681 0.331729 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29042 0.307879 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317959 0.3005 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307879 0.29042 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331729 0.29681 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339925 0.383759 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.334762 0.407156 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31686 0.392275 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.326552 0.388696 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357827 0.39864 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349618 0.380181 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362991 0.375243 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348135 0.402218 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353299 0.378821 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330233 0.387337 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376234 0.330873 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.393346 0.348239 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383366 0.345565 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369843 0.354723 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386213 0.333547 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362711 0.340031 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369102 0.316181 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399736 0.324389 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382624 0.307023 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389757 0.321715 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376234 0.330873 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.386461 0.346394 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362711 0.340031 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369843 0.354723 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399983 0.337237 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383366 0.345565 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389757 0.321715 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392851 0.322544 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382624 0.307023 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369102 0.316181 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277961 0.367156 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.261966 0.385852 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259422 0.36581 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER -0.278159 0.38141 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER -0.280504 0.387198 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296698 0.382755 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER -0.2965 0.368501 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.261768 0.371598 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277764 0.352901 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259225 0.351556 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31427 0.31427 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.304189 0.32435 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29042 0.32066 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307879 0.33812 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328039 0.317959 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331729 0.331729 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33812 0.307879 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.31058 0.3005 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32066 0.29042 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29681 0.29681 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.252306 0.297666 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.228803 0.30415 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238783 0.306824 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245915 0.321516 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.242326 0.294992 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259438 0.312359 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265828 0.288509 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.235194 0.2803 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.258696 0.273816 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245173 0.282974 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574159 0.153845 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER -0.612768 0.202534 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER -0.612732 0.225282 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591695 0.212428 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60221 0.22113 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633805 0.215388 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623283 0.211236 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER -0.63384 0.192641 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62329 0.206686 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623325 0.183939 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602253 0.193832 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543919 0.184086 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER -0.527458 0.200547 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522843 0.187702 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.540303 0.205161 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548533 0.196931 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561378 0.201546 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.564994 0.18047 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531074 0.179472 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.547535 0.163011 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.526459 0.166627 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.542885 0.243024 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534333 0.219861 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563539 0.248559 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575642 0.23093 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575642 0.23093 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542885 0.243024 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534333 0.219861 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643008 0.172294 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER -0.660425 0.189742 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645434 0.185725 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636618 0.196144 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657999 0.17631 0.57904 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634191 0.182712 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640582 0.158862 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666816 0.165892 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649399 0.148444 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651825 0.161875 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER -0.585228 0.195155 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER -0.574809 0.203972 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561378 0.201546 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.568784 0.181486 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598659 0.197581 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.592634 0.175095 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609078 0.188764 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591253 0.217641 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601672 0.208824 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577822 0.215215 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6044 0.123605 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER -0.620861 0.107144 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608016 0.102529 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625475 0.119989 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617245 0.128219 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621859 0.141064 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600784 0.14468 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599785 0.11076 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583324 0.127221 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58694 0.106145 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631939 0.130984 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER -0.643128 0.132649 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618482 0.133263 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631785 0.152367 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656585 0.130371 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645242 0.150088 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645397 0.128706 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643283 0.111266 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632094 0.109601 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618637 0.11188 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.591664 0.0609772 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572676 0.076761 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612319 0.0665116 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613986 0.0878298 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613986 0.0878298 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591664 0.0609772 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572676 0.076761 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56309 0.112536 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549659 0.11011 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53924 0.118927 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555684 0.132596 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.573509 0.103719 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579534 0.126205 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58694 0.106145 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557065 0.09005 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570497 0.0924762 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.546646 0.0988668 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.494808 0.247614 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER -0.494287 0.313607 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.484182 0.326876 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470513 0.310432 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.488171 0.302705 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507957 0.330051 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511946 0.305881 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.518062 0.316783 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490299 0.337778 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500404 0.324509 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476629 0.321334 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452978 0.302539 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.436971 0.320401 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436675 0.29902 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER -0.455413 0.3148 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453274 0.32392 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471717 0.318318 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469281 0.306057 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434535 0.30814 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER -0.450543 0.290278 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434239 0.286759 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434629 0.269833 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.426389 0.279233 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.445377 0.263449 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448298 0.286276 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415641 0.285616 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER -0.43755 0.29266 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42388 0.276216 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41272 0.262789 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420959 0.253389 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431707 0.247006 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536117 0.258683 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549787 0.275127 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549787 0.275127 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529727 0.282533 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536117 0.258683 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.516058 0.266089 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522448 0.242239 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556177 0.251277 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542508 0.234833 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556177 0.251277 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476459 0.214908 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER -0.457868 0.209819 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER -0.458164 0.2312 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453963 0.210053 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476163 0.193527 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER -0.472258 0.193761 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.494753 0.198616 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER -0.480363 0.214674 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER -0.498954 0.219763 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.480659 0.236055 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536638 0.19269 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549603 0.17251 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528912 0.177908 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549105 0.191778 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557329 0.187292 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556831 0.20656 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544363 0.207471 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.537136 0.173421 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.524171 0.193601 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.516445 0.178819 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554467 0.291389 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER -0.562288 0.314604 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542501 0.306499 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541186 0.310183 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574255 0.299494 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.553152 0.295073 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566433 0.276279 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575569 0.29581 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567748 0.272595 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555781 0.287705 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554987 0.225396 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.567359 0.227186 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54267 0.227528 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555283 0.246777 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579676 0.225054 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567601 0.244644 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567305 0.223263 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567063 0.205805 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554691 0.204014 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542374 0.206147 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.513157 0.28032 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER -0.507811 0.298839 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.489718 0.287442 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505577 0.302049 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531251 0.291716 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529016 0.294927 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536597 0.273198 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515392 0.27711 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER -0.520738 0.258591 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497299 0.265714 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER -0.552323 0.0329639 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER -0.625877 0.0248832 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER -0.646362 0.0316054 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625173 0.0287309 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627981 0.0478 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647066 0.0277577 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628685 0.0439523 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62658 0.0210355 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644258 0.00868865 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623773 0.00196644 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623069 0.00581415 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.584567 0.0138144 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER -0.584898 0.0177119 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56353 0.0185345 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER -0.580268 0.0364224 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.605935 0.0129918 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601305 0.0317022 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.605605 0.00909422 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER -0.589197 -0.00489609 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.588867 -0.00879364 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567829 -0.00407348 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593331 0.0822954 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.593994 0.105299 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572783 0.0926585 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582384 0.100664 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.614541 0.0949359 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602932 0.090301 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613879 0.0719323 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604941 0.0869303 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604278 0.0639267 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58373 0.0742898 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593633 0.0440327 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER -0.607302 0.0604766 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607302 0.0604766 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587242 0.0678827 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593633 0.0440327 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER -0.573573 0.0514389 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579964 0.0275889 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613693 0.0366265 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600023 0.0201827 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613693 0.0366265 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561087 0.101445 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER -0.551884 0.118381 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536664 0.103361 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550745 0.0944221 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576307 0.116465 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575168 0.0925065 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58551 0.0995293 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562225 0.125404 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571428 0.108468 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER -0.547006 0.110383 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER -0.520079 0.0521134 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER -0.523344 0.0542684 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534291 0.0358996 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541988 0.0591566 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509132 0.0704822 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER -0.527777 0.0753703 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505868 0.0683272 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.501435 0.0472252 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49817 0.0450702 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.512382 0.0288565 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER -0.584869 -0.0244483 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.5935 -0.0473753 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57344 -0.0399691 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.595617 -0.0308315 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604929 -0.0318545 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607046 -0.0153107 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.596298 -0.00892756 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582752 -0.0409921 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574121 -0.0180651 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562692 -0.0335859 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511316 -0.0163676 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.48882 -0.0212225 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497372 0.00194055 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491256 -0.00896145 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502764 -0.0395307 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505199 -0.0272696 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER -0.525259 -0.0346758 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER -0.50888 -0.0286287 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531375 -0.0237738 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517432 -0.00546563 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54356 -0.0355172 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.530389 -0.0495897 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER -0.519442 -0.031221 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53532 -0.0261165 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554507 -0.0538859 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER -0.559438 -0.0304127 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER -0.567678 -0.0398133 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538628 -0.0589904 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.551799 -0.0449178 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER -0.527681 -0.0406217 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER -0.451136 0.0058509 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER -0.447081 0.0051487 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER -0.435909 0.01504 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423265 0.0115452 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440694 0.0289993 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459725 0.00864346 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46451 0.0226028 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470897 -0.0012478 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER -0.442297 -0.00881065 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER -0.453468 -0.0187019 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.429652 -0.0123054 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386138 0.0172804 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER -0.364644 0.0293677 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375512 0.0213457 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385352 0.0401449 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37527 0.0253024 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER -0.395978 0.0360796 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396764 0.0132151 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER -0.36543 0.0065032 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386924 -0.00558411 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376298 -0.00151881 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.439178 0.0688765 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER -0.426942 0.0903221 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.416328 0.0699989 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435083 0.0806307 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER -0.449792 0.0891998 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.457933 0.0795084 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462029 0.0677542 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431037 0.078568 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER -0.443274 0.0571224 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420423 0.0582447 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER -0.512079 -0.00628079 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.523883 -0.000557006 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49924 -0.00208214 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.51057 0.0165974 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536722 -0.00475566 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523409 0.0123987 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER -0.524918 -0.0104794 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.525392 -0.0234352 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.513588 -0.029159 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500749 -0.0249603 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504176 0.0574471 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.508666 0.0817008 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER -0.488971 0.0722467 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.489545 0.0732807 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523872 0.0669012 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504751 0.058481 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.519382 0.0426474 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523298 0.0658672 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER -0.518808 0.0416134 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.503602 0.0564131 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.516134 -0.00557859 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.540463 -0.00154892 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.52751 -0.00538221 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER -0.524673 0.0156462 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529087 -0.00174531 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.513298 0.0154498 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504759 -0.00577498 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531924 -0.0227737 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507596 -0.0268034 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER -0.518971 -0.026607 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459039 -0.0578769 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.451803 -0.0707378 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435761 -0.0561039 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER -0.454158 -0.0461991 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER -0.475081 -0.0725109 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477435 -0.0479721 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.482316 -0.05965 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER -0.456685 -0.0824157 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46392 -0.0695548 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440643 -0.0677817 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER -0.463094 -0.0571747 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.459563 -0.081612 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.442243 -0.0665888 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.463589 -0.0696122 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER -0.480415 -0.0721979 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.48444 -0.0601982 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER -0.483946 -0.0477607 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459069 -0.0691745 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4626 -0.0447373 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.441749 -0.0541513 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398096 -0.0457452 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.373728 -0.0495643 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383722 -0.030137 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382672 -0.0306825 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388102 -0.0651725 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.397047 -0.0462908 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41247 -0.0613535 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389151 -0.064627 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41352 -0.060808 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399146 -0.0451997 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.424299 -0.178985 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.412497 -0.190929 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400273 -0.174844 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.417001 -0.16674 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436523 -0.195071 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER -0.441027 -0.170881 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448325 -0.183127 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419795 -0.203175 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431597 -0.191231 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407571 -0.18709 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367336 -0.131634 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.343834 -0.12515 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353814 -0.122476 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360946 -0.107784 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357357 -0.134308 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374468 -0.116942 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380859 -0.140792 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.350225 -0.149 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.373727 -0.155484 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360204 -0.146326 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.41922 -0.10495 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40545 -0.10864 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42291 -0.0911807 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44307 -0.111341 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44676 -0.0975713 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45315 -0.121421 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425611 -0.128801 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435691 -0.138881 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.411841 -0.13249 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.486264 -0.162382 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.502603 -0.174264 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.479659 -0.170327 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER -0.495376 -0.15142 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509207 -0.166319 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER -0.501981 -0.143475 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.492868 -0.154437 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49349 -0.185226 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477151 -0.173345 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470546 -0.18129 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491265 -0.0984274 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.501491 -0.082906 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477742 -0.0892696 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484874 -0.0745774 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515014 -0.0920638 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER -0.498397 -0.0837352 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504787 -0.107585 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507882 -0.106756 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497655 -0.122277 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484132 -0.11312 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491265 -0.0984274 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.508376 -0.0810612 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.498397 -0.0837352 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484874 -0.0745774 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.501244 -0.0957534 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477742 -0.0892696 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484132 -0.11312 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.514767 -0.104911 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.497655 -0.122277 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504787 -0.107585 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.424299 -0.178985 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.411775 -0.200165 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399922 -0.179342 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415187 -0.189948 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436152 -0.199808 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.439564 -0.189591 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448677 -0.178629 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420888 -0.189202 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER -0.433412 -0.168023 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409035 -0.168379 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4293 -0.115031 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.439381 -0.10495 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45315 -0.10864 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.435691 -0.0911807 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415531 -0.111341 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.411841 -0.0975713 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40545 -0.121421 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.43299 -0.128801 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42291 -0.138881 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44676 -0.13249 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367336 -0.131634 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.350719 -0.123305 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374468 -0.116942 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360946 -0.107784 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343587 -0.137998 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353814 -0.122476 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360204 -0.146326 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357109 -0.147155 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.373727 -0.155484 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380859 -0.140792 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248762 -0.0483751 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.183785 -0.0599222 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.160406 -0.0522053 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171954 -0.0513956 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178533 -0.0358698 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172236 -0.0607319 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER -0.190363 -0.0443964 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195615 -0.0684488 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165658 -0.0762577 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189036 -0.0839747 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177206 -0.075448 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER -0.187119 -0.0172857 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.176731 -0.00705049 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192673 -0.025725 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200733 -0.00352517 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171177 0.00138875 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195179 0.00491406 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER -0.181564 -0.00884647 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163117 -0.020811 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173504 -0.0310463 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179058 -0.0394855 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215921 0.00673113 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.20044 0.0258737 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196602 0.00551963 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215612 0.0203763 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER -0.21976 0.0270852 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.234932 0.0215878 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.235241 0.00794264 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200749 0.0122285 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER -0.21623 -0.00691403 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196911 -0.00812553 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245428 -0.0910116 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.234308 -0.0942304 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.221514 -0.0854464 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238704 -0.0714204 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER -0.258223 -0.0997955 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.262619 -0.0769856 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.269343 -0.0965768 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241032 -0.113822 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.252152 -0.110603 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228237 -0.105038 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277564 -0.0243582 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.275459 -0.0076281 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER -0.255218 -0.0167139 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER -0.270078 -0.00142185 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER -0.297806 -0.0152725 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.292425 -0.00906621 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299911 -0.0320026 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282946 -0.0305645 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.285051 -0.0472946 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.262704 -0.0396503 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER -0.310405 -0.0794645 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.324811 -0.0817333 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.300317 -0.0800146 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.313378 -0.0603366 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER -0.334899 -0.0811832 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER -0.323466 -0.0597864 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320493 -0.0789143 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.321838 -0.100861 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307433 -0.0985923 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.297345 -0.0991425 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216626 -0.115028 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.195663 -0.127519 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194866 -0.104303 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER -0.201738 -0.108803 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER -0.217423 -0.138245 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223497 -0.119529 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238386 -0.125754 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210551 -0.133744 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.231514 -0.121254 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209754 -0.110528 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.281603 -0.103481 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.291073 -0.126206 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.271345 -0.119897 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293457 -0.110246 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER -0.301332 -0.10979 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.303716 -0.0938302 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER -0.291862 -0.0870656 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.279219 -0.119442 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.269749 -0.0967168 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER -0.25949 -0.113132 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.21996 -0.0723919 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.20388 -0.0673141 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216456 -0.0490355 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER -0.198742 -0.0609052 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207384 -0.0906706 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.202246 -0.0842617 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223463 -0.0957484 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225098 -0.0788008 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241177 -0.0838786 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.237674 -0.0605222 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471405 0.471405 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.508983 0.690426 8.51251e-17 RAD 0.0555556
- txt002
- SPHERE CENTER -0.484794 0.755941 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.47411 0.767658 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.467528 0.744501 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER -0.489758 0.749038 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491377 0.779098 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507025 0.760478 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502061 0.767382 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469146 0.774562 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER -0.47983 0.762845 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462564 0.751405 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436283 0.7029 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.418941 0.714226 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.43889 0.704751 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44101 0.724842 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.416335 0.712374 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.438403 0.722991 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.433677 0.701048 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414215 0.692283 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431557 0.680957 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434163 0.682808 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.478434 0.695668 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.481931 0.703418 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500827 0.694124 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491475 0.716184 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.459538 0.704962 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469082 0.717727 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.456041 0.697211 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46889 0.682902 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.465393 0.675152 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.487786 0.673608 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557494 0.743468 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.560084 0.767402 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543179 0.760285 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53997 0.755145 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574398 0.750585 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554284 0.738328 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571808 0.726651 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577608 0.755725 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575017 0.731791 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER -0.560703 0.748608 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER -0.551134 0.683194 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.573364 0.687731 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571303 0.682033 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56324 0.703871 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.553195 0.688893 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543071 0.705033 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530964 0.684356 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561258 0.667055 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539027 0.662518 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.559196 0.661356 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.581682 0.677953 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.601808 0.682851 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579842 0.680568 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58454 0.700216 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603648 0.680237 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58638 0.697602 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583522 0.675339 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59895 0.660588 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.578824 0.65569 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576984 0.658304 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515343 0.7507 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.506594 0.773394 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER -0.491321 0.755462 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507924 0.764807 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530616 0.768632 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531946 0.760045 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539365 0.745938 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.514012 0.759287 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522762 0.736593 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.49874 0.741355 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539531 0.685185 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.538818 0.693658 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517905 0.691194 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534075 0.708875 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.560445 0.687649 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555702 0.702866 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561158 0.679176 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544274 0.669969 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544988 0.661495 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523361 0.667505 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466832 0.697658 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.447385 0.709346 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.447429 0.703286 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.46231 0.721188 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466788 0.703718 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.481713 0.71556 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.486235 0.692031 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.451907 0.685816 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471354 0.674129 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.451951 0.679757 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335322 0.607487 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.283164 0.659645 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.269894 0.672915 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.275822 0.649528 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293281 0.666987 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277236 0.683032 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.300624 0.677104 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.290507 0.669762 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.259777 0.665573 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273047 0.652302 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265705 0.642185 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.286452 0.603979 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.279361 0.614273 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.303327 0.613293 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.288206 0.628413 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.262487 0.604959 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.271332 0.619099 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.269578 0.594664 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.277607 0.589839 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.284698 0.579544 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.301572 0.588858 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33883 0.656357 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.328536 0.663448 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314396 0.654603 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.329516 0.639482 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.35297 0.665202 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353951 0.641237 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.363265 0.658111 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33785 0.680322 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348145 0.673232 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32371 0.671477 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.332034 0.663153 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.321274 0.684748 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.308341 0.666888 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.326131 0.678752 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.344967 0.681014 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.349824 0.675018 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355727 0.659419 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327177 0.669149 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337937 0.647554 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314244 0.651289 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.391875 0.684201 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384191 0.610996 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.389739 0.622198 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366159 0.617804 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378964 0.63493 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407771 0.61539 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396997 0.628121 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.402224 0.604188 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.394966 0.598265 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.389418 0.587062 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.371386 0.593871 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.279656 0.610775 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.258061 0.621535 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.264057 0.616678 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.275921 0.634468 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.27366 0.615632 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29152 0.628565 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.295255 0.604872 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.261795 0.597842 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.28339 0.587082 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267791 0.592985 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331813 0.558618 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.320611 0.55307 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.30788 0.563845 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.325005 0.57665 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.344544 0.547843 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348938 0.571423 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355747 0.553391 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327419 0.535038 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338621 0.540585 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314688 0.545813 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.258608 0.550934 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335322 0.607487 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.313405 0.629404 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.316595 0.626214 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318408 0.606941 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.335868 0.624401 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.311592 0.648676 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330864 0.646863 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.308402 0.651867 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.294133 0.631217 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.290942 0.634407 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.295946 0.611945 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331813 0.558618 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.319608 0.539107 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307378 0.556863 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.322499 0.541743 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.344043 0.540862 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.346933 0.543497 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356248 0.560372 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328923 0.555982 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.341128 0.575492 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316693 0.573738 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384191 0.610996 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.403702 0.623201 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401066 0.62031 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385946 0.635431 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386827 0.613886 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.369071 0.626116 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367317 0.601681 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401947 0.598766 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382437 0.586561 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399312 0.595876 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316914 0.678274 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.305407 0.69384 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296616 0.671002 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317721 0.674446 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.325704 0.701111 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338018 0.681717 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337211 0.685545 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3046 0.697667 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316107 0.682101 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.295809 0.67483 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.391875 0.684201 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37258 0.674986 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406996 0.669081 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40282 0.644745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.3877 0.659866 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.33883 0.656357 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.329538 0.677411 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314897 0.661584 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.332022 0.674389 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.353472 0.672184 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.355956 0.669162 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362764 0.65113 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.336346 0.659378 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.345639 0.638325 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.321705 0.643552 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.264535 0.625895 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.248969 0.637402 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.268363 0.625088 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.271807 0.646193 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.245142 0.638209 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267979 0.647 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.260708 0.626702 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.241698 0.617105 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.257264 0.605598 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.261092 0.604791 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.286452 0.603979 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.265398 0.613271 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.26842 0.610787 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.281225 0.627912 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.283431 0.606463 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299257 0.621104 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.304484 0.59717 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.270625 0.589337 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.291679 0.580045 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273647 0.586853 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.258608 0.550934 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.267823 0.570229 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.273728 0.535813 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.298064 0.539989 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.282943 0.555109 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645066 0.554344 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.681385 0.616373 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.678928 0.639472 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661636 0.629767 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER -0.664108 0.621631 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698678 0.626079 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683858 0.608237 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701135 0.602979 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696205 0.634214 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698662 0.611115 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678912 0.624508 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649723 0.609912 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.640648 0.631982 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625749 0.614812 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64267 0.62585 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER -0.664623 0.627081 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666645 0.620949 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673698 0.605012 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647702 0.616044 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656777 0.593974 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632802 0.598874 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607573 0.617144 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.595495 0.63057 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594239 0.605919 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615286 0.617371 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608828 0.641795 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628619 0.628595 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER -0.620906 0.628369 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587782 0.630343 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59986 0.616917 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586526 0.605692 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.676727 0.560805 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.689897 0.57563 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693998 0.575587 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673115 0.585222 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.672626 0.560848 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655844 0.57044 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659456 0.546023 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693509 0.551213 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680339 0.536388 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69761 0.55117 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602915 0.561576 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.602201 0.570049 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623084 0.560414 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615021 0.582252 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582032 0.571211 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594852 0.583414 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582745 0.562738 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER -0.590095 0.549372 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER -0.590808 0.540899 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610978 0.539737 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640408 0.498776 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.627785 0.478525 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615951 0.497935 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630799 0.484234 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER -0.652241 0.479365 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655255 0.485075 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.664864 0.499616 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637394 0.493066 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.650016 0.513317 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62556 0.512476 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718878 0.553573 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.73992 0.563328 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.720935 0.559693 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719679 0.577348 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737863 0.557208 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717623 0.571228 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.716821 0.547453 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739118 0.539553 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718076 0.529798 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.720133 0.535918 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682558 0.491544 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.688647 0.474542 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666351 0.485132 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER -0.686417 0.498226 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.704854 0.480953 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER -0.702624 0.504637 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698765 0.497955 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.684788 0.46786 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678699 0.484862 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER -0.662492 0.47845 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687216 0.547112 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.690713 0.554862 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.667813 0.552739 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682694 0.570641 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER -0.710116 0.549235 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.702097 0.565014 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.706619 0.541484 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER -0.695235 0.531333 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691738 0.523582 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER -0.672335 0.52921 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471405 0.471405 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.501645 0.501645 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.499795 0.519956 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.493653 0.523893 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.479397 0.509638 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507788 0.497708 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.48739 0.48739 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509638 0.479397 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522043 0.511963 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523893 0.493653 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515901 0.515901 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.490576 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.559233 0.507719 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539759 0.502501 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536564 0.514426 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562428 0.495794 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539759 0.502501 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54615 0.478651 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.565623 0.483869 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549345 0.466726 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54615 0.478651 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.542955 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.483869 0.565623 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.466726 0.549345 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.478651 0.54615 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.507719 0.559233 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502501 0.539759 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.514426 0.536564 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.495794 0.562428 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.502501 0.539759 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.478651 0.54615 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.430095 0.482473 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.430434 0.489762 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.449569 0.477255 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.445366 0.500519 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.41096 0.49498 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425893 0.505737 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410622 0.487691 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.415162 0.471716 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.414824 0.464428 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434297 0.45921 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.523783 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.404771 0.538038 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410297 0.515053 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427756 0.532513 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4135 0.546768 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436486 0.541242 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427756 0.532513 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396041 0.529309 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410297 0.515053 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401567 0.506323 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.452233 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.377186 0.45894 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396659 0.464158 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.393464 0.476083 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380381 0.447015 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396659 0.464158 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40305 0.440308 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383576 0.43509 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406245 0.428383 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40305 0.440308 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.482473 0.430095 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.48121 0.407271 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464428 0.414824 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.487691 0.410622 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499256 0.422542 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.505737 0.425893 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.500519 0.445366 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.475992 0.426744 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.477255 0.449569 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45921 0.434297 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.399854 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.43509 0.383576 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428383 0.406245 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440308 0.40305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45894 0.377186 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464158 0.396659 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.476083 0.393464 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.447015 0.380381 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.464158 0.396659 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.440308 0.40305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.419026 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.538038 0.404771 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515053 0.410297 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.532513 0.427756 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.546768 0.4135 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541242 0.436486 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.532513 0.427756 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529309 0.396041 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.515053 0.410297 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.506323 0.401567 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607487 0.335322 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.659645 0.283164 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.672915 0.269894 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649528 0.275822 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666987 0.293281 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683032 0.277236 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.677104 0.300624 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669762 0.290507 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665573 0.259777 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.652302 0.273047 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642185 0.265705 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603979 0.286452 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.592776 0.280905 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.580045 0.291679 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59717 0.304484 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.61671 0.275678 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621104 0.299257 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627912 0.281225 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599585 0.262872 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610787 0.26842 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586853 0.273647 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656357 0.33883 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.661904 0.350033 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638325 0.345639 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65113 0.362764 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679937 0.343224 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669162 0.355956 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674389 0.332022 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.667131 0.326099 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661584 0.314897 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643552 0.321705 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663153 0.332034 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.685865 0.340177 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679339 0.33606 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669651 0.355123 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669679 0.336151 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.653465 0.351097 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.646968 0.328008 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679367 0.317089 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656656 0.308945 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.672841 0.312971 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.664041 0.412036 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610996 0.384191 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.600701 0.391282 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586561 0.382437 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601681 0.367317 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625136 0.393037 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626116 0.369071 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.635431 0.385946 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610016 0.408157 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62031 0.401066 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.595876 0.399312 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610775 0.279656 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.602632 0.256944 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587686 0.273158 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606749 0.26347 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62572 0.263442 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.629838 0.269968 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633864 0.286153 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606658 0.27313 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.614801 0.295841 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591712 0.289344 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558618 0.331813 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.551527 0.342108 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575492 0.341128 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.560372 0.356248 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534652 0.332793 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543497 0.346933 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.541743 0.322499 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549772 0.317673 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556863 0.307378 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.573738 0.316693 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.530773 0.278768 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645066 0.554344 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.668521 0.610229 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.663938 0.633406 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64522 0.617928 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65892 0.626429 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687239 0.625707 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682221 0.61873 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691822 0.602531 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673539 0.617206 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678123 0.59403 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.654822 0.601728 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598918 0.585648 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.580238 0.601562 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER -0.581665 0.587563 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.59781 0.605914 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER -0.597491 0.599646 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER -0.615063 0.603999 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616171 0.583732 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.581346 0.581295 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600026 0.565381 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582773 0.567297 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619787 0.622977 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.608008 0.63767 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601637 0.613891 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER -0.623239 0.620102 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626157 0.646756 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.641389 0.629188 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637936 0.632063 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604555 0.640545 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616334 0.625852 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598184 0.616766 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.714669 0.578925 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.729812 0.597914 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711617 0.592661 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70632 0.602084 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732864 0.584178 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.709372 0.588348 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.71772 0.565189 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER -0.738161 0.574755 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER -0.723017 0.555767 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719965 0.569503 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665934 0.591673 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.658095 0.605761 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647455 0.607672 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643855 0.58746 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.676573 0.589763 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER -0.662334 0.571461 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER -0.684413 0.575674 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680174 0.609975 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.688013 0.595887 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669535 0.611885 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691213 0.52304 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.712906 0.511567 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.699372 0.507717 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.710453 0.529503 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.704747 0.526889 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER -0.702295 0.544826 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683054 0.538362 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693665 0.505104 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671972 0.516576 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680131 0.501254 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6938 0.541596 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.70016 0.547376 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER -0.676324 0.546319 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690564 0.564621 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717636 0.542652 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70804 0.559898 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711276 0.536873 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER -0.703396 0.524351 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER -0.697037 0.518571 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679561 0.523294 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER -0.670344 0.48571 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.67091 0.466887 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER -0.650637 0.480853 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671107 0.490138 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690617 0.471745 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690815 0.494995 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER -0.690052 0.490567 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.670147 0.46246 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669581 0.481283 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649874 0.476425 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624197 0.517014 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.60809 0.516313 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60089 0.524375 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616221 0.538029 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631397 0.508952 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639529 0.530668 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647504 0.509653 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616065 0.495298 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632172 0.495999 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608865 0.50336 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.607487 0.335322 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.629404 0.313405 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.626214 0.316595 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606941 0.318408 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624401 0.335868 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648676 0.311592 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.646863 0.330864 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651867 0.308402 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631217 0.294133 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634407 0.290942 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.611945 0.295946 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558618 0.331813 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.537564 0.341105 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.540585 0.338621 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.553391 0.355747 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555596 0.334297 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.571423 0.348938 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57665 0.325005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542791 0.317172 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563845 0.30788 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545813 0.314688 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610996 0.384191 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.601704 0.405245 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587062 0.389418 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604188 0.402224 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625637 0.400018 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628121 0.396997 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.63493 0.378964 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.608512 0.387213 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617804 0.366159 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593871 0.371386 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678274 0.316914 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.697473 0.31938 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674538 0.318074 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681812 0.338182 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701209 0.31822 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.685547 0.337022 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682009 0.315754 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.693935 0.298112 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674736 0.295646 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671 0.296805 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.664041 0.412036 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644745 0.40282 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.679161 0.396915 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674986 0.37258 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659866 0.3877 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656357 0.33883 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.675867 0.351035 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673232 0.348145 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.658111 0.363265 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.658993 0.341721 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.641237 0.353951 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639482 0.329516 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.674113 0.3266 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.654603 0.314396 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671477 0.32371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625895 0.264535 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.623429 0.245336 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604627 0.260997 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624736 0.268271 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644697 0.248874 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.646004 0.271809 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.647163 0.268073 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624589 0.2416 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627055 0.2608 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.605787 0.257262 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603979 0.286452 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.591774 0.266942 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.579544 0.284698 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594664 0.269578 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616209 0.268696 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619099 0.271332 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.628413 0.288206 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.601088 0.283817 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613293 0.303327 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.588858 0.301572 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.530773 0.278768 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539989 0.298064 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545894 0.263648 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570229 0.267823 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555109 0.282943 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.471405 0.471405 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.441164 0.501645 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.424703 0.518106 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420089 0.505261 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.437548 0.522721 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.445778 0.51449 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.458623 0.519105 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.462239 0.498029 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428319 0.497031 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44478 0.48057 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423704 0.484186 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.490576 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.382226 0.502679 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.490576 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405389 0.511231 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382226 0.502679 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405389 0.511231 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399854 0.490576 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376691 0.482024 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39432 0.469922 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39432 0.469922 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.542955 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.44013 0.560583 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431578 0.53742 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.542955 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.460785 0.566118 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.472887 0.548489 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.472887 0.548489 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.44013 0.560583 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452233 0.542955 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.431578 0.53742 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.512714 0.482473 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.51514 0.495905 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.492654 0.48988 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.506323 0.506323 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5352 0.488498 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.526383 0.498917 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.532774 0.475067 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.521531 0.472055 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.519105 0.458623 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499045 0.46603 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.523783 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.527958 0.548119 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.508662 0.538903 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.508662 0.538903 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543078 0.532998 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.523783 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538903 0.508662 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.543078 0.532998 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538903 0.508662 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.523783 0.523783 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.452233 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.564273 0.4539 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.452233 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548489 0.472887 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.564273 0.4539 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548489 0.472887 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542955 0.452233 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558738 0.433245 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53742 0.431578 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.53742 0.431578 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.460336 0.430095 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.446904 0.427669 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436486 0.436486 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.45293 0.450155 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.470754 0.421278 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.47678 0.443764 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.484186 0.423704 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.454311 0.407609 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.467742 0.410035 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.443892 0.416426 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.399854 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.488909 0.378536 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469922 0.39432 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.399854 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.509564 0.384071 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511231 0.405389 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.511231 0.405389 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.488909 0.378536 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.490576 0.399854 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.469922 0.39432 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.419026 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.39469 0.414851 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403906 0.434147 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403906 0.434147 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409811 0.399731 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.419026 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434147 0.403906 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409811 0.399731 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434147 0.403906 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419026 0.419026 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643951 -0.172546 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.835815 -0.157543 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.871646 -0.122136 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.871334 -0.102403 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER -0.850164 -0.113406 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862937 -0.100577 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.892817 -0.111133 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER -0.884419 -0.109307 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER -0.893129 -0.130866 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880044 -0.123961 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880356 -0.143694 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER -0.858873 -0.134964 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER -0.799077 -0.135649 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.781177 -0.120908 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER -0.778973 -0.13149 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.795477 -0.113462 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.801282 -0.125067 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.815582 -0.11762 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819182 -0.139808 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.784778 -0.143095 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802678 -0.157836 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.782573 -0.153678 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.82339 -0.0854653 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.811594 -0.0654286 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER -0.80102 -0.0876595 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.820516 -0.0820122 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.833964 -0.0632344 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER -0.842886 -0.079818 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.845761 -0.083271 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER -0.814468 -0.0688817 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER -0.826265 -0.0889183 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803895 -0.0911125 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER -0.908384 -0.14403 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.926643 -0.128672 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER -0.90826 -0.133221 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.904034 -0.1198 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER -0.926768 -0.139481 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.904159 -0.130608 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER -0.908508 -0.154838 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.930993 -0.152902 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.912733 -0.16826 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER -0.912609 -0.157451 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860128 -0.107359 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.853284 -0.0905999 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER -0.839638 -0.0940331 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840233 -0.111382 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER -0.873773 -0.103926 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860723 -0.124708 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880618 -0.120685 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER -0.873178 -0.086577 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880022 -0.103336 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.859532 -0.0900102 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.872552 -0.179437 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.894035 -0.188167 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.885777 -0.195141 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER -0.89378 -0.172046 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880811 -0.172463 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER -0.880556 -0.156342 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER -0.859328 -0.163733 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER -0.872807 -0.195558 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER -0.851325 -0.186828 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.864549 -0.202532 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.884071 -0.194213 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.891905 -0.197746 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.867957 -0.193701 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.884286 -0.175383 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.908019 -0.198259 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER -0.900401 -0.175896 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.900186 -0.194726 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER -0.89169 -0.216576 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.883856 -0.213043 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.867741 -0.212531 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER -0.84824 -0.229621 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.843832 -0.25245 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.826426 -0.235043 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.846687 -0.233837 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.865646 -0.247028 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.868501 -0.228415 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER -0.870053 -0.224198 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER -0.845385 -0.248234 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER -0.849792 -0.225404 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.827978 -0.230827 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER -0.811502 -0.207727 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.794108 -0.212743 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER -0.788345 -0.199907 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802328 -0.189621 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.817265 -0.220563 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER -0.825486 -0.197441 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.83466 -0.215547 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803282 -0.230849 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER -0.820676 -0.225832 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER -0.797518 -0.218012 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643951 -0.172546 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.61371 -0.142305 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.597249 -0.125845 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.592635 -0.138689 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.610094 -0.12123 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618324 -0.12946 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631169 -0.124846 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634785 -0.145921 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600865 -0.14692 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617326 -0.163381 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.596251 -0.159765 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.153374 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.554772 -0.141271 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.153374 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577935 -0.13272 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554772 -0.141271 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.577935 -0.13272 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.153374 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549237 -0.161926 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566866 -0.174029 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566866 -0.174029 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.100996 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.612676 -0.0833673 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604124 -0.10653 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.100996 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633331 -0.0778329 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645433 -0.0954616 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645433 -0.0954616 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612676 -0.0833673 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.100996 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604124 -0.10653 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.68526 -0.161477 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.687686 -0.148046 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6652 -0.154071 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678869 -0.137627 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.707746 -0.155452 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.698929 -0.145033 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70532 -0.168883 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.694077 -0.171896 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.691651 -0.185327 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671591 -0.177921 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.120168 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.700504 -0.095832 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681209 -0.105047 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681209 -0.105047 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715624 -0.110952 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.120168 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711449 -0.135288 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715624 -0.110952 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.711449 -0.135288 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.120168 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.191718 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.736819 -0.190051 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.191718 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721035 -0.171063 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.736819 -0.190051 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721035 -0.171063 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.191718 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.731284 -0.210706 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.709966 -0.212373 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.709966 -0.212373 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632882 -0.213855 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.61945 -0.216282 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609032 -0.207465 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.625476 -0.193796 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6433 -0.222672 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649326 -0.200186 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.656732 -0.220246 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626857 -0.236341 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640288 -0.233915 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616438 -0.227525 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.244096 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.661455 -0.265414 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642468 -0.249631 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.244096 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.68211 -0.25988 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683777 -0.238562 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.683777 -0.238562 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661455 -0.265414 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.244096 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642468 -0.249631 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.224924 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.567237 -0.2291 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576452 -0.209804 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.576452 -0.209804 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582357 -0.24422 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.224924 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606693 -0.240045 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582357 -0.24422 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606693 -0.240045 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.224924 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69376 0.0133465 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.674309 0.0838533 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.66171 0.103063 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.653258 0.0800983 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673446 0.0876683 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682761 0.106818 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.694497 0.0914233 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69536 0.0876083 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.662574 0.0992478 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.675172 0.0800382 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.654121 0.0762832 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.604582 0.0446211 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604582 0.0446211 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599047 0.0239663 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666287 0.0539145 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.662466 0.0547519 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660752 0.0332597 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682791 0.0439578 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.668 0.0754066 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.688325 0.0646126 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671821 0.0745692 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645962 0.0647085 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649783 0.0638711 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644249 0.0432164 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.745859 0.0646815 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.750021 0.0887955 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.729506 0.078459 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732161 0.0813312 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.766375 0.075018 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.748514 0.0675537 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.762212 0.050904 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.763719 0.0721458 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759557 0.0480318 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743204 0.0618093 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737837 0.0347427 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.747099 0.0542122 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743371 0.0553974 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.7241 0.0550267 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741565 0.0335575 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718566 0.0343719 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732303 0.014088 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.760836 0.0339282 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.751574 0.0144587 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.757108 0.0351134 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.786629 -0.00415829 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786629 -0.00415829 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.781094 -0.024813 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701782 0.0432853 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.693716 0.0608821 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.677932 0.0496759 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.694884 0.0652402 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717566 0.0544915 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718734 0.0588496 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.725632 0.0368947 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.700615 0.0389272 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.708681 0.0213304 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.684831 0.027721 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721234 -0.0272215 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.720593 -0.0310802 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.7 -0.0246945 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718114 -0.00820099 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741827 -0.0336072 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739347 -0.010728 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.742467 -0.0297485 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.723713 -0.0501007 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.724354 -0.046242 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70312 -0.043715 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649684 -0.00804971 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.628657 -0.00328338 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630031 0.000378614 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642244 0.0152909 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648309 -0.0117117 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661896 0.00686255 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669336 -0.016478 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636097 -0.026624 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657124 -0.0313903 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637471 -0.022962 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.835815 -0.157543 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.899353 -0.119969 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.909872 -0.0977075 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER -0.891613 -0.104052 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER -0.886771 -0.0997803 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.917612 -0.113625 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER -0.894512 -0.115698 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER -0.907093 -0.135886 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.922453 -0.117896 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.911935 -0.140158 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.904194 -0.124241 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.868703 -0.130205 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.867758 -0.11253 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.846864 -0.122142 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860854 -0.107566 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER -0.889596 -0.120593 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.882692 -0.115629 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER -0.890541 -0.138267 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.875606 -0.135168 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.876551 -0.152843 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER -0.854713 -0.14478 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.836885 -0.0844101 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.826973 -0.0627848 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER -0.81296 -0.083104 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER -0.830202 -0.0805529 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER -0.850898 -0.0640908 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER -0.854126 -0.0818589 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.860809 -0.0857161 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER -0.833656 -0.0666419 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER -0.843568 -0.0882673 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819643 -0.0869612 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER -0.866465 -0.147308 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.876203 -0.130609 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.879733 -0.128522 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.857385 -0.124356 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862935 -0.149395 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.844117 -0.143141 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER -0.853198 -0.166093 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.885283 -0.153561 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.875546 -0.170259 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.888813 -0.151474 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803997 -0.111748 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.798532 -0.108311 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.797989 -0.131037 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819589 -0.119537 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER -0.80454 -0.0890219 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER -0.825597 -0.100248 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.810005 -0.0924597 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.78294 -0.100522 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.788405 -0.10396 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER -0.782397 -0.123249 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802927 -0.184881 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.785723 -0.180723 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER -0.798991 -0.161937 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER -0.782104 -0.173028 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER -0.78966 -0.203667 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786041 -0.195972 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER -0.806864 -0.207825 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER -0.806546 -0.192576 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.82375 -0.196734 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819813 -0.17379 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER -0.898283 -0.193102 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.920038 -0.201143 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER -0.900209 -0.201384 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER -0.910616 -0.17991 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.918112 -0.192861 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER -0.90869 -0.171628 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER -0.896357 -0.18482 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.907705 -0.214335 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER -0.88595 -0.206294 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.887876 -0.214576 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER -0.834745 -0.230676 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.824206 -0.252002 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.810793 -0.231282 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.827952 -0.234336 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER -0.848158 -0.251396 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER -0.851905 -0.23373 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.858698 -0.23007 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER -0.830999 -0.248342 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER -0.841538 -0.227016 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.817586 -0.227621 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER -0.867633 -0.203337 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.868948 -0.209658 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER -0.84746 -0.202239 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER -0.865773 -0.186008 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.889121 -0.210757 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.885946 -0.187106 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.887806 -0.204436 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER -0.870808 -0.226988 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.869493 -0.220667 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER -0.84932 -0.219569 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69376 0.0133465 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.668775 0.0631985 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.661946 0.0667914 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65711 0.0452771 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680354 0.0511945 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673611 0.0847128 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.692019 0.069116 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680439 0.08112 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.650366 0.0787954 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657195 0.0752026 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64553 0.0572811 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.604582 0.0446211 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.604582 0.0446211 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627745 0.053173 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.62221 0.0325183 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599047 0.0239663 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616676 0.0118635 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649684 -0.00804971 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.634953 -0.000226782 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655218 0.012605 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.635947 0.0122343 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.629419 -0.0208815 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630413 -0.00842045 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.644149 -0.0287044 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.64869 -0.0205108 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.66342 -0.0283337 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.668955 -0.00767898 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.740325 0.0440268 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.746894 0.0650768 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739183 0.0653796 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.723153 0.0607735 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.748035 0.0437239 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.724295 0.0394207 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741466 0.0226739 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.764065 0.04833 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.757496 0.02728 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.756355 0.0486329 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721234 -0.0272215 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.732368 -0.0484665 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715699 -0.0478762 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737738 -0.0371781 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737902 -0.0278118 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743272 -0.0165234 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.726768 -0.00656677 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715864 -0.0385099 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70473 -0.0172649 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.699195 -0.0379196 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.786629 -0.00415829 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786629 -0.00415829 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.770845 0.0148294 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76531 -0.0058253 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.781094 -0.024813 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759776 -0.02648 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.712851 0.0845947 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.706291 0.107813 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.689001 0.0909853 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701434 0.0896851 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.730141 0.101422 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.725284 0.0832945 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.736701 0.0782041 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717709 0.102723 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.724268 0.0795043 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.700418 0.0858949 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.737837 0.0347427 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.740802 0.0511556 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718185 0.043171 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.730397 0.0580833 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.760455 0.0427273 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.750049 0.0496549 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.757489 0.0263144 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.748242 0.027815 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.745277 0.0114021 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.725625 0.0198304 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666287 0.0539145 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.650692 0.0721382 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645053 0.0564414 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663167 0.072935 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671925 0.0696112 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.6844 0.070408 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.68752 0.0513875 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.653812 0.0531177 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.669407 0.034894 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648173 0.0374209 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643951 -0.172546 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.674191 -0.142305 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.672341 -0.123995 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.666199 -0.120057 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651943 -0.134313 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680334 -0.146243 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.659936 -0.156561 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.682184 -0.164554 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.69459 -0.131987 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696439 -0.150298 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.688447 -0.12805 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.715501 -0.153374 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.731779 -0.136231 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.712305 -0.141449 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.70911 -0.129524 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.734974 -0.148156 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.712305 -0.141449 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718696 -0.165299 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.738169 -0.160081 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.721891 -0.177224 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.718696 -0.165299 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.663122 -0.100996 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.656415 -0.0783272 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639272 -0.0946054 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651197 -0.0978007 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.680265 -0.0847178 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.675047 -0.104191 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.686972 -0.107387 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.66834 -0.0815225 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.675047 -0.104191 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651197 -0.0978007 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.602641 -0.161477 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.60298 -0.154189 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.622115 -0.166695 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.617912 -0.143431 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583506 -0.148971 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.598439 -0.138214 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583168 -0.156259 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587708 -0.172234 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58737 -0.179523 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.606843 -0.184741 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.591572 -0.120168 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.577317 -0.105912 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582843 -0.128897 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600302 -0.111438 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586046 -0.0971825 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609032 -0.102708 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600302 -0.111438 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.568587 -0.114642 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.582843 -0.128897 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.574113 -0.137627 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5724 -0.191718 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.549732 -0.185011 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569205 -0.179793 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.56601 -0.167868 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.552927 -0.196936 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569205 -0.179793 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575596 -0.203643 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556122 -0.208861 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.578791 -0.215568 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.575596 -0.203643 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.655019 -0.213855 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.653756 -0.23668 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636974 -0.229127 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660237 -0.233329 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671802 -0.221409 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678283 -0.218058 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.673065 -0.198584 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648538 -0.217207 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.649801 -0.194382 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631756 -0.209653 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624779 -0.244096 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.607636 -0.260374 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600929 -0.237705 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612854 -0.240901 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.631486 -0.266765 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636704 -0.247291 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648629 -0.250487 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619561 -0.26357 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.636704 -0.247291 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612854 -0.240901 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.696329 -0.224924 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.710584 -0.23918 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687599 -0.233654 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.705059 -0.216195 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719314 -0.23045 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.713788 -0.207465 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.705059 -0.216195 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.701855 -0.24791 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687599 -0.233654 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.678869 -0.242384 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786005 -0.343435 8.51251e-17 RAD 0.0555556
- txt002
- SPHERE CENTER -0.82165 -0.392454 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.824791 -0.400556 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802599 -0.392663 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.821021 -0.376528 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.843843 -0.400347 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840073 -0.376319 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840701 -0.392245 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER -0.82542 -0.416482 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER -0.822279 -0.40838 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER -0.803228 -0.408589 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER -0.753118 -0.370774 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.734271 -0.367981 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.731279 -0.362711 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.745269 -0.348136 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.756109 -0.376044 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.767107 -0.356199 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.774956 -0.378837 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.74212 -0.390619 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.760966 -0.393412 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.739128 -0.385349 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.80984 -0.323622 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.80634 -0.308073 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.786996 -0.316395 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802721 -0.300378 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.829184 -0.315299 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.825565 -0.307605 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.832685 -0.330849 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.813459 -0.331317 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.81696 -0.346866 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.794116 -0.339639 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.854538 -0.365116 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.878086 -0.365674 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER -0.859887 -0.367962 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER -0.863875 -0.346241 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER -0.872736 -0.362827 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.858526 -0.343394 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER -0.849188 -0.362269 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.868748 -0.384548 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER -0.8452 -0.38399 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.85055 -0.386837 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.842728 -0.296284 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.848999 -0.272611 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.828835 -0.281616 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.829121 -0.278432 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862893 -0.287278 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.843015 -0.293099 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.856621 -0.310951 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.862606 -0.290462 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.856335 -0.314135 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.842441 -0.299468 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.818893 -0.316097 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.819591 -0.297057 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.814956 -0.293153 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.79807 -0.304244 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.823527 -0.320001 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.802007 -0.327188 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.822829 -0.339041 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.840413 -0.30891 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.839716 -0.32795 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.835779 -0.305006 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.797815 -0.412267 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.793573 -0.436217 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER -0.776294 -0.419454 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.796968 -0.420728 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.815094 -0.42903 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER -0.818489 -0.413542 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER -0.819335 -0.405081 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.79442 -0.427756 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.798662 -0.403807 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER -0.777141 -0.410993 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER -0.76217 -0.363249 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.747522 -0.356966 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.759239 -0.339469 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.740618 -0.352002 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.750453 -0.380746 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.743549 -0.375782 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.765101 -0.387029 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.769074 -0.368213 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.783722 -0.374496 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.780791 -0.350716 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.729282 -0.390587 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.704862 -0.392427 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.717401 -0.374248 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.714218 -0.373948 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.716744 -0.408767 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.726099 -0.390287 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.741164 -0.406927 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.719927 -0.409067 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.744347 -0.407227 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.732465 -0.390887 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594141 -0.358439 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.542042 -0.409774 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.517869 -0.413579 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528508 -0.393219 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.525596 -0.395831 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.531404 -0.430134 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.539131 -0.412386 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555577 -0.426328 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534315 -0.427522 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558488 -0.423716 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544953 -0.407161 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.504962 -0.327164 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504962 -0.327164 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499428 -0.347819 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550064 -0.379835 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.529037 -0.375068 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530412 -0.371406 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.542624 -0.356494 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548689 -0.383497 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562276 -0.364922 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569716 -0.388263 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536477 -0.398409 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.557504 -0.403175 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.537852 -0.394747 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.613592 -0.428945 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.612625 -0.451897 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593593 -0.436515 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.614807 -0.432663 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632624 -0.444328 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.634806 -0.425094 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.633591 -0.421376 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.61141 -0.448179 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.612377 -0.425227 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.592379 -0.432797 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621614 -0.399007 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.620974 -0.402865 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600381 -0.39648 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618494 -0.379986 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642207 -0.405392 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639728 -0.382513 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.642848 -0.401533 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624094 -0.421886 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624734 -0.418027 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.603501 -0.4155 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.687009 -0.375943 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687009 -0.375943 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681475 -0.396598 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586119 -0.388377 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.570335 -0.399584 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562269 -0.381987 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569167 -0.403942 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594185 -0.405974 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.593017 -0.410332 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.609969 -0.394768 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587286 -0.384019 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60307 -0.372813 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57922 -0.366422 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638217 -0.337042 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.64748 -0.317573 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643752 -0.316388 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.624481 -0.316758 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.641945 -0.338228 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618946 -0.337413 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.632683 -0.357697 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.661216 -0.337857 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.651954 -0.357326 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.657489 -0.336672 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566667 -0.317871 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.562847 -0.317033 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.561133 -0.338525 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.583171 -0.327827 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.568381 -0.296378 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.588706 -0.307172 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572202 -0.297216 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.546343 -0.307077 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550163 -0.307914 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544629 -0.328569 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.594141 -0.358439 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.547576 -0.389119 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.525642 -0.386849 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528407 -0.379645 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.538964 -0.366733 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.544812 -0.396323 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.558134 -0.376207 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566746 -0.398593 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.534255 -0.409235 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.556189 -0.411505 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.537019 -0.402031 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.504962 -0.327164 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.504962 -0.327164 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.528125 -0.318612 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.522591 -0.339267 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.499428 -0.347819 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.517056 -0.359921 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.566667 -0.317871 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.551072 -0.299647 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.545434 -0.315344 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563547 -0.29885 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.572306 -0.302174 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.584781 -0.301377 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587901 -0.320398 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.554192 -0.318667 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569787 -0.336891 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.548554 -0.334364 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.619127 -0.408291 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.617918 -0.415912 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.597788 -0.406911 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616439 -0.39183 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.639257 -0.417292 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.637778 -0.39321 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.640465 -0.409671 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.620605 -0.432372 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621814 -0.424751 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.600475 -0.423371 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638217 -0.337042 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.641183 -0.320629 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.618565 -0.328614 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.630777 -0.313702 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660835 -0.329058 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65043 -0.32213 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.65787 -0.345471 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.648623 -0.34397 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.645657 -0.360383 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.626005 -0.351955 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.687009 -0.375943 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.687009 -0.375943 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.671225 -0.356956 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.665691 -0.37761 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.681475 -0.396598 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.660156 -0.398265 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.57505 -0.429687 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.55776 -0.446515 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5512 -0.423296 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.562617 -0.428387 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.58161 -0.452905 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.586467 -0.434777 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.5989 -0.436077 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.570193 -0.447815 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.587483 -0.430987 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563633 -0.424596 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.621614 -0.399007 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.632748 -0.420252 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.61608 -0.419661 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638118 -0.408963 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.638282 -0.399597 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.643653 -0.388308 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.627149 -0.378352 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.616244 -0.410295 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.60511 -0.38905 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.599576 -0.409705 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.550064 -0.379835 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.535334 -0.372012 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.555599 -0.35918 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.536327 -0.359551 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.529799 -0.392667 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.530793 -0.380205 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.54453 -0.400489 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.549071 -0.392296 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.563801 -0.400119 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.569335 -0.379464 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0996195 -0.371785 0.544331 RAD 0.166667
- txt002
- SPHERE CENTER 0.220501 -0.393621 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.279642 -0.368601 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER 0.299716 -0.354293 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER 0.292196 -0.366989 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER 0.279022 -0.347717 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287162 -0.355904 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266468 -0.349329 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267088 -0.370213 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER 0.300337 -0.375177 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.280263 -0.389485 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.292817 -0.387873 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281062 -0.372464 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.289441 -0.362978 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER 0.270044 -0.378255 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267771 -0.35549 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30046 -0.357187 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.278789 -0.349699 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29208 -0.366673 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302733 -0.379952 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294353 -0.389438 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER 0.283335 -0.395229 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238665 -0.321889 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER 0.250544 -0.304702 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259421 -0.327715 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238717 -0.32307 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER 0.229788 -0.298875 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER 0.21796 -0.317244 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217908 -0.316063 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250492 -0.30352 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.238612 -0.320707 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259369 -0.326533 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219082 -0.389758 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.228779 -0.378635 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER 0.24293 -0.383364 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225483 -0.365937 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20493 -0.385029 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201634 -0.372331 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.195233 -0.396152 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.222377 -0.402455 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER 0.21268 -0.413578 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236529 -0.407185 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.178104 -0.343046 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.177083 -0.319723 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198298 -0.332294 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.189464 -0.325124 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.156889 -0.330475 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.16927 -0.335876 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.157909 -0.353797 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165722 -0.337645 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166743 -0.360967 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER 0.186938 -0.350216 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.15994 -0.414778 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.147477 -0.412573 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172167 -0.412448 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.15977 -0.39322 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13525 -0.414903 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.147543 -0.39555 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.147713 -0.417108 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.147647 -0.434131 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.16011 -0.436336 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172338 -0.434006 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.261479 -0.440333 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER 0.282991 -0.443285 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282046 -0.4302 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271991 -0.421181 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262424 -0.453417 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251423 -0.431313 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.240911 -0.450466 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27248 -0.462437 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER 0.250967 -0.459485 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271534 -0.449353 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.202338 -0.465353 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.204606 -0.486123 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223366 -0.470107 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.202946 -0.464339 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183578 -0.481368 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181918 -0.459584 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.18131 -0.460599 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.203998 -0.487137 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201729 -0.466367 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.222757 -0.471122 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262898 -0.444196 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER 0.285685 -0.449273 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27701 -0.426189 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282528 -0.436139 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271573 -0.46728 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268416 -0.454146 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248787 -0.462204 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266055 -0.45733 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.243269 -0.452254 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257381 -0.434246 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER 0.367156 -0.277961 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.374298 -0.269898 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER 0.362218 -0.291334 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER 0.350338 -0.270045 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379235 -0.256525 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355276 -0.256671 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.372093 -0.264588 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER 0.391115 -0.277815 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383973 -0.285878 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER 0.379036 -0.299251 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.304189 -0.304189 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29042 -0.307879 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307879 -0.29042 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328039 -0.31058 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331729 -0.29681 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33812 -0.32066 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31058 -0.328039 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32066 -0.33812 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29681 -0.331729 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297666 -0.252306 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.305995 -0.235688 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321516 -0.245915 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312359 -0.259438 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282145 -0.242079 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288509 -0.265828 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273816 -0.258696 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291303 -0.228556 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282974 -0.245173 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306824 -0.238783 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367156 -0.277961 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.385852 -0.261966 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.38141 -0.278159 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER 0.36581 -0.259422 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER 0.371598 -0.261768 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351556 -0.259225 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.352901 -0.277764 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387198 -0.280504 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER 0.368501 -0.2965 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382755 -0.296698 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER 0.297666 -0.252306 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.30415 -0.228803 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321516 -0.245915 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306824 -0.238783 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2803 -0.235194 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282974 -0.245173 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273816 -0.258696 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294992 -0.242326 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288509 -0.265828 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312359 -0.259438 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31427 -0.31427 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.32435 -0.304189 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33812 -0.307879 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32066 -0.29042 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3005 -0.31058 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29681 -0.29681 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29042 -0.32066 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317959 -0.328039 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307879 -0.33812 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331729 -0.331729 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.383759 -0.339925 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER 0.407156 -0.334762 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER 0.388696 -0.326552 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.392275 -0.31686 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402218 -0.348135 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387337 -0.330233 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378821 -0.353299 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39864 -0.357827 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER 0.375243 -0.362991 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.380181 -0.349618 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330873 -0.376234 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER 0.346394 -0.386461 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.354723 -0.369843 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340031 -0.362711 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322544 -0.392851 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316181 -0.369102 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307023 -0.382624 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337237 -0.399983 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321715 -0.389757 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345565 -0.383366 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330873 -0.376234 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER 0.348239 -0.393346 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.354723 -0.369843 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345565 -0.383366 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324389 -0.399736 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321715 -0.389757 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307023 -0.382624 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER 0.333547 -0.386213 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316181 -0.369102 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.340031 -0.362711 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166275 -0.191247 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER 0.20793 -0.130089 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER 0.221102 -0.115471 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.220766 -0.13987 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.200597 -0.126388 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208266 -0.10569 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187762 -0.116607 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER 0.195095 -0.120308 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228435 -0.119172 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215264 -0.13379 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228099 -0.143571 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER 0.230419 -0.192135 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.243049 -0.18209 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218634 -0.185251 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227721 -0.168159 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.254834 -0.188974 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.239506 -0.175043 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242204 -0.199019 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER 0.245747 -0.206066 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233117 -0.216111 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221332 -0.209227 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172673 -0.154295 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER 0.180792 -0.15554 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER 0.19323 -0.166926 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.171251 -0.17557 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.160236 -0.142909 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER 0.150694 -0.162939 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152117 -0.141663 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.182215 -0.134265 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.174096 -0.133019 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.194652 -0.145651 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER 0.143787 -0.129201 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER 0.14887 -0.105335 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER 0.167242 -0.121723 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153943 -0.115741 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER 0.125414 -0.112813 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER 0.130487 -0.123219 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER 0.120331 -0.136679 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER 0.138714 -0.118795 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13363 -0.142661 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.157086 -0.135183 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108529 -0.153407 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0995811 -0.130858 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER 0.113639 -0.134736 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.123725 -0.135326 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0944715 -0.149528 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.118615 -0.153997 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.10342 -0.172078 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0843858 -0.148938 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0933338 -0.171487 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0984435 -0.152816 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102131 -0.190359 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0897843 -0.179968 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER 0.114103 -0.183804 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.105492 -0.166467 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0778128 -0.186523 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0935207 -0.173022 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0901597 -0.196914 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0864233 -0.20386 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0987702 -0.214251 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER 0.110742 -0.207696 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201532 -0.167041 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER 0.219088 -0.151829 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.221861 -0.163068 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205084 -0.14514 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER 0.19876 -0.155801 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER 0.184756 -0.149113 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181204 -0.171014 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215537 -0.173729 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.197981 -0.188942 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER 0.218309 -0.184969 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER 0.159877 -0.228199 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER 0.167942 -0.229756 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183484 -0.223214 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.16569 -0.207683 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER 0.144336 -0.234741 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER 0.142084 -0.212668 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER 0.13627 -0.233184 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER 0.162129 -0.250271 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER 0.154064 -0.248714 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177671 -0.243729 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.224021 -0.229087 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER 0.248268 -0.22829 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2391 -0.216949 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234532 -0.207937 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER 0.233189 -0.240428 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219453 -0.220075 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208942 -0.241225 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER 0.237756 -0.249439 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER 0.213509 -0.250236 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER 0.228589 -0.238098 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0058509 -0.451136 0.729516 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0051487 -0.447081 0.803476 RAD 0.0185185
- txt002
- SPHERE CENTER 0.01504 -0.435909 0.823149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0289993 -0.440694 0.803352 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0115452 -0.423265 0.802231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00881065 -0.442297 0.823273 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0123054 -0.429652 0.802355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0187019 -0.453468 0.8036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00864346 -0.459725 0.824394 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0012478 -0.470897 0.804721 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0226028 -0.46451 0.804597 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0688765 -0.439178 0.766553 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0903221 -0.426942 0.766429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0806307 -0.435083 0.745229 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0699989 -0.416328 0.757266 RAD 0.00617284
- txt002
- SPHERE CENTER 0.078568 -0.431037 0.787754 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0582447 -0.420423 0.77859 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0571224 -0.443274 0.787878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0891998 -0.449792 0.775717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0677542 -0.462029 0.775841 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0795084 -0.457933 0.754517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0172804 -0.386138 0.763155 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0293677 -0.364644 0.76191 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0401449 -0.385352 0.753867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0213457 -0.375512 0.741241 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0065032 -0.36543 0.771198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00151881 -0.376298 0.750529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00558411 -0.386924 0.772443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0253024 -0.37527 0.783824 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0132151 -0.396764 0.785069 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0360796 -0.395978 0.775781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0578769 -0.459039 0.766439 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0707378 -0.451803 0.786236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0461991 -0.454158 0.787639 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0561039 -0.435761 0.774481 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0824157 -0.456685 0.765035 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0677817 -0.440643 0.753281 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0695548 -0.46392 0.745238 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0725109 -0.475081 0.778193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.05965 -0.482316 0.758396 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0479721 -0.477435 0.779597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0457452 -0.398096 0.726118 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0495643 -0.373728 0.724997 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0306825 -0.382672 0.738155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.030137 -0.383722 0.713492 RAD 0.00617284
- txt002
- SPHERE CENTER -0.064627 -0.389151 0.71296 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0451997 -0.399146 0.701455 RAD 0.00617284
- txt002
- SPHERE CENTER -0.060808 -0.41352 0.714081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0651725 -0.388102 0.737623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0613535 -0.41247 0.738744 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0462908 -0.397047 0.750781 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0571747 -0.463094 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER -0.081612 -0.459563 0.692603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0696122 -0.463589 0.713804 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0665888 -0.442243 0.701767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0691745 -0.459069 0.671279 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0541513 -0.441749 0.680442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0447373 -0.4626 0.671155 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0721979 -0.480415 0.683315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0477607 -0.483946 0.683192 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0601982 -0.48444 0.704516 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00628079 -0.512079 0.769837 RAD 0.0185185
- txt002
- SPHERE CENTER -0.000557006 -0.523883 0.790755 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0165974 -0.51057 0.779001 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00208214 -0.49924 0.790506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0234352 -0.525392 0.781591 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0249603 -0.500749 0.781342 RAD 0.00617284
- txt002
- SPHERE CENTER -0.029159 -0.513588 0.760673 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00475566 -0.536722 0.770086 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0104794 -0.524918 0.749168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0123987 -0.523409 0.758332 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00557859 -0.516134 0.695877 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00154892 -0.540463 0.697123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0156462 -0.524673 0.705165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00538221 -0.52751 0.717791 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0227737 -0.531924 0.687835 RAD 0.00617284
- txt002
- SPHERE CENTER -0.026607 -0.518971 0.708504 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0268034 -0.507596 0.68659 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00174531 -0.529087 0.675209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00577498 -0.504759 0.673964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0154498 -0.513298 0.683251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0574471 -0.504176 0.732914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0817008 -0.508666 0.734036 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0732807 -0.489545 0.720878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0722467 -0.488971 0.745541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0658672 -0.523298 0.746073 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0564131 -0.503602 0.757577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0416134 -0.518808 0.744951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0669012 -0.523872 0.72141 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0426474 -0.519382 0.720288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.058481 -0.504751 0.708251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0483751 -0.248762 0.655442 RAD 0.0555556
- txt002
- SPHERE CENTER -0.0599222 -0.183785 0.689081 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0522053 -0.160406 0.690965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0358698 -0.178533 0.687193 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0513956 -0.171954 0.669156 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0762577 -0.165658 0.692853 RAD 0.00617284
- txt002
- SPHERE CENTER -0.075448 -0.177206 0.671044 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0839747 -0.189036 0.690969 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0607319 -0.172236 0.71089 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0684488 -0.195615 0.709006 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0443964 -0.190363 0.707118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00673113 -0.215921 0.692479 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0258737 -0.20044 0.690591 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0203763 -0.215612 0.671903 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00551963 -0.196602 0.677151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0122285 -0.200749 0.711167 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00812553 -0.196911 0.697727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00691403 -0.21623 0.713055 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0270852 -0.21976 0.705919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00794264 -0.235241 0.707807 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0215878 -0.234932 0.687231 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0172857 -0.187119 0.6286 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00705049 -0.176731 0.608675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00352517 -0.200733 0.613272 RAD 0.00617284
- txt002
- SPHERE CENTER -0.025725 -0.192673 0.60607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.020811 -0.163117 0.624003 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0394855 -0.179058 0.621398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0310463 -0.173504 0.643928 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00138875 -0.171177 0.631205 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00884647 -0.181564 0.65113 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00491406 -0.195179 0.635801 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115028 -0.216626 0.652044 RAD 0.0185185
- txt002
- SPHERE CENTER -0.127519 -0.195663 0.655816 RAD 0.00617284
- txt002
- SPHERE CENTER -0.108803 -0.201738 0.670732 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104303 -0.194866 0.647447 RAD 0.00617284
- txt002
- SPHERE CENTER -0.133744 -0.210551 0.637128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110528 -0.209754 0.628759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121254 -0.231514 0.633356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138245 -0.217423 0.660413 RAD 0.00617284
- txt002
- SPHERE CENTER -0.125754 -0.238386 0.656641 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119529 -0.223497 0.675329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0723919 -0.21996 0.591563 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0673141 -0.20388 0.573526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0609052 -0.198742 0.596811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0490355 -0.216456 0.584361 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0788008 -0.225098 0.568278 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0605222 -0.237674 0.579113 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0838786 -0.241177 0.586315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0906706 -0.207384 0.580727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0957484 -0.223463 0.598764 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0842617 -0.202246 0.604012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103481 -0.281603 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.126206 -0.291073 0.620293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110246 -0.293457 0.638981 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119897 -0.271345 0.633733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119442 -0.279219 0.599717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113132 -0.25949 0.613157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0967168 -0.269749 0.597829 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10979 -0.301332 0.604965 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0870656 -0.291862 0.603077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0938302 -0.303716 0.623653 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0910116 -0.245428 0.715923 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0942304 -0.234308 0.737733 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0714204 -0.238704 0.729364 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0854464 -0.221514 0.718528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113822 -0.241032 0.724292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.105038 -0.228237 0.705088 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110603 -0.252152 0.702483 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0997955 -0.258223 0.735128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0965768 -0.269343 0.713318 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0769856 -0.262619 0.726759 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0794645 -0.310405 0.682285 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0817333 -0.324811 0.702209 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0603366 -0.313378 0.697613 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0800146 -0.300317 0.704814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100861 -0.321838 0.686881 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0991425 -0.297345 0.689486 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0985923 -0.307433 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0811832 -0.334899 0.67968 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0789143 -0.320493 0.659755 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0597864 -0.323466 0.675083 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0243582 -0.277564 0.719322 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0076281 -0.275459 0.737359 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00142185 -0.270078 0.714074 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0167139 -0.255218 0.726523 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0305645 -0.282946 0.742607 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0396503 -0.262704 0.731771 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0472946 -0.285051 0.72457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0152725 -0.297806 0.730157 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0320026 -0.299911 0.71212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00906621 -0.292425 0.706872 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.544331 RAD 0.0555556
- txt002
- SPHERE CENTER -0.178985 -0.424299 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.190929 -0.412497 0.599471 RAD 0.00617284
- txt002
- SPHERE CENTER -0.16674 -0.417001 0.601529 RAD 0.00617284
- txt002
- SPHERE CENTER -0.174844 -0.400273 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203175 -0.419795 0.57931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.18709 -0.407571 0.565115 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191231 -0.431597 0.561208 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195071 -0.436523 0.595564 RAD 0.00617284
- txt002
- SPHERE CENTER -0.183127 -0.448325 0.577461 RAD 0.00617284
- txt002
- SPHERE CENTER -0.170881 -0.441027 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER -0.10495 -0.41922 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0911807 -0.42291 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10864 -0.40545 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128801 -0.425611 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13249 -0.411841 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138881 -0.435691 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111341 -0.44307 0.638566 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121421 -0.45315 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0975713 -0.44676 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131634 -0.367336 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.12515 -0.343834 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107784 -0.360946 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122476 -0.353814 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149 -0.350225 0.585275 RAD 0.00617284
- txt002
- SPHERE CENTER -0.146326 -0.360204 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155484 -0.373727 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134308 -0.357357 0.603794 RAD 0.00617284
- txt002
- SPHERE CENTER -0.140792 -0.380859 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116942 -0.374468 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178985 -0.424299 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.200165 -0.411775 0.505236 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189948 -0.415187 0.527454 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179342 -0.399922 0.511201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189202 -0.420888 0.485076 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168379 -0.409035 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168023 -0.433412 0.487134 RAD 0.00617284
- txt002
- SPHERE CENTER -0.199808 -0.436152 0.501329 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178629 -0.448677 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189591 -0.439564 0.523547 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131634 -0.367336 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.123305 -0.350719 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107784 -0.360946 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116942 -0.374468 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.147155 -0.357109 0.491041 RAD 0.00617284
- txt002
- SPHERE CENTER -0.140792 -0.380859 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155484 -0.373727 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.137998 -0.343587 0.509559 RAD 0.00617284
- txt002
- SPHERE CENTER -0.146326 -0.360204 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122476 -0.353814 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115031 -0.4293 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER -0.125111 -0.41922 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138881 -0.42291 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.121421 -0.40545 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.101261 -0.425611 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0975713 -0.411841 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0911807 -0.435691 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11872 -0.44307 0.450097 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10864 -0.45315 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13249 -0.44676 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER -0.162382 -0.486264 0.544331 RAD 0.0185185
- txt002
- SPHERE CENTER -0.174264 -0.502603 0.558526 RAD 0.00617284
- txt002
- SPHERE CENTER -0.15142 -0.495376 0.564491 RAD 0.00617284
- txt002
- SPHERE CENTER -0.170327 -0.479659 0.566757 RAD 0.00617284
- txt002
- SPHERE CENTER -0.185226 -0.49349 0.538366 RAD 0.00617284
- txt002
- SPHERE CENTER -0.18129 -0.470546 0.546597 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173345 -0.477151 0.524171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166319 -0.509207 0.536101 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154437 -0.492868 0.521905 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143475 -0.501981 0.542066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0984274 -0.491265 0.507294 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0810612 -0.508376 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0745774 -0.484874 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0837352 -0.498397 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104911 -0.514767 0.503387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107585 -0.504787 0.525813 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122277 -0.497655 0.507294 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0957534 -0.501244 0.484868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11312 -0.484132 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0892696 -0.477742 0.488775 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0984274 -0.491265 0.581368 RAD 0.0185185
- txt002
- SPHERE CENTER -0.082906 -0.501491 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0745774 -0.484874 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0892696 -0.477742 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.106756 -0.507882 0.597621 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11312 -0.484132 0.599887 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122277 -0.497655 0.581368 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0920638 -0.515014 0.579103 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107585 -0.504787 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0837352 -0.498397 0.56285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.153845 -0.574159 0.618405 RAD 0.0555556
- txt002
- SPHERE CENTER 0.202534 -0.612768 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.225282 -0.612732 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.22113 -0.60221 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.212428 -0.591695 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206686 -0.62329 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193832 -0.602253 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.183939 -0.623325 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215388 -0.633805 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.192641 -0.63384 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.211236 -0.623283 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.243024 -0.542885 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219861 -0.534333 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.243024 -0.542885 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219861 -0.534333 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248559 -0.563539 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23093 -0.575642 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.23093 -0.575642 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.184086 -0.543919 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.200547 -0.527458 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205161 -0.540303 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187702 -0.522843 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.179472 -0.531074 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.166627 -0.526459 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.163011 -0.547535 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.196931 -0.548533 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.18047 -0.564994 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201546 -0.561378 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.130984 -0.631939 0.658726 RAD 0.0185185
- txt002
- SPHERE CENTER 0.132649 -0.643128 0.680674 RAD 0.00617284
- txt002
- SPHERE CENTER 0.152367 -0.631785 0.671072 RAD 0.00617284
- txt002
- SPHERE CENTER 0.133263 -0.618482 0.679302 RAD 0.00617284
- txt002
- SPHERE CENTER 0.111266 -0.643283 0.668328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11188 -0.618637 0.666956 RAD 0.00617284
- txt002
- SPHERE CENTER 0.109601 -0.632094 0.64638 RAD 0.00617284
- txt002
- SPHERE CENTER 0.130371 -0.656585 0.660098 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128706 -0.645397 0.63815 RAD 0.00617284
- txt002
- SPHERE CENTER 0.150088 -0.645242 0.650495 RAD 0.00617284
- txt002
- SPHERE CENTER 0.112536 -0.56309 0.678886 RAD 0.0185185
- txt002
- SPHERE CENTER 0.11011 -0.549659 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.132596 -0.555684 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.118927 -0.53924 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.09005 -0.557065 0.687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0988668 -0.546646 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0924762 -0.570497 0.666541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.103719 -0.573509 0.699462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.106145 -0.58694 0.678886 RAD 0.00617284
- txt002
- SPHERE CENTER 0.126205 -0.579534 0.691232 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.618405 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0609772 -0.591664 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.643096 RAD 0.00617284
- txt002
- SPHERE CENTER 0.076761 -0.572676 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0609772 -0.591664 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.076761 -0.572676 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.593714 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0665116 -0.612319 0.618405 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0878298 -0.613986 0.606059 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0878298 -0.613986 0.630751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.172294 -0.643008 0.598245 RAD 0.0185185
- txt002
- SPHERE CENTER 0.189742 -0.660425 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.196144 -0.636618 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.185725 -0.645434 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.165892 -0.666816 0.599616 RAD 0.00617284
- txt002
- SPHERE CENTER 0.161875 -0.651825 0.618821 RAD 0.00617284
- txt002
- SPHERE CENTER 0.148444 -0.649399 0.598245 RAD 0.00617284
- txt002
- SPHERE CENTER 0.17631 -0.657999 0.57904 RAD 0.00617284
- txt002
- SPHERE CENTER 0.158862 -0.640582 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.182712 -0.634191 0.577669 RAD 0.00617284
- txt002
- SPHERE CENTER 0.123605 -0.6044 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.107144 -0.620861 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.119989 -0.625475 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102529 -0.608016 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.11076 -0.599785 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.106145 -0.58694 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.127221 -0.583324 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.128219 -0.617245 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.14468 -0.600784 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.141064 -0.621859 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.195155 -0.585228 0.557924 RAD 0.0185185
- txt002
- SPHERE CENTER 0.203972 -0.574809 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.181486 -0.568784 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.201546 -0.561378 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.217641 -0.591253 0.549693 RAD 0.00617284
- txt002
- SPHERE CENTER 0.215215 -0.577822 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.208824 -0.601672 0.57027 RAD 0.00617284
- txt002
- SPHERE CENTER 0.197581 -0.598659 0.537348 RAD 0.00617284
- txt002
- SPHERE CENTER 0.188764 -0.609078 0.557924 RAD 0.00617284
- txt002
- SPHERE CENTER 0.175095 -0.592634 0.545578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0329639 -0.552323 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0248832 -0.625877 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0316054 -0.646362 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0478 -0.627981 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0287309 -0.625173 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00868865 -0.644258 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00581415 -0.623069 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00196644 -0.623773 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0277577 -0.647066 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0210355 -0.62658 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0439523 -0.628685 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0822954 -0.593331 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.105299 -0.593994 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.100664 -0.582384 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0926585 -0.572783 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0869303 -0.604941 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0742898 -0.58373 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0639267 -0.604278 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0949359 -0.614541 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0719323 -0.613879 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.090301 -0.602932 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0138144 -0.584567 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0177119 -0.584898 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0364224 -0.580268 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0185345 -0.56353 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00489609 -0.589197 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00407348 -0.567829 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00879364 -0.588867 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0129918 -0.605935 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00909422 -0.605605 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0317022 -0.601305 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0244483 -0.584869 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0473753 -0.5935 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0308315 -0.595617 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0399691 -0.57344 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0409921 -0.582752 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0335859 -0.562692 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0180651 -0.574121 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0318545 -0.604929 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00892756 -0.596298 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0153107 -0.607046 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0355172 -0.54356 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0495897 -0.530389 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0261165 -0.53532 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER -0.031221 -0.519442 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0589904 -0.538628 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0406217 -0.527681 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0449178 -0.551799 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0538859 -0.554507 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0398133 -0.567678 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0304127 -0.559438 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0163676 -0.511316 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0212225 -0.48882 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00896145 -0.491256 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00194055 -0.497372 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0286287 -0.50888 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00546563 -0.517432 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0237738 -0.531375 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0395307 -0.502764 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0346758 -0.525259 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0272696 -0.505199 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0440327 -0.593633 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0604766 -0.607302 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0678827 -0.587242 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0604766 -0.607302 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0366265 -0.613693 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0366265 -0.613693 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0201827 -0.600023 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0440327 -0.593633 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0275889 -0.579964 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0514389 -0.573573 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0521134 -0.520079 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0542684 -0.523344 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0591566 -0.541988 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0358996 -0.534291 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0472252 -0.501435 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0288565 -0.512382 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0450702 -0.49817 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0704822 -0.509132 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0683272 -0.505868 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0753703 -0.527777 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101445 -0.561087 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.118381 -0.551884 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0944221 -0.550745 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.103361 -0.536664 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.125404 -0.562225 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.110383 -0.547006 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.108468 -0.571428 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.116465 -0.576307 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0995293 -0.58551 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0925065 -0.575168 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247614 -0.494808 0.43322 RAD 0.0555556
- txt002
- SPHERE CENTER 0.313607 -0.494287 0.399581 RAD 0.0185185
- txt002
- SPHERE CENTER 0.326876 -0.484182 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302705 -0.488171 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310432 -0.470513 0.39372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337778 -0.490299 0.402668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321334 -0.476629 0.415013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.324509 -0.500404 0.420874 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330051 -0.507957 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316783 -0.518062 0.405442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.305881 -0.511946 0.384149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269833 -0.434629 0.396183 RAD 0.0185185
- txt002
- SPHERE CENTER 0.279233 -0.426389 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286276 -0.448298 0.383837 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263449 -0.445377 0.37489 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262789 -0.41272 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.247006 -0.431707 0.387235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.253389 -0.420959 0.408529 RAD 0.00617284
- txt002
- SPHERE CENTER 0.285616 -0.415641 0.396183 RAD 0.00617284
- txt002
- SPHERE CENTER 0.276216 -0.42388 0.417476 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29266 -0.43755 0.40513 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302539 -0.452978 0.460062 RAD 0.0185185
- txt002
- SPHERE CENTER 0.320401 -0.436971 0.454201 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3148 -0.455413 0.438769 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29902 -0.436675 0.441856 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30814 -0.434535 0.475494 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286759 -0.434239 0.463149 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290278 -0.450543 0.481355 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32392 -0.453274 0.472408 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306057 -0.469281 0.478269 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318318 -0.471717 0.456976 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291389 -0.554467 0.436618 RAD 0.0185185
- txt002
- SPHERE CENTER 0.314604 -0.562288 0.439705 RAD 0.00617284
- txt002
- SPHERE CENTER 0.310183 -0.541186 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.306499 -0.542501 0.45205 RAD 0.00617284
- txt002
- SPHERE CENTER 0.29581 -0.575569 0.448652 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287705 -0.555781 0.460998 RAD 0.00617284
- txt002
- SPHERE CENTER 0.272595 -0.567748 0.445566 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299494 -0.574255 0.424272 RAD 0.00617284
- txt002
- SPHERE CENTER 0.276279 -0.566433 0.421186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295073 -0.553152 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.28032 -0.513157 0.497099 RAD 0.0185185
- txt002
- SPHERE CENTER 0.298839 -0.507811 0.512531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.302049 -0.505577 0.488152 RAD 0.00617284
- txt002
- SPHERE CENTER 0.287442 -0.489718 0.500186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27711 -0.515392 0.521479 RAD 0.00617284
- txt002
- SPHERE CENTER 0.265714 -0.497299 0.509133 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258591 -0.520738 0.506047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291716 -0.531251 0.509445 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273198 -0.536597 0.494013 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294927 -0.529016 0.485065 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225396 -0.554987 0.470257 RAD 0.0185185
- txt002
- SPHERE CENTER 0.227186 -0.567359 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.246777 -0.555283 0.482603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.227528 -0.54267 0.49155 RAD 0.00617284
- txt002
- SPHERE CENTER 0.205805 -0.567063 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.206147 -0.542374 0.479204 RAD 0.00617284
- txt002
- SPHERE CENTER 0.204014 -0.554691 0.457911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.225054 -0.579676 0.470257 RAD 0.00617284
- txt002
- SPHERE CENTER 0.223263 -0.567305 0.448964 RAD 0.00617284
- txt002
- SPHERE CENTER 0.244644 -0.567601 0.46131 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258683 -0.536117 0.372739 RAD 0.0185185
- txt002
- SPHERE CENTER 0.275127 -0.549787 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282533 -0.529727 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275127 -0.549787 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251277 -0.556177 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.251277 -0.556177 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.234833 -0.542508 0.372739 RAD 0.00617284
- txt002
- SPHERE CENTER 0.258683 -0.536117 0.348047 RAD 0.00617284
- txt002
- SPHERE CENTER 0.242239 -0.522448 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.266089 -0.516058 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.19269 -0.536638 0.406378 RAD 0.0185185
- txt002
- SPHERE CENTER 0.17251 -0.549603 0.412239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.191778 -0.549105 0.427671 RAD 0.00617284
- txt002
- SPHERE CENTER 0.177908 -0.528912 0.424584 RAD 0.00617284
- txt002
- SPHERE CENTER 0.173421 -0.537136 0.390945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.178819 -0.516445 0.403291 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193601 -0.524171 0.385084 RAD 0.00617284
- txt002
- SPHERE CENTER 0.187292 -0.557329 0.394032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.207471 -0.544363 0.388171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.20656 -0.556831 0.409464 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214908 -0.476459 0.369341 RAD 0.0185185
- txt002
- SPHERE CENTER 0.209819 -0.457868 0.353908 RAD 0.00617284
- txt002
- SPHERE CENTER 0.210053 -0.453963 0.378288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2312 -0.458164 0.366254 RAD 0.00617284
- txt002
- SPHERE CENTER 0.214674 -0.480363 0.344961 RAD 0.00617284
- txt002
- SPHERE CENTER 0.236055 -0.480659 0.357307 RAD 0.00617284
- txt002
- SPHERE CENTER 0.219763 -0.498954 0.360393 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193527 -0.476163 0.356995 RAD 0.00617284
- txt002
- SPHERE CENTER 0.198616 -0.494753 0.372427 RAD 0.00617284
- txt002
- SPHERE CENTER 0.193761 -0.472258 0.381374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172546 -0.643951 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER -0.157543 -0.835815 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.122136 -0.871646 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER -0.102403 -0.871334 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100577 -0.862937 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113406 -0.850164 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER -0.123961 -0.880044 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER -0.134964 -0.858873 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143694 -0.880356 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111133 -0.892817 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER -0.130866 -0.893129 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER -0.109307 -0.884419 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0854653 -0.82339 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0654286 -0.811594 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0820122 -0.820516 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0876595 -0.80102 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0688817 -0.814468 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0911125 -0.803895 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0889183 -0.826265 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0632344 -0.833964 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER -0.083271 -0.845761 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER -0.079818 -0.842886 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135649 -0.799077 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.120908 -0.781177 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113462 -0.795477 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13149 -0.778973 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143095 -0.784778 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153678 -0.782573 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.157836 -0.802678 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER -0.125067 -0.801282 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.139808 -0.819182 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.11762 -0.815582 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194213 -0.884071 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER -0.197746 -0.891905 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.175383 -0.884286 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.193701 -0.867957 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216576 -0.89169 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212531 -0.867741 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER -0.213043 -0.883856 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER -0.198259 -0.908019 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194726 -0.900186 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER -0.175896 -0.900401 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207727 -0.811502 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.212743 -0.794108 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER -0.189621 -0.802328 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER -0.199907 -0.788345 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER -0.230849 -0.803282 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER -0.218012 -0.797518 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225832 -0.820676 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220563 -0.817265 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215547 -0.83466 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER -0.197441 -0.825486 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER -0.229621 -0.84824 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.25245 -0.843832 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233837 -0.846687 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.235043 -0.826426 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248234 -0.845385 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER -0.230827 -0.827978 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225404 -0.849792 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.247028 -0.865646 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224198 -0.870053 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER -0.228415 -0.868501 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14403 -0.908384 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER -0.128672 -0.926643 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER -0.1198 -0.904034 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER -0.133221 -0.90826 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.152902 -0.930993 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.157451 -0.912609 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER -0.16826 -0.912733 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER -0.139481 -0.926768 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154838 -0.908508 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER -0.130608 -0.904159 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179437 -0.872552 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.188167 -0.894035 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172046 -0.89378 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195141 -0.885777 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195558 -0.872807 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER -0.202532 -0.864549 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER -0.186828 -0.851325 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172463 -0.880811 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163733 -0.859328 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER -0.156342 -0.880556 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107359 -0.860128 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0905999 -0.853284 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111382 -0.840233 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0940331 -0.839638 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.086577 -0.873178 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0900102 -0.859532 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103336 -0.880022 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER -0.103926 -0.873773 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120685 -0.880618 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124708 -0.860723 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0133465 -0.69376 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0838533 -0.674309 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.103063 -0.66171 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0876683 -0.673446 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0800983 -0.653258 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0992478 -0.662574 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0762832 -0.654121 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0800382 -0.675172 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.106818 -0.682761 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0876083 -0.69536 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0914233 -0.694497 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0539145 -0.666287 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0547519 -0.662466 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0439578 -0.682791 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0332597 -0.660752 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0647085 -0.645962 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0432164 -0.644249 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0638711 -0.649783 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0754066 -0.668 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0745692 -0.671821 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0646126 -0.688325 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0446211 -0.604582 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0239663 -0.599047 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0446211 -0.604582 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0432853 -0.701782 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0608821 -0.693716 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0652402 -0.694884 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0496759 -0.677932 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0389272 -0.700615 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.027721 -0.684831 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0213304 -0.708681 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0544915 -0.717566 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0368947 -0.725632 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0588496 -0.718734 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00804971 -0.649684 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00328338 -0.628657 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0152909 -0.642244 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.000378614 -0.630031 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.026624 -0.636097 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.022962 -0.637471 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0313903 -0.657124 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0117117 -0.648309 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.016478 -0.669336 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.00686255 -0.661896 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0272215 -0.721234 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0310802 -0.720593 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00820099 -0.718114 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0246945 -0.7 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0501007 -0.723713 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.043715 -0.70312 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.046242 -0.724354 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0336072 -0.741827 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0297485 -0.742467 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.010728 -0.739347 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0646815 -0.745859 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0887955 -0.750021 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0813312 -0.732161 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.078459 -0.729506 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0721458 -0.763719 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0618093 -0.743204 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0480318 -0.759557 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.075018 -0.766375 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.050904 -0.762212 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0675537 -0.748514 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00415829 -0.786629 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.024813 -0.781094 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00415829 -0.786629 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0347427 -0.737837 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0542122 -0.747099 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0550267 -0.7241 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0553974 -0.743371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0339282 -0.760836 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0351134 -0.757108 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0144587 -0.751574 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0335575 -0.741565 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.014088 -0.732303 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0343719 -0.718566 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172546 -0.643951 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.142305 -0.61371 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.125845 -0.597249 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.12123 -0.610094 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138689 -0.592635 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14692 -0.600865 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.159765 -0.596251 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.163381 -0.617326 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.12946 -0.618324 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.145921 -0.634785 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124846 -0.631169 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.624779 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0833673 -0.612676 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.624779 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10653 -0.604124 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0833673 -0.612676 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10653 -0.604124 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.624779 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0778329 -0.633331 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0954616 -0.645433 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0954616 -0.645433 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.5724 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.141271 -0.554772 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13272 -0.577935 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.5724 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.161926 -0.549237 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.174029 -0.566866 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.174029 -0.566866 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141271 -0.554772 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.5724 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.13272 -0.577935 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.213855 -0.632882 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.216282 -0.61945 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.193796 -0.625476 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207465 -0.609032 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.236341 -0.626857 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.227525 -0.616438 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233915 -0.640288 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.222672 -0.6433 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220246 -0.656732 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200186 -0.649326 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.591572 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.2291 -0.567237 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209804 -0.576452 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.209804 -0.576452 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.24422 -0.582357 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.591572 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240045 -0.606693 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.24422 -0.582357 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240045 -0.606693 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.591572 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.663122 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.265414 -0.661455 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.663122 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.249631 -0.642468 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.265414 -0.661455 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.249631 -0.642468 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.663122 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.25988 -0.68211 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238562 -0.683777 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.238562 -0.683777 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.161477 -0.68526 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.148046 -0.687686 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.137627 -0.678869 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.154071 -0.6652 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171896 -0.694077 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177921 -0.671591 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER -0.185327 -0.691651 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.155452 -0.707746 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER -0.168883 -0.70532 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.145033 -0.698929 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.715501 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.190051 -0.736819 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171063 -0.721035 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.715501 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210706 -0.731284 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212373 -0.709966 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.212373 -0.709966 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.190051 -0.736819 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.715501 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171063 -0.721035 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.696329 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.095832 -0.700504 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.105047 -0.681209 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.105047 -0.681209 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110952 -0.715624 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.696329 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135288 -0.711449 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER -0.110952 -0.715624 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135288 -0.711449 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.696329 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343435 -0.786005 8.51251e-17 RAD 0.0555556
- txt002
- SPHERE CENTER -0.392454 -0.82165 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER -0.400556 -0.824791 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376528 -0.821021 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392663 -0.802599 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.416482 -0.82542 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408589 -0.803228 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER -0.40838 -0.822279 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400347 -0.843843 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392245 -0.840701 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376319 -0.840073 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER -0.323622 -0.80984 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.308073 -0.80634 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.300378 -0.802721 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316395 -0.786996 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.331317 -0.813459 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339639 -0.794116 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.346866 -0.81696 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.315299 -0.829184 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.330849 -0.832685 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307605 -0.825565 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.370774 -0.753118 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.367981 -0.734271 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.348136 -0.745269 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362711 -0.731279 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390619 -0.74212 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.385349 -0.739128 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.393412 -0.760966 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376044 -0.756109 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378837 -0.774956 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356199 -0.767107 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.412267 -0.797815 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER -0.436217 -0.793573 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER -0.420728 -0.796968 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419454 -0.776294 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427756 -0.79442 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410993 -0.777141 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403807 -0.798662 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER -0.42903 -0.815094 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405081 -0.819335 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.413542 -0.818489 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390587 -0.729282 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.392427 -0.704862 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.373948 -0.714218 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374248 -0.717401 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409067 -0.719927 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390887 -0.732465 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407227 -0.744347 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408767 -0.716744 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406927 -0.741164 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.390287 -0.726099 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.363249 -0.76217 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER -0.356966 -0.747522 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER -0.352002 -0.740618 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339469 -0.759239 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER -0.368213 -0.769074 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER -0.350716 -0.780791 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER -0.374496 -0.783722 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380746 -0.750453 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER -0.387029 -0.765101 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375782 -0.743549 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER -0.365116 -0.854538 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER -0.365674 -0.878086 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER -0.346241 -0.863875 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER -0.367962 -0.859887 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384548 -0.868748 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER -0.386837 -0.85055 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER -0.38399 -0.8452 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362827 -0.872736 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER -0.362269 -0.849188 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER -0.343394 -0.858526 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316097 -0.818893 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER -0.297057 -0.819591 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.304244 -0.79807 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293153 -0.814956 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER -0.30891 -0.840413 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.305006 -0.835779 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32795 -0.839716 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320001 -0.823527 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339041 -0.822829 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327188 -0.802007 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296284 -0.842728 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER -0.272611 -0.848999 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER -0.278432 -0.829121 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.281616 -0.828835 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER -0.290462 -0.862606 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER -0.299468 -0.842441 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.314135 -0.856335 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.287278 -0.862893 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER -0.310951 -0.856621 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER -0.293099 -0.843015 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER -0.358439 -0.594141 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.389119 -0.547576 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.386849 -0.525642 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366733 -0.538964 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379645 -0.528407 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409235 -0.534255 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.402031 -0.537019 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.411505 -0.556189 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396323 -0.544812 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398593 -0.566746 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.376207 -0.558134 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317871 -0.566667 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.299647 -0.551072 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.29885 -0.563547 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.315344 -0.545434 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318667 -0.554192 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.334364 -0.548554 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.336891 -0.569787 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.302174 -0.572306 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.320398 -0.587901 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.301377 -0.584781 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.327164 -0.504962 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.347819 -0.499428 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327164 -0.504962 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.429687 -0.57505 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER -0.446515 -0.55776 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428387 -0.562617 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423296 -0.5512 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.447815 -0.570193 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER -0.424596 -0.563633 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.430987 -0.587483 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER -0.452905 -0.58161 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436077 -0.5989 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER -0.434777 -0.586467 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379835 -0.550064 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.372012 -0.535334 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359551 -0.536327 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.35918 -0.555599 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392296 -0.549071 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379464 -0.569335 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400119 -0.563801 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.392667 -0.529799 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.400489 -0.54453 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.380205 -0.530793 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399007 -0.621614 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.420252 -0.632748 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408963 -0.638118 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.419661 -0.61608 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410295 -0.616244 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409705 -0.599576 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.38905 -0.60511 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399597 -0.638282 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.378352 -0.627149 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388308 -0.643653 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.408291 -0.619127 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.415912 -0.617918 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39183 -0.616439 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.406911 -0.597788 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER -0.432372 -0.620605 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423371 -0.600475 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER -0.424751 -0.621814 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.417292 -0.639257 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER -0.409671 -0.640465 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39321 -0.637778 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.375943 -0.687009 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396598 -0.681475 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375943 -0.687009 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337042 -0.638217 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.320629 -0.641183 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.313702 -0.630777 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328614 -0.618565 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.34397 -0.648623 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.351955 -0.626005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.360383 -0.645657 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.329058 -0.660835 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.345471 -0.65787 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.32213 -0.65043 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.358439 -0.594141 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.409774 -0.542042 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.413579 -0.517869 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.395831 -0.525596 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.393219 -0.528508 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.427522 -0.534315 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.407161 -0.544953 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.423716 -0.558488 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.430134 -0.531404 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.426328 -0.555577 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.412386 -0.539131 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379835 -0.550064 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.375068 -0.529037 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356494 -0.542624 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.371406 -0.530412 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398409 -0.536477 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.394747 -0.537852 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403175 -0.557504 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.383497 -0.548689 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388263 -0.569716 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.364922 -0.562276 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.327164 -0.504962 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.347819 -0.499428 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.359921 -0.517056 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327164 -0.504962 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.339267 -0.522591 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.318612 -0.528125 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.388377 -0.586119 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.399584 -0.570335 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.403942 -0.569167 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.381987 -0.562269 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.384019 -0.587286 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER -0.366422 -0.57922 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.372813 -0.60307 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405974 -0.594185 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER -0.394768 -0.609969 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER -0.410332 -0.593017 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER -0.317871 -0.566667 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.317033 -0.562847 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.327827 -0.583171 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338525 -0.561133 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307077 -0.546343 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.328569 -0.544629 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307914 -0.550163 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.296378 -0.568381 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.297216 -0.572202 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.307172 -0.588706 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337042 -0.638217 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.317573 -0.64748 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316758 -0.624481 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.316388 -0.643752 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337857 -0.661216 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER -0.336672 -0.657489 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357326 -0.651954 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER -0.338228 -0.641945 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER -0.357697 -0.632683 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.337413 -0.618946 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.428945 -0.613592 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.451897 -0.612625 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER -0.432663 -0.614807 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER -0.436515 -0.593593 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.448179 -0.61141 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER -0.432797 -0.592379 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425227 -0.612377 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.444328 -0.632624 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER -0.421376 -0.633591 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER -0.425094 -0.634806 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.375943 -0.687009 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.396598 -0.681475 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.398265 -0.660156 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.375943 -0.687009 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.37761 -0.665691 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER -0.356956 -0.671225 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.399007 -0.621614 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER -0.402865 -0.620974 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER -0.379986 -0.618494 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.39648 -0.600381 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.421886 -0.624094 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER -0.4155 -0.603501 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER -0.418027 -0.624734 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER -0.405392 -0.642207 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.401533 -0.642848 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.382513 -0.639728 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER -0.157543 -0.835815 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER -0.119969 -0.899353 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0977075 -0.909872 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0997803 -0.886771 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104052 -0.891613 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER -0.117896 -0.922453 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124241 -0.904194 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER -0.140158 -0.911935 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER -0.113625 -0.917612 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135886 -0.907093 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115698 -0.894512 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0844101 -0.836885 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0627848 -0.826973 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0805529 -0.830202 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER -0.083104 -0.81296 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0666419 -0.833656 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0869612 -0.819643 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0882673 -0.843568 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0640908 -0.850898 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0857161 -0.860809 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0818589 -0.854126 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER -0.130205 -0.868703 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER -0.11253 -0.867758 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107566 -0.860854 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER -0.122142 -0.846864 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135168 -0.875606 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER -0.14478 -0.854713 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER -0.152843 -0.876551 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120593 -0.889596 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER -0.138267 -0.890541 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115629 -0.882692 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER -0.193102 -0.898283 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER -0.201143 -0.920038 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER -0.17991 -0.910616 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER -0.201384 -0.900209 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER -0.214335 -0.907705 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER -0.214576 -0.887876 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER -0.206294 -0.88595 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192861 -0.918112 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER -0.18482 -0.896357 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER -0.171628 -0.90869 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203337 -0.867633 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER -0.209658 -0.868948 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER -0.186008 -0.865773 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER -0.202239 -0.84746 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER -0.226988 -0.870808 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.219569 -0.84932 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER -0.220667 -0.869493 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210757 -0.889121 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER -0.204436 -0.887806 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER -0.187106 -0.885946 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER -0.230676 -0.834745 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER -0.252002 -0.824206 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER -0.234336 -0.827952 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER -0.231282 -0.810793 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER -0.248342 -0.830999 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER -0.227621 -0.817586 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER -0.227016 -0.841538 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER -0.251396 -0.848158 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER -0.23007 -0.858698 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER -0.23373 -0.851905 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER -0.147308 -0.866465 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER -0.130609 -0.876203 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.124356 -0.857385 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128522 -0.879733 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153561 -0.885283 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER -0.151474 -0.888813 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER -0.170259 -0.875546 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.149395 -0.862935 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER -0.166093 -0.853198 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER -0.143141 -0.844117 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER -0.184881 -0.802927 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER -0.180723 -0.785723 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER -0.173028 -0.782104 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER -0.161937 -0.798991 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER -0.192576 -0.806546 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER -0.17379 -0.819813 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196734 -0.82375 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203667 -0.78966 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207825 -0.806864 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER -0.195972 -0.786041 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111748 -0.803997 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER -0.108311 -0.798532 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER -0.119537 -0.819589 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131037 -0.797989 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100522 -0.78294 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER -0.123249 -0.782397 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.10396 -0.788405 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0890219 -0.80454 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0924597 -0.810005 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100248 -0.825597 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER -0.172546 -0.643951 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER -0.202787 -0.61371 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.200937 -0.595399 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.194794 -0.591462 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.180539 -0.605717 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.208929 -0.617647 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188531 -0.627965 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.210779 -0.635958 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.223185 -0.603392 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.225035 -0.621702 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.217042 -0.599454 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.244096 -0.624779 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.260374 -0.607636 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240901 -0.612854 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.237705 -0.600929 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.26357 -0.619561 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.240901 -0.612854 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.247291 -0.636704 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.266765 -0.631486 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.250487 -0.648629 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.247291 -0.636704 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.191718 -0.5724 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.185011 -0.549732 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.167868 -0.56601 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179793 -0.569205 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.208861 -0.556122 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203643 -0.575596 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.215568 -0.578791 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.196936 -0.552927 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.203643 -0.575596 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.179793 -0.569205 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.131237 -0.632882 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.131575 -0.625593 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.15071 -0.6381 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.146508 -0.614836 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.112102 -0.620375 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.127034 -0.609618 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111763 -0.627664 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.116304 -0.643639 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.115965 -0.650927 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.135439 -0.656145 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.120168 -0.591572 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.105912 -0.577317 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111438 -0.600302 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128897 -0.582843 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.114642 -0.568587 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.137627 -0.574113 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.128897 -0.582843 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0971825 -0.586046 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.111438 -0.600302 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.102708 -0.609032 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.100996 -0.663122 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0783272 -0.656415 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0978007 -0.651197 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0946054 -0.639272 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0815225 -0.66834 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0978007 -0.651197 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104191 -0.675047 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0847178 -0.680265 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.107387 -0.686972 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.104191 -0.675047 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.183615 -0.68526 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER -0.182351 -0.708085 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165569 -0.700531 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.188833 -0.704733 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER -0.200397 -0.692813 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER -0.206879 -0.689462 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER -0.201661 -0.669989 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177134 -0.688611 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER -0.178397 -0.665787 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER -0.160351 -0.681058 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER -0.153374 -0.715501 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.136231 -0.731779 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.129524 -0.70911 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141449 -0.712305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.160081 -0.738169 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165299 -0.718696 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.177224 -0.721891 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.148156 -0.734974 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER -0.165299 -0.718696 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.141449 -0.712305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.224924 -0.696329 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER -0.23918 -0.710584 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216195 -0.705059 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233654 -0.687599 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER -0.24791 -0.701855 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.242384 -0.678869 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER -0.233654 -0.687599 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.23045 -0.719314 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER -0.216195 -0.705059 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER -0.207465 -0.713788 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0133465 -0.69376 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.0631985 -0.668775 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0667914 -0.661946 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0511945 -0.680354 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0452771 -0.65711 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0787954 -0.650366 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0572811 -0.64553 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0752026 -0.657195 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0847128 -0.673611 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.08112 -0.680439 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.069116 -0.692019 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00804971 -0.649684 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.000226782 -0.634953 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0122343 -0.635947 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.012605 -0.655218 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0205108 -0.64869 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00767898 -0.668955 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0283337 -0.66342 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0208815 -0.629419 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0287044 -0.644149 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00842045 -0.630413 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0446211 -0.604582 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0239663 -0.599047 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0118635 -0.616676 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0446211 -0.604582 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0325183 -0.62221 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.053173 -0.627745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0845947 -0.712851 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.107813 -0.706291 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0896851 -0.701434 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0909853 -0.689001 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.102723 -0.717709 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0858949 -0.700418 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0795043 -0.724268 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.101422 -0.730141 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0782041 -0.736701 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0832945 -0.725284 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0539145 -0.666287 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0721382 -0.650692 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.072935 -0.663167 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0564414 -0.645053 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0531177 -0.653812 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0374209 -0.648173 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.034894 -0.669407 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0696112 -0.671925 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0513875 -0.68752 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.070408 -0.6844 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0347427 -0.737837 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0511556 -0.740802 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0580833 -0.730397 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.043171 -0.718185 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.027815 -0.748242 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0198304 -0.725625 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0114021 -0.745277 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0427273 -0.760455 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0263144 -0.757489 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0496549 -0.750049 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0440268 -0.740325 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.0650768 -0.746894 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0607735 -0.723153 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0653796 -0.739183 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.04833 -0.764065 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0486329 -0.756355 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.02728 -0.757496 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0437239 -0.748035 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0226739 -0.741466 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0394207 -0.724295 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER -0.00415829 -0.786629 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER -0.024813 -0.781094 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER -0.02648 -0.759776 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00415829 -0.786629 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0058253 -0.76531 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.0148294 -0.770845 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0272215 -0.721234 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER -0.0484665 -0.732368 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0371781 -0.737738 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0478762 -0.715699 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0385099 -0.715864 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0379196 -0.699195 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0172649 -0.70473 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0278118 -0.737902 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER -0.00656677 -0.726768 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER -0.0165234 -0.743272 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471405 -0.471405 1.11022e-16 RAD 0.166667
- txt002
- SPHERE CENTER 0.690426 -0.508983 1.83812e-16 RAD 0.0555556
- txt002
- SPHERE CENTER 0.755941 -0.484794 -0.0246914 RAD 0.0185185
- txt002
- SPHERE CENTER 0.767658 -0.47411 -0.0436186 RAD 0.00617284
- txt002
- SPHERE CENTER 0.749038 -0.489758 -0.0478724 RAD 0.00617284
- txt002
- SPHERE CENTER 0.744501 -0.467528 -0.0381316 RAD 0.00617284
- txt002
- SPHERE CENTER 0.774562 -0.469146 -0.0204376 RAD 0.00617284
- txt002
- SPHERE CENTER 0.751405 -0.462564 -0.0149506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.762845 -0.47983 -0.00151032 RAD 0.00617284
- txt002
- SPHERE CENTER 0.779098 -0.491377 -0.0301783 RAD 0.00617284
- txt002
- SPHERE CENTER 0.767382 -0.502061 -0.0112511 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760478 -0.507025 -0.0344321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.695668 -0.478434 -0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.703418 -0.481931 -0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.716184 -0.491475 -0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.694124 -0.500827 -0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682902 -0.46889 -0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.673608 -0.487786 -0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675152 -0.465393 -0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704962 -0.459538 -0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697211 -0.456041 -0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.717727 -0.469082 -0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7029 -0.436283 -0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.714226 -0.418941 -0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.724842 -0.44101 -0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.704751 -0.43889 -0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.692283 -0.414215 -0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682808 -0.434163 -0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680957 -0.431557 0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.712374 -0.416335 0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701048 -0.433677 0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.722991 -0.438403 0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.7507 -0.515343 0.0425863 RAD 0.0185185
- txt002
- SPHERE CENTER 0.773394 -0.506594 0.0468401 RAD 0.00617284
- txt002
- SPHERE CENTER 0.764807 -0.507924 0.0237283 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755462 -0.491321 0.0394341 RAD 0.00617284
- txt002
- SPHERE CENTER 0.759287 -0.514012 0.065698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.741355 -0.49874 0.058292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.736593 -0.522762 0.0614442 RAD 0.00617284
- txt002
- SPHERE CENTER 0.768632 -0.530616 0.0499923 RAD 0.00617284
- txt002
- SPHERE CENTER 0.745938 -0.539365 0.0457385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760045 -0.531946 0.0268805 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697658 -0.466832 0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.709346 -0.447385 0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.721188 -0.46231 0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.703286 -0.447429 0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.685816 -0.451907 0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.679757 -0.451951 0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674129 -0.471354 0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.703718 -0.466788 0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.692031 -0.486235 0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.71556 -0.481713 0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.685185 -0.539531 0.0672777 RAD 0.0185185
- txt002
- SPHERE CENTER 0.693658 -0.538818 0.0904587 RAD 0.00617284
- txt002
- SPHERE CENTER 0.708875 -0.534075 0.0716007 RAD 0.00617284
- txt002
- SPHERE CENTER 0.691194 -0.517905 0.0775657 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669969 -0.544274 0.0861356 RAD 0.00617284
- txt002
- SPHERE CENTER 0.667505 -0.523361 0.0732426 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661495 -0.544988 0.0629546 RAD 0.00617284
- txt002
- SPHERE CENTER 0.687649 -0.560445 0.0801706 RAD 0.00617284
- txt002
- SPHERE CENTER 0.679176 -0.561158 0.0569896 RAD 0.00617284
- txt002
- SPHERE CENTER 0.702866 -0.555702 0.0613127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.743468 -0.557494 -0.0178949 RAD 0.0185185
- txt002
- SPHERE CENTER 0.767402 -0.560084 -0.0233819 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755145 -0.53997 -0.0307879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.760285 -0.543179 -0.00685171 RAD 0.00617284
- txt002
- SPHERE CENTER 0.755725 -0.577608 -0.0104889 RAD 0.00617284
- txt002
- SPHERE CENTER 0.748608 -0.560703 0.00604126 RAD 0.00617284
- txt002
- SPHERE CENTER 0.731791 -0.575017 -0.00500196 RAD 0.00617284
- txt002
- SPHERE CENTER 0.750585 -0.574398 -0.0344251 RAD 0.00617284
- txt002
- SPHERE CENTER 0.726651 -0.571808 -0.0289382 RAD 0.00617284
- txt002
- SPHERE CENTER 0.738328 -0.554284 -0.0418311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677953 -0.581682 0.00679642 RAD 0.0185185
- txt002
- SPHERE CENTER 0.682851 -0.601808 0.0202367 RAD 0.00617284
- txt002
- SPHERE CENTER 0.700216 -0.58454 0.0170845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680568 -0.579842 0.0312799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.660588 -0.59895 0.00994863 RAD 0.00617284
- txt002
- SPHERE CENTER 0.658304 -0.576984 0.0209919 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65569 -0.578824 -0.00349164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680237 -0.603648 -0.0042468 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675339 -0.583522 -0.0176871 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697602 -0.58638 -0.00739901 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683194 -0.551134 -0.0604812 RAD 0.0185185
- txt002
- SPHERE CENTER 0.687731 -0.573364 -0.070222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.703871 -0.56324 -0.0545162 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682033 -0.571303 -0.0462858 RAD 0.00617284
- txt002
- SPHERE CENTER 0.667055 -0.561258 -0.076187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661356 -0.559196 -0.0522508 RAD 0.00617284
- txt002
- SPHERE CENTER 0.662518 -0.539027 -0.0664462 RAD 0.00617284
- txt002
- SPHERE CENTER 0.688893 -0.553195 -0.0844174 RAD 0.00617284
- txt002
- SPHERE CENTER 0.684356 -0.530964 -0.0746767 RAD 0.00617284
- txt002
- SPHERE CENTER 0.705033 -0.543071 -0.0687117 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607487 -0.335322 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.629404 -0.313405 -0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.626214 -0.316595 -0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624401 -0.335868 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606941 -0.318408 -0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.631217 -0.294133 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.611945 -0.295946 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634407 -0.290942 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.648676 -0.311592 -0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651867 -0.308402 -0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.646863 -0.330864 -0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610996 -0.384191 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.623201 -0.403702 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.635431 -0.385946 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62031 -0.401066 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.598766 -0.401947 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.595876 -0.399312 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586561 -0.382437 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.613886 -0.386827 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.601681 -0.367317 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626116 -0.369071 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.558618 -0.331813 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.539107 -0.319608 -0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541743 -0.322499 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.556863 -0.307378 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555982 -0.328923 -0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.573738 -0.316693 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575492 -0.341128 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.540862 -0.344043 -0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560372 -0.356248 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.543497 -0.346933 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625895 -0.264535 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.637402 -0.248969 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.646193 -0.271807 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625088 -0.268363 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617105 -0.241698 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604791 -0.261092 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605598 -0.257264 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638209 -0.245142 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626702 -0.260708 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647 -0.267979 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.550934 -0.258608 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603979 -0.286452 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.613271 -0.265398 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627912 -0.281225 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610787 -0.26842 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.589337 -0.270625 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.586853 -0.273647 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.580045 -0.291679 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.606463 -0.283431 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.59717 -0.304484 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621104 -0.299257 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678274 -0.316914 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.69384 -0.305407 -0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674446 -0.317721 -0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671002 -0.296616 -0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.697667 -0.3046 -0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.67483 -0.295809 -0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.682101 -0.316107 -0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.701111 -0.325704 -0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.685545 -0.337211 -0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681717 -0.338018 -0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656357 -0.33883 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.677411 -0.329538 -0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674389 -0.332022 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.661584 -0.314897 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659378 -0.336346 -0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.643552 -0.321705 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.638325 -0.345639 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.672184 -0.353472 -0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.65113 -0.362764 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669162 -0.355956 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684201 -0.391875 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607487 -0.335322 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.659645 -0.283164 0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.672915 -0.269894 0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666987 -0.293281 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.649528 -0.275822 0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665573 -0.259777 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.642185 -0.265705 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.652302 -0.273047 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.683032 -0.277236 0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669762 -0.290507 0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.677104 -0.300624 0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.656357 -0.33883 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.663448 -0.328536 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.639482 -0.329516 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.654603 -0.314396 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.680322 -0.33785 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.671477 -0.32371 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.673232 -0.348145 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.665202 -0.35297 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.658111 -0.363265 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.641237 -0.353951 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603979 -0.286452 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.614273 -0.279361 0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628413 -0.288206 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.613293 -0.303327 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.589839 -0.277607 0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588858 -0.301572 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.579544 -0.284698 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604959 -0.262487 0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.594664 -0.269578 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.619099 -0.271332 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610775 -0.279656 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.621535 -0.258061 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634468 -0.275921 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616678 -0.264057 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.597842 -0.261795 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.592985 -0.267791 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587082 -0.28339 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.615632 -0.27366 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604872 -0.295255 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628565 -0.29152 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.550934 -0.258608 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570229 -0.267823 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535813 -0.273728 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539989 -0.298064 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555109 -0.282943 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.558618 -0.331813 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.55307 -0.320611 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57665 -0.325005 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.563845 -0.30788 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535038 -0.327419 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.545813 -0.314688 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.540585 -0.338621 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547843 -0.344544 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.553391 -0.355747 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571423 -0.348938 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.663153 -0.332034 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684748 -0.321274 0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.678752 -0.326131 0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.666888 -0.308341 0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669149 -0.327177 0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.651289 -0.314244 0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.647554 -0.337937 0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.681014 -0.344967 0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659419 -0.355727 0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.675018 -0.349824 0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.610996 -0.384191 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.622198 -0.389739 0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.63493 -0.378964 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617804 -0.366159 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.598265 -0.394966 0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593871 -0.371386 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587062 -0.389418 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61539 -0.407771 0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.604188 -0.402224 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628121 -0.396997 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.684201 -0.391875 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.674986 -0.37258 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.669081 -0.406996 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.644745 -0.40282 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.659866 -0.3877 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.554344 -0.645066 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.610229 -0.668521 0.153697 RAD 0.0185185
- txt002
- SPHERE CENTER 0.633406 -0.663938 0.160875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626429 -0.65892 0.137727 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617928 -0.64522 0.156428 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617206 -0.673539 0.176845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.601728 -0.654822 0.172398 RAD 0.00617284
- txt002
- SPHERE CENTER 0.59403 -0.678123 0.169668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625707 -0.687239 0.158144 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602531 -0.691822 0.150967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.61873 -0.682221 0.134996 RAD 0.00617284
- txt002
- SPHERE CENTER 0.622977 -0.619787 0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.63767 -0.608008 0.0834188 RAD 0.00617284
- txt002
- SPHERE CENTER 0.620102 -0.623239 0.0751099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.613891 -0.601637 0.0853287 RAD 0.00617284
- txt002
- SPHERE CENTER 0.640545 -0.604555 0.107698 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616766 -0.598184 0.109608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.625852 -0.616334 0.123668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.646756 -0.626157 0.0974792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.632063 -0.637936 0.113449 RAD 0.00617284
- txt002
- SPHERE CENTER 0.629188 -0.641389 0.0891702 RAD 0.00617284
- txt002
- SPHERE CENTER 0.585648 -0.598918 0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.601562 -0.580238 0.162601 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605914 -0.59781 0.14581 RAD 0.00617284
- txt002
- SPHERE CENTER 0.587563 -0.581665 0.142311 RAD 0.00617284
- txt002
- SPHERE CENTER 0.581295 -0.581346 0.176661 RAD 0.00617284
- txt002
- SPHERE CENTER 0.567297 -0.582773 0.156372 RAD 0.00617284
- txt002
- SPHERE CENTER 0.565381 -0.600026 0.173931 RAD 0.00617284
- txt002
- SPHERE CENTER 0.599646 -0.597491 0.18016 RAD 0.00617284
- txt002
- SPHERE CENTER 0.583732 -0.616171 0.177429 RAD 0.00617284
- txt002
- SPHERE CENTER 0.603999 -0.615063 0.163369 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541596 -0.6938 0.165419 RAD 0.0185185
- txt002
- SPHERE CENTER 0.547376 -0.70016 0.188567 RAD 0.00617284
- txt002
- SPHERE CENTER 0.564621 -0.690564 0.173728 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546319 -0.676324 0.182211 RAD 0.00617284
- txt002
- SPHERE CENTER 0.524351 -0.703396 0.180258 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523294 -0.679561 0.173902 RAD 0.00617284
- txt002
- SPHERE CENTER 0.518571 -0.697037 0.157111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542652 -0.717636 0.171776 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536873 -0.711276 0.148628 RAD 0.00617284
- txt002
- SPHERE CENTER 0.559898 -0.70804 0.156937 RAD 0.00617284
- txt002
- SPHERE CENTER 0.517014 -0.624197 0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.516313 -0.60809 0.190293 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538029 -0.616221 0.181811 RAD 0.00617284
- txt002
- SPHERE CENTER 0.524375 -0.60089 0.168094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495298 -0.616065 0.180075 RAD 0.00617284
- txt002
- SPHERE CENTER 0.50336 -0.608865 0.157875 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495999 -0.632172 0.161374 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508952 -0.631397 0.193792 RAD 0.00617284
- txt002
- SPHERE CENTER 0.509653 -0.647504 0.175091 RAD 0.00617284
- txt002
- SPHERE CENTER 0.530668 -0.639529 0.18531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48571 -0.670344 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.466887 -0.67091 0.138803 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490138 -0.671107 0.147112 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480853 -0.650637 0.136894 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46246 -0.670147 0.114524 RAD 0.00617284
- txt002
- SPHERE CENTER 0.476425 -0.649874 0.112614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.481283 -0.669581 0.0985541 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471745 -0.690617 0.124743 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490567 -0.690052 0.108773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.494995 -0.690815 0.133052 RAD 0.00617284
- txt002
- SPHERE CENTER 0.578925 -0.714669 0.104938 RAD 0.0185185
- txt002
- SPHERE CENTER 0.597914 -0.729812 0.109385 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602084 -0.70632 0.103028 RAD 0.00617284
- txt002
- SPHERE CENTER 0.592661 -0.711617 0.125228 RAD 0.00617284
- txt002
- SPHERE CENTER 0.574755 -0.738161 0.111295 RAD 0.00617284
- txt002
- SPHERE CENTER 0.569503 -0.719965 0.127138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.555767 -0.723017 0.106848 RAD 0.00617284
- txt002
- SPHERE CENTER 0.584178 -0.732864 0.0890951 RAD 0.00617284
- txt002
- SPHERE CENTER 0.565189 -0.71772 0.0846485 RAD 0.00617284
- txt002
- SPHERE CENTER 0.588348 -0.709372 0.0827387 RAD 0.00617284
- txt002
- SPHERE CENTER 0.52304 -0.691213 0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.511567 -0.712906 0.0596212 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529503 -0.710453 0.0764123 RAD 0.00617284
- txt002
- SPHERE CENTER 0.507717 -0.699372 0.079911 RAD 0.00617284
- txt002
- SPHERE CENTER 0.505104 -0.693665 0.0455609 RAD 0.00617284
- txt002
- SPHERE CENTER 0.501254 -0.680131 0.0658506 RAD 0.00617284
- txt002
- SPHERE CENTER 0.516576 -0.671972 0.0482916 RAD 0.00617284
- txt002
- SPHERE CENTER 0.526889 -0.704747 0.0420622 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538362 -0.683054 0.044793 RAD 0.00617284
- txt002
- SPHERE CENTER 0.544826 -0.702295 0.0588533 RAD 0.00617284
- txt002
- SPHERE CENTER 0.591673 -0.665934 0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.605761 -0.658095 0.0319289 RAD 0.00617284
- txt002
- SPHERE CENTER 0.58746 -0.643855 0.0404111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.607672 -0.647455 0.0541285 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609975 -0.680174 0.0421477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.611885 -0.669535 0.0643473 RAD 0.00617284
- txt002
- SPHERE CENTER 0.595887 -0.688013 0.0608487 RAD 0.00617284
- txt002
- SPHERE CENTER 0.589763 -0.676573 0.0284303 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575674 -0.684413 0.0471312 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571461 -0.662334 0.0369125 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471405 -0.471405 0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.501645 -0.441164 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.518106 -0.424703 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.522721 -0.437548 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.505261 -0.420089 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497031 -0.428319 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484186 -0.423704 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48057 -0.44478 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.51449 -0.445778 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498029 -0.462239 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.519105 -0.458623 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.452233 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.560583 -0.44013 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.452233 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.53742 -0.431578 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560583 -0.44013 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.53742 -0.431578 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.452233 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.566118 -0.460785 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548489 -0.472887 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.548489 -0.472887 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.399854 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.502679 -0.382226 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.511231 -0.405389 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.399854 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.482024 -0.376691 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.469922 -0.39432 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.469922 -0.39432 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.502679 -0.382226 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.399854 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.511231 -0.405389 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.430095 -0.460336 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.427669 -0.446904 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.450155 -0.45293 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436486 -0.436486 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.407609 -0.454311 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.416426 -0.443892 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410035 -0.467742 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.421278 -0.470754 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.423704 -0.484186 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.443764 -0.47678 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.419026 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.414851 -0.39469 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434147 -0.403906 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.434147 -0.403906 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399731 -0.409811 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.419026 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403906 -0.434147 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399731 -0.409811 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.403906 -0.434147 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.419026 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.490576 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.378536 -0.488909 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.490576 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39432 -0.469922 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378536 -0.488909 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.39432 -0.469922 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.490576 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384071 -0.509564 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405389 -0.511231 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.405389 -0.511231 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.482473 -0.512714 0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.495905 -0.51514 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506323 -0.506323 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.48988 -0.492654 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472055 -0.521531 0.30328 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46603 -0.499045 0.295049 RAD 0.00617284
- txt002
- SPHERE CENTER 0.458623 -0.519105 0.282703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.488498 -0.5352 0.290934 RAD 0.00617284
- txt002
- SPHERE CENTER 0.475067 -0.532774 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498917 -0.526383 0.270358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.542955 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.4539 -0.564273 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472887 -0.548489 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.542955 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433245 -0.558738 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.431578 -0.53742 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.431578 -0.53742 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4539 -0.564273 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.542955 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.472887 -0.548489 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.523783 0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.548119 -0.527958 0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538903 -0.508662 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.538903 -0.508662 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532998 -0.543078 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.523783 0.246914 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508662 -0.538903 0.234568 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532998 -0.543078 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508662 -0.538903 0.209877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.523783 0.197531 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335322 -0.607487 0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.313405 -0.629404 0.178389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.316595 -0.626214 0.202664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335868 -0.624401 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318408 -0.606941 0.187336 RAD 0.00617284
- txt002
- SPHERE CENTER 0.294133 -0.631217 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295946 -0.611945 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290942 -0.634407 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.311592 -0.648676 0.193717 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308402 -0.651867 0.169441 RAD 0.00617284
- txt002
- SPHERE CENTER 0.330864 -0.646863 0.178389 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384191 -0.610996 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.405245 -0.601704 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.402224 -0.604188 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.389418 -0.587062 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.387213 -0.608512 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.371386 -0.593871 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.366159 -0.617804 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.400018 -0.625637 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.378964 -0.63493 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396997 -0.628121 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331813 -0.558618 0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.341105 -0.537564 0.175614 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355747 -0.553391 0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338621 -0.540585 0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317172 -0.542791 0.178701 RAD 0.00617284
- txt002
- SPHERE CENTER 0.314688 -0.545813 0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.30788 -0.563845 0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.334297 -0.555596 0.191046 RAD 0.00617284
- txt002
- SPHERE CENTER 0.325005 -0.57665 0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.348938 -0.571423 0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.264535 -0.625895 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.245336 -0.623429 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268271 -0.624736 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.260997 -0.604627 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2416 -0.624589 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.257262 -0.605787 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.2608 -0.627055 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.248874 -0.644697 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268073 -0.647163 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271809 -0.646004 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.278768 -0.530773 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286452 -0.603979 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.266942 -0.591774 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269578 -0.594664 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.284698 -0.579544 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.283817 -0.601088 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.301572 -0.588858 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.303327 -0.613293 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.268696 -0.616209 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.288206 -0.628413 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.271332 -0.619099 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316914 -0.678274 0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.31938 -0.697473 0.138161 RAD 0.00617284
- txt002
- SPHERE CENTER 0.338182 -0.681812 0.134867 RAD 0.00617284
- txt002
- SPHERE CENTER 0.318074 -0.674538 0.147213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298112 -0.693935 0.126127 RAD 0.00617284
- txt002
- SPHERE CENTER 0.296805 -0.671 0.135179 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295646 -0.674736 0.110799 RAD 0.00617284
- txt002
- SPHERE CENTER 0.31822 -0.701209 0.113782 RAD 0.00617284
- txt002
- SPHERE CENTER 0.315754 -0.682009 0.0984536 RAD 0.00617284
- txt002
- SPHERE CENTER 0.337022 -0.685547 0.110488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33883 -0.656357 0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.351035 -0.675867 0.0466081 RAD 0.00617284
- txt002
- SPHERE CENTER 0.363265 -0.658111 0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.348145 -0.673232 0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3266 -0.674113 0.0435217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.32371 -0.671477 0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.314396 -0.654603 0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.341721 -0.658993 0.031176 RAD 0.00617284
- txt002
- SPHERE CENTER 0.329516 -0.639482 0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.353951 -0.641237 0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.412036 -0.664041 0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.554344 -0.645066 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.616373 -0.681385 -0.129006 RAD 0.0185185
- txt002
- SPHERE CENTER 0.639472 -0.678928 -0.137375 RAD 0.00617284
- txt002
- SPHERE CENTER 0.621631 -0.664108 -0.145845 RAD 0.00617284
- txt002
- SPHERE CENTER 0.629767 -0.661636 -0.122663 RAD 0.00617284
- txt002
- SPHERE CENTER 0.634214 -0.696205 -0.120537 RAD 0.00617284
- txt002
- SPHERE CENTER 0.624508 -0.678912 -0.105825 RAD 0.00617284
- txt002
- SPHERE CENTER 0.611115 -0.698662 -0.112168 RAD 0.00617284
- txt002
- SPHERE CENTER 0.626079 -0.698678 -0.143718 RAD 0.00617284
- txt002
- SPHERE CENTER 0.602979 -0.701135 -0.135349 RAD 0.00617284
- txt002
- SPHERE CENTER 0.608237 -0.683858 -0.152187 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617144 -0.607573 -0.122833 RAD 0.0185185
- txt002
- SPHERE CENTER 0.63057 -0.595495 -0.139672 RAD 0.00617284
- txt002
- SPHERE CENTER 0.617371 -0.615286 -0.146288 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605919 -0.594239 -0.140323 RAD 0.00617284
- txt002
- SPHERE CENTER 0.630343 -0.587782 -0.116217 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605692 -0.586526 -0.116868 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616917 -0.59986 -0.0993785 RAD 0.00617284
- txt002
- SPHERE CENTER 0.641795 -0.608828 -0.122182 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628369 -0.620906 -0.105343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.628595 -0.628619 -0.128798 RAD 0.00617284
- txt002
- SPHERE CENTER 0.609912 -0.649723 -0.062352 RAD 0.0185185
- txt002
- SPHERE CENTER 0.631982 -0.640648 -0.0560094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.62585 -0.64267 -0.0798417 RAD 0.00617284
- txt002
- SPHERE CENTER 0.614812 -0.625749 -0.0656463 RAD 0.00617284
- txt002
- SPHERE CENTER 0.616044 -0.647702 -0.0385197 RAD 0.00617284
- txt002
- SPHERE CENTER 0.598874 -0.632802 -0.0481565 RAD 0.00617284
- txt002
- SPHERE CENTER 0.593974 -0.656777 -0.0448623 RAD 0.00617284
- txt002
- SPHERE CENTER 0.627081 -0.664623 -0.0527151 RAD 0.00617284
- txt002
- SPHERE CENTER 0.605012 -0.673698 -0.0590577 RAD 0.00617284
- txt002
- SPHERE CENTER 0.620949 -0.666645 -0.0765474 RAD 0.00617284
- txt002
- SPHERE CENTER 0.553573 -0.718878 -0.117284 RAD 0.0185185
- txt002
- SPHERE CENTER 0.563328 -0.73992 -0.108814 RAD 0.00617284
- txt002
- SPHERE CENTER 0.577348 -0.719679 -0.110668 RAD 0.00617284
- txt002
- SPHERE CENTER 0.559693 -0.720935 -0.0934517 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539553 -0.739118 -0.115431 RAD 0.00617284
- txt002
- SPHERE CENTER 0.535918 -0.720133 -0.100068 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529798 -0.718076 -0.1239 RAD 0.00617284
- txt002
- SPHERE CENTER 0.557208 -0.737863 -0.132647 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547453 -0.716821 -0.141116 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571228 -0.717623 -0.1345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.547112 -0.687216 -0.0506299 RAD 0.0185185
- txt002
- SPHERE CENTER 0.554862 -0.690713 -0.0274488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.570641 -0.682694 -0.0446649 RAD 0.00617284
- txt002
- SPHERE CENTER 0.552739 -0.667813 -0.0364345 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531333 -0.695235 -0.0334138 RAD 0.00617284
- txt002
- SPHERE CENTER 0.52921 -0.672335 -0.0423994 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523582 -0.691738 -0.0565949 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549235 -0.710116 -0.0416443 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541484 -0.706619 -0.0648253 RAD 0.00617284
- txt002
- SPHERE CENTER 0.565014 -0.702097 -0.0588603 RAD 0.00617284
- txt002
- SPHERE CENTER 0.491544 -0.682558 -0.099389 RAD 0.0185185
- txt002
- SPHERE CENTER 0.474542 -0.688647 -0.0825505 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498226 -0.686417 -0.0759343 RAD 0.00617284
- txt002
- SPHERE CENTER 0.485132 -0.666351 -0.0818993 RAD 0.00617284
- txt002
- SPHERE CENTER 0.46786 -0.684788 -0.106005 RAD 0.00617284
- txt002
- SPHERE CENTER 0.47845 -0.662492 -0.105354 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484862 -0.678699 -0.122844 RAD 0.00617284
- txt002
- SPHERE CENTER 0.480953 -0.704854 -0.10004 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497955 -0.698765 -0.116879 RAD 0.00617284
- txt002
- SPHERE CENTER 0.504637 -0.702624 -0.093424 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560805 -0.676727 -0.177765 RAD 0.0185185
- txt002
- SPHERE CENTER 0.57563 -0.689897 -0.192477 RAD 0.00617284
- txt002
- SPHERE CENTER 0.585222 -0.673115 -0.177114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.575587 -0.693998 -0.168128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.551213 -0.693509 -0.193128 RAD 0.00617284
- txt002
- SPHERE CENTER 0.55117 -0.69761 -0.16878 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536388 -0.680339 -0.178416 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560848 -0.672626 -0.202114 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546023 -0.659456 -0.187402 RAD 0.00617284
- txt002
- SPHERE CENTER 0.57044 -0.655844 -0.186751 RAD 0.00617284
- txt002
- SPHERE CENTER 0.498776 -0.640408 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.478525 -0.627785 -0.166213 RAD 0.00617284
- txt002
- SPHERE CENTER 0.484234 -0.630799 -0.142381 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497935 -0.615951 -0.156576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493066 -0.637394 -0.183703 RAD 0.00617284
- txt002
- SPHERE CENTER 0.512476 -0.62556 -0.174066 RAD 0.00617284
- txt002
- SPHERE CENTER 0.513317 -0.650016 -0.17736 RAD 0.00617284
- txt002
- SPHERE CENTER 0.479365 -0.652241 -0.169507 RAD 0.00617284
- txt002
- SPHERE CENTER 0.499616 -0.664864 -0.163165 RAD 0.00617284
- txt002
- SPHERE CENTER 0.485075 -0.655255 -0.145675 RAD 0.00617284
- txt002
- SPHERE CENTER 0.561576 -0.602915 -0.171592 RAD 0.0185185
- txt002
- SPHERE CENTER 0.570049 -0.602201 -0.194773 RAD 0.00617284
- txt002
- SPHERE CENTER 0.582252 -0.615021 -0.177557 RAD 0.00617284
- txt002
- SPHERE CENTER 0.560414 -0.623084 -0.185788 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549372 -0.590095 -0.188808 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539737 -0.610978 -0.179823 RAD 0.00617284
- txt002
- SPHERE CENTER 0.540899 -0.590808 -0.165627 RAD 0.00617284
- txt002
- SPHERE CENTER 0.571211 -0.582032 -0.180578 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562738 -0.582745 -0.157397 RAD 0.00617284
- txt002
- SPHERE CENTER 0.583414 -0.594852 -0.163362 RAD 0.00617284
- txt002
- SPHERE CENTER 0.335322 -0.607487 -0.111111 RAD 0.0555556
- txt002
- SPHERE CENTER 0.283164 -0.659645 -0.104315 RAD 0.0185185
- txt002
- SPHERE CENTER 0.269894 -0.672915 -0.0882695 RAD 0.00617284
- txt002
- SPHERE CENTER 0.293281 -0.666987 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275822 -0.649528 -0.0830215 RAD 0.00617284
- txt002
- SPHERE CENTER 0.259777 -0.665573 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.265705 -0.642185 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273047 -0.652302 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.277236 -0.683032 -0.109563 RAD 0.00617284
- txt002
- SPHERE CENTER 0.290507 -0.669762 -0.125608 RAD 0.00617284
- txt002
- SPHERE CENTER 0.300624 -0.677104 -0.104315 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33883 -0.656357 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.350033 -0.661904 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.362764 -0.65113 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.345639 -0.638325 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.326099 -0.667131 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.321705 -0.643552 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.314897 -0.661584 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.343224 -0.679937 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332022 -0.674389 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355956 -0.669162 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286452 -0.603979 -0.0555556 RAD 0.0185185
- txt002
- SPHERE CENTER 0.280905 -0.592776 -0.0342624 RAD 0.00617284
- txt002
- SPHERE CENTER 0.304484 -0.59717 -0.0401235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.291679 -0.580045 -0.0524691 RAD 0.00617284
- txt002
- SPHERE CENTER 0.262872 -0.599585 -0.0496945 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273647 -0.586853 -0.0679012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26842 -0.610787 -0.0709877 RAD 0.00617284
- txt002
- SPHERE CENTER 0.275678 -0.61671 -0.0373488 RAD 0.00617284
- txt002
- SPHERE CENTER 0.281225 -0.627912 -0.058642 RAD 0.00617284
- txt002
- SPHERE CENTER 0.299257 -0.621104 -0.0432099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.279656 -0.610775 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.256944 -0.602632 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.26347 -0.606749 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.273158 -0.587686 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.27313 -0.606658 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.289344 -0.591712 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.295841 -0.614801 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263442 -0.62572 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.286153 -0.633864 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.269968 -0.629838 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.278768 -0.530773 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.298064 -0.539989 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.263648 -0.545894 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.267823 -0.570229 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.282943 -0.555109 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.331813 -0.558618 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.342108 -0.551527 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.356248 -0.560372 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.341128 -0.575492 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317673 -0.549772 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.316693 -0.573738 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.307378 -0.556863 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332793 -0.534652 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.322499 -0.541743 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.346933 -0.543497 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.332034 -0.663153 -0.15987 RAD 0.0185185
- txt002
- SPHERE CENTER 0.340177 -0.685865 -0.165118 RAD 0.00617284
- txt002
- SPHERE CENTER 0.355123 -0.669651 -0.154009 RAD 0.00617284
- txt002
- SPHERE CENTER 0.33606 -0.679339 -0.141664 RAD 0.00617284
- txt002
- SPHERE CENTER 0.317089 -0.679367 -0.170979 RAD 0.00617284
- txt002
- SPHERE CENTER 0.312971 -0.672841 -0.147525 RAD 0.00617284
- txt002
- SPHERE CENTER 0.308945 -0.656656 -0.165731 RAD 0.00617284
- txt002
- SPHERE CENTER 0.336151 -0.669679 -0.183325 RAD 0.00617284
- txt002
- SPHERE CENTER 0.328008 -0.646968 -0.178077 RAD 0.00617284
- txt002
- SPHERE CENTER 0.351097 -0.653465 -0.172216 RAD 0.00617284
- txt002
- SPHERE CENTER 0.384191 -0.610996 -0.166667 RAD 0.0185185
- txt002
- SPHERE CENTER 0.391282 -0.600701 -0.18796 RAD 0.00617284
- txt002
- SPHERE CENTER 0.367317 -0.601681 -0.182099 RAD 0.00617284
- txt002
- SPHERE CENTER 0.382437 -0.586561 -0.169753 RAD 0.00617284
- txt002
- SPHERE CENTER 0.408157 -0.610016 -0.172528 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399312 -0.595876 -0.154321 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401066 -0.62031 -0.151235 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393037 -0.625136 -0.184873 RAD 0.00617284
- txt002
- SPHERE CENTER 0.385946 -0.635431 -0.16358 RAD 0.00617284
- txt002
- SPHERE CENTER 0.369071 -0.626116 -0.179012 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 -0.111111 RAD 0.0185185
- txt002
- SPHERE CENTER 0.412036 -0.664041 -0.111111 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40282 -0.644745 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 -0.0864198 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 -0.0987654 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396915 -0.679161 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.37258 -0.674986 -0.123457 RAD 0.00617284
- txt002
- SPHERE CENTER 0.3877 -0.659866 -0.135802 RAD 0.00617284
- txt002
- SPHERE CENTER 0.471405 -0.471405 -0.222222 RAD 0.0555556
- txt002
- SPHERE CENTER 0.441164 -0.441164 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.443014 -0.422853 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.449156 -0.418916 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.463412 -0.433171 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.435021 -0.445101 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455419 -0.455419 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.433171 -0.463412 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.420766 -0.430846 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.418916 -0.449156 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.426908 -0.426908 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.399854 -0.452233 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.383576 -0.43509 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40305 -0.440308 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.406245 -0.428383 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.380381 -0.447015 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.40305 -0.440308 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396659 -0.464158 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.377186 -0.45894 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.393464 -0.476083 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396659 -0.464158 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.452233 -0.399854 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.45894 -0.377186 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.476083 -0.393464 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.464158 -0.396659 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.43509 -0.383576 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440308 -0.40305 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.428383 -0.406245 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.447015 -0.380381 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.440308 -0.40305 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.464158 -0.396659 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.512714 -0.460336 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.512375 -0.453047 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.493241 -0.465554 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.497443 -0.44229 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.531849 -0.447829 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.516916 -0.437072 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532187 -0.455118 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527647 -0.471093 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.527985 -0.478381 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.508512 -0.483599 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.523783 -0.419026 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.538038 -0.404771 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532513 -0.427756 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.515053 -0.410297 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.529309 -0.396041 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.506323 -0.401567 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.515053 -0.410297 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.546768 -0.4135 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.532513 -0.427756 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.541242 -0.436486 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.542955 -0.490576 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.565623 -0.483869 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.54615 -0.478651 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.549345 -0.466726 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.562428 -0.495794 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.54615 -0.478651 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539759 -0.502501 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.559233 -0.507719 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.536564 -0.514426 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.539759 -0.502501 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.460336 -0.512714 -0.282703 RAD 0.0185185
- txt002
- SPHERE CENTER 0.461599 -0.535539 -0.292037 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478381 -0.527985 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.455118 -0.532187 -0.268448 RAD 0.00617284
- txt002
- SPHERE CENTER 0.443553 -0.520267 -0.299164 RAD 0.00617284
- txt002
- SPHERE CENTER 0.437072 -0.516916 -0.275576 RAD 0.00617284
- txt002
- SPHERE CENTER 0.44229 -0.497443 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.466817 -0.516065 -0.306292 RAD 0.00617284
- txt002
- SPHERE CENTER 0.465554 -0.493241 -0.296959 RAD 0.00617284
- txt002
- SPHERE CENTER 0.483599 -0.508512 -0.289831 RAD 0.00617284
- txt002
- SPHERE CENTER 0.490576 -0.542955 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.507719 -0.559233 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.514426 -0.536564 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.502501 -0.539759 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.483869 -0.565623 -0.215094 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478651 -0.54615 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.466726 -0.549345 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.495794 -0.562428 -0.236478 RAD 0.00617284
- txt002
- SPHERE CENTER 0.478651 -0.54615 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.502501 -0.539759 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.419026 -0.523783 -0.222222 RAD 0.0185185
- txt002
- SPHERE CENTER 0.404771 -0.538038 -0.207967 RAD 0.00617284
- txt002
- SPHERE CENTER 0.427756 -0.532513 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410297 -0.515053 -0.200839 RAD 0.00617284
- txt002
- SPHERE CENTER 0.396041 -0.529309 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.401567 -0.506323 -0.222222 RAD 0.00617284
- txt002
- SPHERE CENTER 0.410297 -0.515053 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.4135 -0.546768 -0.22935 RAD 0.00617284
- txt002
- SPHERE CENTER 0.427756 -0.532513 -0.243606 RAD 0.00617284
- txt002
- SPHERE CENTER 0.436486 -0.541242 -0.222222 RAD 0.00617284
- txt002
-
-END_SCENE
+++ /dev/null
-BEGIN_SCENE
- OUTFILE /dev/null
- RESOLUTION 512 512
- VERBOSE 0
-
-CAMERA
- ZOOM 1.0
- ASPECTRATIO 1.0
- ANTIALIASING 0
- RAYDEPTH 8
- CENTER 0.5625 1 0.9375
- VIEWDIR 0 -0.707107 -0.707107
- UPDIR 0.272166 0.680414 -0.680414
-
-END_CAMERA
-
-LIGHT CENTER 2 0.5 0.5 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER -1 0.5 0.5 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 0.5 2 0.5 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 0.5 -1 0.5 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 0.5 0.5 2 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 0.5 0.5 -1 RAD 0.002 COLOR 0.5 0.5 0.5
-
-TEXDEF txt001 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0 RAD 0.03125
- txt001
-TEXDEF txt002 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0 APEX 0.109531 0 0 RAD 0.0078125
- txt002
-TEXDEF txt003 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0 APEX 0 0.109531 0 RAD 0.0078125
- txt003
-TEXDEF txt004 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.0154687 APEX 0 0 0.109531 RAD 0.0078125
- txt004
-TEXDEF txt005 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0.125 RAD 0.03125
- txt005
-TEXDEF txt006 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0.125 APEX 0.109531 0 0.125 RAD 0.0078125
- txt006
-TEXDEF txt007 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0.125 APEX 0 0.109531 0.125 RAD 0.0078125
- txt007
-TEXDEF txt008 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.140469 APEX 0 0 0.234531 RAD 0.0078125
- txt008
-TEXDEF txt009 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0.25 RAD 0.03125
- txt009
-TEXDEF txt010 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0.25 APEX 0.109531 0 0.25 RAD 0.0078125
- txt010
-TEXDEF txt011 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0.25 APEX 0 0.109531 0.25 RAD 0.0078125
- txt011
-TEXDEF txt012 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.265469 APEX 0 0 0.359531 RAD 0.0078125
- txt012
-TEXDEF txt013 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0.375 RAD 0.03125
- txt013
-TEXDEF txt014 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0.375 APEX 0.109531 0 0.375 RAD 0.0078125
- txt014
-TEXDEF txt015 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0.375 APEX 0 0.109531 0.375 RAD 0.0078125
- txt015
-TEXDEF txt016 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.390469 APEX 0 0 0.484531 RAD 0.0078125
- txt016
-TEXDEF txt017 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0.5 RAD 0.03125
- txt017
-TEXDEF txt018 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0.5 APEX 0.109531 0 0.5 RAD 0.0078125
- txt018
-TEXDEF txt019 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0.5 APEX 0 0.109531 0.5 RAD 0.0078125
- txt019
-TEXDEF txt020 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.515469 APEX 0 0 0.609531 RAD 0.0078125
- txt020
-TEXDEF txt021 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0.625 RAD 0.03125
- txt021
-TEXDEF txt022 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0.625 APEX 0.109531 0 0.625 RAD 0.0078125
- txt022
-TEXDEF txt023 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0.625 APEX 0 0.109531 0.625 RAD 0.0078125
- txt023
-TEXDEF txt024 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.640469 APEX 0 0 0.734531 RAD 0.0078125
- txt024
-TEXDEF txt025 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0.75 RAD 0.03125
- txt025
-TEXDEF txt026 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0.75 APEX 0.109531 0 0.75 RAD 0.0078125
- txt026
-TEXDEF txt027 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0.75 APEX 0 0.109531 0.75 RAD 0.0078125
- txt027
-TEXDEF txt028 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.765469 APEX 0 0 0.859531 RAD 0.0078125
- txt028
-TEXDEF txt029 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 0.875 RAD 0.03125
- txt029
-TEXDEF txt030 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 0.875 APEX 0.109531 0 0.875 RAD 0.0078125
- txt030
-TEXDEF txt031 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 0.875 APEX 0 0.109531 0.875 RAD 0.0078125
- txt031
-TEXDEF txt032 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0 0.890469 APEX 0 0 0.984531 RAD 0.0078125
- txt032
-TEXDEF txt033 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0 1 RAD 0.03125
- txt033
-TEXDEF txt034 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0 1 APEX 0.109531 0 1 RAD 0.0078125
- txt034
-TEXDEF txt035 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.0154687 1 APEX 0 0.109531 1 RAD 0.0078125
- txt035
-TEXDEF txt036 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0 RAD 0.03125
- txt036
-TEXDEF txt037 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0 APEX 0.109531 0.125 0 RAD 0.0078125
- txt037
-TEXDEF txt038 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0 APEX 0 0.234531 0 RAD 0.0078125
- txt038
-TEXDEF txt039 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.0154687 APEX 0 0.125 0.109531 RAD 0.0078125
- txt039
-TEXDEF txt040 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0.125 RAD 0.03125
- txt040
-TEXDEF txt041 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0.125 APEX 0.109531 0.125 0.125 RAD 0.0078125
- txt041
-TEXDEF txt042 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0.125 APEX 0 0.234531 0.125 RAD 0.0078125
- txt042
-TEXDEF txt043 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.140469 APEX 0 0.125 0.234531 RAD 0.0078125
- txt043
-TEXDEF txt044 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0.25 RAD 0.03125
- txt044
-TEXDEF txt045 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0.25 APEX 0.109531 0.125 0.25 RAD 0.0078125
- txt045
-TEXDEF txt046 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0.25 APEX 0 0.234531 0.25 RAD 0.0078125
- txt046
-TEXDEF txt047 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.265469 APEX 0 0.125 0.359531 RAD 0.0078125
- txt047
-TEXDEF txt048 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0.375 RAD 0.03125
- txt048
-TEXDEF txt049 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0.375 APEX 0.109531 0.125 0.375 RAD 0.0078125
- txt049
-TEXDEF txt050 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0.375 APEX 0 0.234531 0.375 RAD 0.0078125
- txt050
-TEXDEF txt051 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.390469 APEX 0 0.125 0.484531 RAD 0.0078125
- txt051
-TEXDEF txt052 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0.5 RAD 0.03125
- txt052
-TEXDEF txt053 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0.5 APEX 0.109531 0.125 0.5 RAD 0.0078125
- txt053
-TEXDEF txt054 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0.5 APEX 0 0.234531 0.5 RAD 0.0078125
- txt054
-TEXDEF txt055 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.515469 APEX 0 0.125 0.609531 RAD 0.0078125
- txt055
-TEXDEF txt056 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0.625 RAD 0.03125
- txt056
-TEXDEF txt057 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0.625 APEX 0.109531 0.125 0.625 RAD 0.0078125
- txt057
-TEXDEF txt058 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0.625 APEX 0 0.234531 0.625 RAD 0.0078125
- txt058
-TEXDEF txt059 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.640469 APEX 0 0.125 0.734531 RAD 0.0078125
- txt059
-TEXDEF txt060 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0.75 RAD 0.03125
- txt060
-TEXDEF txt061 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0.75 APEX 0.109531 0.125 0.75 RAD 0.0078125
- txt061
-TEXDEF txt062 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0.75 APEX 0 0.234531 0.75 RAD 0.0078125
- txt062
-TEXDEF txt063 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.765469 APEX 0 0.125 0.859531 RAD 0.0078125
- txt063
-TEXDEF txt064 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 0.875 RAD 0.03125
- txt064
-TEXDEF txt065 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 0.875 APEX 0.109531 0.125 0.875 RAD 0.0078125
- txt065
-TEXDEF txt066 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 0.875 APEX 0 0.234531 0.875 RAD 0.0078125
- txt066
-TEXDEF txt067 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.125 0.890469 APEX 0 0.125 0.984531 RAD 0.0078125
- txt067
-TEXDEF txt068 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.125 1 RAD 0.03125
- txt068
-TEXDEF txt069 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.125 1 APEX 0.109531 0.125 1 RAD 0.0078125
- txt069
-TEXDEF txt070 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.140469 1 APEX 0 0.234531 1 RAD 0.0078125
- txt070
-TEXDEF txt071 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0 RAD 0.03125
- txt071
-TEXDEF txt072 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0 APEX 0.109531 0.25 0 RAD 0.0078125
- txt072
-TEXDEF txt073 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0 APEX 0 0.359531 0 RAD 0.0078125
- txt073
-TEXDEF txt074 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.0154687 APEX 0 0.25 0.109531 RAD 0.0078125
- txt074
-TEXDEF txt075 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0.125 RAD 0.03125
- txt075
-TEXDEF txt076 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0.125 APEX 0.109531 0.25 0.125 RAD 0.0078125
- txt076
-TEXDEF txt077 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0.125 APEX 0 0.359531 0.125 RAD 0.0078125
- txt077
-TEXDEF txt078 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.140469 APEX 0 0.25 0.234531 RAD 0.0078125
- txt078
-TEXDEF txt079 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0.25 RAD 0.03125
- txt079
-TEXDEF txt080 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0.25 APEX 0.109531 0.25 0.25 RAD 0.0078125
- txt080
-TEXDEF txt081 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0.25 APEX 0 0.359531 0.25 RAD 0.0078125
- txt081
-TEXDEF txt082 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.265469 APEX 0 0.25 0.359531 RAD 0.0078125
- txt082
-TEXDEF txt083 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0.375 RAD 0.03125
- txt083
-TEXDEF txt084 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0.375 APEX 0.109531 0.25 0.375 RAD 0.0078125
- txt084
-TEXDEF txt085 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0.375 APEX 0 0.359531 0.375 RAD 0.0078125
- txt085
-TEXDEF txt086 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.390469 APEX 0 0.25 0.484531 RAD 0.0078125
- txt086
-TEXDEF txt087 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0.5 RAD 0.03125
- txt087
-TEXDEF txt088 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0.5 APEX 0.109531 0.25 0.5 RAD 0.0078125
- txt088
-TEXDEF txt089 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0.5 APEX 0 0.359531 0.5 RAD 0.0078125
- txt089
-TEXDEF txt090 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.515469 APEX 0 0.25 0.609531 RAD 0.0078125
- txt090
-TEXDEF txt091 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0.625 RAD 0.03125
- txt091
-TEXDEF txt092 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0.625 APEX 0.109531 0.25 0.625 RAD 0.0078125
- txt092
-TEXDEF txt093 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0.625 APEX 0 0.359531 0.625 RAD 0.0078125
- txt093
-TEXDEF txt094 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.640469 APEX 0 0.25 0.734531 RAD 0.0078125
- txt094
-TEXDEF txt095 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0.75 RAD 0.03125
- txt095
-TEXDEF txt096 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0.75 APEX 0.109531 0.25 0.75 RAD 0.0078125
- txt096
-TEXDEF txt097 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0.75 APEX 0 0.359531 0.75 RAD 0.0078125
- txt097
-TEXDEF txt098 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.765469 APEX 0 0.25 0.859531 RAD 0.0078125
- txt098
-TEXDEF txt099 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 0.875 RAD 0.03125
- txt099
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 0.875 APEX 0.109531 0.25 0.875 RAD 0.0078125
- txt100
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 0.875 APEX 0 0.359531 0.875 RAD 0.0078125
- txt101
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.25 0.890469 APEX 0 0.25 0.984531 RAD 0.0078125
- txt102
-TEXDEF txt103 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.25 1 RAD 0.03125
- txt103
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.25 1 APEX 0.109531 0.25 1 RAD 0.0078125
- txt104
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.265469 1 APEX 0 0.359531 1 RAD 0.0078125
- txt105
-TEXDEF txt106 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0 RAD 0.03125
- txt106
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0 APEX 0.109531 0.375 0 RAD 0.0078125
- txt107
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0 APEX 0 0.484531 0 RAD 0.0078125
- txt108
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.0154687 APEX 0 0.375 0.109531 RAD 0.0078125
- txt109
-TEXDEF txt110 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0.125 RAD 0.03125
- txt110
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0.125 APEX 0.109531 0.375 0.125 RAD 0.0078125
- txt111
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0.125 APEX 0 0.484531 0.125 RAD 0.0078125
- txt112
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.140469 APEX 0 0.375 0.234531 RAD 0.0078125
- txt113
-TEXDEF txt114 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0.25 RAD 0.03125
- txt114
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0.25 APEX 0.109531 0.375 0.25 RAD 0.0078125
- txt115
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0.25 APEX 0 0.484531 0.25 RAD 0.0078125
- txt116
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.265469 APEX 0 0.375 0.359531 RAD 0.0078125
- txt117
-TEXDEF txt118 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0.375 RAD 0.03125
- txt118
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0.375 APEX 0.109531 0.375 0.375 RAD 0.0078125
- txt119
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0.375 APEX 0 0.484531 0.375 RAD 0.0078125
- txt120
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.390469 APEX 0 0.375 0.484531 RAD 0.0078125
- txt121
-TEXDEF txt122 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0.5 RAD 0.03125
- txt122
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0.5 APEX 0.109531 0.375 0.5 RAD 0.0078125
- txt123
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0.5 APEX 0 0.484531 0.5 RAD 0.0078125
- txt124
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.515469 APEX 0 0.375 0.609531 RAD 0.0078125
- txt125
-TEXDEF txt126 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0.625 RAD 0.03125
- txt126
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0.625 APEX 0.109531 0.375 0.625 RAD 0.0078125
- txt127
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0.625 APEX 0 0.484531 0.625 RAD 0.0078125
- txt128
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.640469 APEX 0 0.375 0.734531 RAD 0.0078125
- txt129
-TEXDEF txt130 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0.75 RAD 0.03125
- txt130
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0.75 APEX 0.109531 0.375 0.75 RAD 0.0078125
- txt131
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0.75 APEX 0 0.484531 0.75 RAD 0.0078125
- txt132
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.765469 APEX 0 0.375 0.859531 RAD 0.0078125
- txt133
-TEXDEF txt134 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 0.875 RAD 0.03125
- txt134
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 0.875 APEX 0.109531 0.375 0.875 RAD 0.0078125
- txt135
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 0.875 APEX 0 0.484531 0.875 RAD 0.0078125
- txt136
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.375 0.890469 APEX 0 0.375 0.984531 RAD 0.0078125
- txt137
-TEXDEF txt138 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.375 1 RAD 0.03125
- txt138
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.375 1 APEX 0.109531 0.375 1 RAD 0.0078125
- txt139
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.390469 1 APEX 0 0.484531 1 RAD 0.0078125
- txt140
-TEXDEF txt141 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0 RAD 0.03125
- txt141
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0 APEX 0.109531 0.5 0 RAD 0.0078125
- txt142
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0 APEX 0 0.609531 0 RAD 0.0078125
- txt143
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.0154687 APEX 0 0.5 0.109531 RAD 0.0078125
- txt144
-TEXDEF txt145 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0.125 RAD 0.03125
- txt145
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0.125 APEX 0.109531 0.5 0.125 RAD 0.0078125
- txt146
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0.125 APEX 0 0.609531 0.125 RAD 0.0078125
- txt147
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.140469 APEX 0 0.5 0.234531 RAD 0.0078125
- txt148
-TEXDEF txt149 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0.25 RAD 0.03125
- txt149
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0.25 APEX 0.109531 0.5 0.25 RAD 0.0078125
- txt150
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0.25 APEX 0 0.609531 0.25 RAD 0.0078125
- txt151
-TEXDEF txt152 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.265469 APEX 0 0.5 0.359531 RAD 0.0078125
- txt152
-TEXDEF txt153 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0.375 RAD 0.03125
- txt153
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0.375 APEX 0.109531 0.5 0.375 RAD 0.0078125
- txt154
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0.375 APEX 0 0.609531 0.375 RAD 0.0078125
- txt155
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.390469 APEX 0 0.5 0.484531 RAD 0.0078125
- txt156
-TEXDEF txt157 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0.5 RAD 0.03125
- txt157
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0.5 APEX 0.109531 0.5 0.5 RAD 0.0078125
- txt158
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0.5 APEX 0 0.609531 0.5 RAD 0.0078125
- txt159
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.515469 APEX 0 0.5 0.609531 RAD 0.0078125
- txt160
-TEXDEF txt161 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0.625 RAD 0.03125
- txt161
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0.625 APEX 0.109531 0.5 0.625 RAD 0.0078125
- txt162
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0.625 APEX 0 0.609531 0.625 RAD 0.0078125
- txt163
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.640469 APEX 0 0.5 0.734531 RAD 0.0078125
- txt164
-TEXDEF txt165 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0.75 RAD 0.03125
- txt165
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0.75 APEX 0.109531 0.5 0.75 RAD 0.0078125
- txt166
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0.75 APEX 0 0.609531 0.75 RAD 0.0078125
- txt167
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.765469 APEX 0 0.5 0.859531 RAD 0.0078125
- txt168
-TEXDEF txt169 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 0.875 RAD 0.03125
- txt169
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 0.875 APEX 0.109531 0.5 0.875 RAD 0.0078125
- txt170
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 0.875 APEX 0 0.609531 0.875 RAD 0.0078125
- txt171
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.5 0.890469 APEX 0 0.5 0.984531 RAD 0.0078125
- txt172
-TEXDEF txt173 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.5 1 RAD 0.03125
- txt173
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.5 1 APEX 0.109531 0.5 1 RAD 0.0078125
- txt174
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.515469 1 APEX 0 0.609531 1 RAD 0.0078125
- txt175
-TEXDEF txt176 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0 RAD 0.03125
- txt176
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0 APEX 0.109531 0.625 0 RAD 0.0078125
- txt177
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0 APEX 0 0.734531 0 RAD 0.0078125
- txt178
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.0154687 APEX 0 0.625 0.109531 RAD 0.0078125
- txt179
-TEXDEF txt180 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0.125 RAD 0.03125
- txt180
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0.125 APEX 0.109531 0.625 0.125 RAD 0.0078125
- txt181
-TEXDEF txt182 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0.125 APEX 0 0.734531 0.125 RAD 0.0078125
- txt182
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.140469 APEX 0 0.625 0.234531 RAD 0.0078125
- txt183
-TEXDEF txt184 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0.25 RAD 0.03125
- txt184
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0.25 APEX 0.109531 0.625 0.25 RAD 0.0078125
- txt185
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0.25 APEX 0 0.734531 0.25 RAD 0.0078125
- txt186
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.265469 APEX 0 0.625 0.359531 RAD 0.0078125
- txt187
-TEXDEF txt188 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0.375 RAD 0.03125
- txt188
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0.375 APEX 0.109531 0.625 0.375 RAD 0.0078125
- txt189
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0.375 APEX 0 0.734531 0.375 RAD 0.0078125
- txt190
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.390469 APEX 0 0.625 0.484531 RAD 0.0078125
- txt191
-TEXDEF txt192 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0.5 RAD 0.03125
- txt192
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0.5 APEX 0.109531 0.625 0.5 RAD 0.0078125
- txt193
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0.5 APEX 0 0.734531 0.5 RAD 0.0078125
- txt194
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.515469 APEX 0 0.625 0.609531 RAD 0.0078125
- txt195
-TEXDEF txt196 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0.625 RAD 0.03125
- txt196
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0.625 APEX 0.109531 0.625 0.625 RAD 0.0078125
- txt197
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0.625 APEX 0 0.734531 0.625 RAD 0.0078125
- txt198
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.640469 APEX 0 0.625 0.734531 RAD 0.0078125
- txt199
-TEXDEF txt200 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0.75 RAD 0.03125
- txt200
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0.75 APEX 0.109531 0.625 0.75 RAD 0.0078125
- txt201
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0.75 APEX 0 0.734531 0.75 RAD 0.0078125
- txt202
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.765469 APEX 0 0.625 0.859531 RAD 0.0078125
- txt203
-TEXDEF txt204 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 0.875 RAD 0.03125
- txt204
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 0.875 APEX 0.109531 0.625 0.875 RAD 0.0078125
- txt205
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 0.875 APEX 0 0.734531 0.875 RAD 0.0078125
- txt206
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.625 0.890469 APEX 0 0.625 0.984531 RAD 0.0078125
- txt207
-TEXDEF txt208 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.625 1 RAD 0.03125
- txt208
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.625 1 APEX 0.109531 0.625 1 RAD 0.0078125
- txt209
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.640469 1 APEX 0 0.734531 1 RAD 0.0078125
- txt210
-TEXDEF txt211 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0 RAD 0.03125
- txt211
-TEXDEF txt212 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0 APEX 0.109531 0.75 0 RAD 0.0078125
- txt212
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0 APEX 0 0.859531 0 RAD 0.0078125
- txt213
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.0154687 APEX 0 0.75 0.109531 RAD 0.0078125
- txt214
-TEXDEF txt215 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0.125 RAD 0.03125
- txt215
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0.125 APEX 0.109531 0.75 0.125 RAD 0.0078125
- txt216
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0.125 APEX 0 0.859531 0.125 RAD 0.0078125
- txt217
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.140469 APEX 0 0.75 0.234531 RAD 0.0078125
- txt218
-TEXDEF txt219 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0.25 RAD 0.03125
- txt219
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0.25 APEX 0.109531 0.75 0.25 RAD 0.0078125
- txt220
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0.25 APEX 0 0.859531 0.25 RAD 0.0078125
- txt221
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.265469 APEX 0 0.75 0.359531 RAD 0.0078125
- txt222
-TEXDEF txt223 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0.375 RAD 0.03125
- txt223
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0.375 APEX 0.109531 0.75 0.375 RAD 0.0078125
- txt224
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0.375 APEX 0 0.859531 0.375 RAD 0.0078125
- txt225
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.390469 APEX 0 0.75 0.484531 RAD 0.0078125
- txt226
-TEXDEF txt227 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0.5 RAD 0.03125
- txt227
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0.5 APEX 0.109531 0.75 0.5 RAD 0.0078125
- txt228
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0.5 APEX 0 0.859531 0.5 RAD 0.0078125
- txt229
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.515469 APEX 0 0.75 0.609531 RAD 0.0078125
- txt230
-TEXDEF txt231 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0.625 RAD 0.03125
- txt231
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0.625 APEX 0.109531 0.75 0.625 RAD 0.0078125
- txt232
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0.625 APEX 0 0.859531 0.625 RAD 0.0078125
- txt233
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.640469 APEX 0 0.75 0.734531 RAD 0.0078125
- txt234
-TEXDEF txt235 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0.75 RAD 0.03125
- txt235
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0.75 APEX 0.109531 0.75 0.75 RAD 0.0078125
- txt236
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0.75 APEX 0 0.859531 0.75 RAD 0.0078125
- txt237
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.765469 APEX 0 0.75 0.859531 RAD 0.0078125
- txt238
-TEXDEF txt239 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 0.875 RAD 0.03125
- txt239
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 0.875 APEX 0.109531 0.75 0.875 RAD 0.0078125
- txt240
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 0.875 APEX 0 0.859531 0.875 RAD 0.0078125
- txt241
-TEXDEF txt242 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.75 0.890469 APEX 0 0.75 0.984531 RAD 0.0078125
- txt242
-TEXDEF txt243 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.75 1 RAD 0.03125
- txt243
-TEXDEF txt244 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.75 1 APEX 0.109531 0.75 1 RAD 0.0078125
- txt244
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.765469 1 APEX 0 0.859531 1 RAD 0.0078125
- txt245
-TEXDEF txt246 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0 RAD 0.03125
- txt246
-TEXDEF txt247 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0 APEX 0.109531 0.875 0 RAD 0.0078125
- txt247
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0 APEX 0 0.984531 0 RAD 0.0078125
- txt248
-TEXDEF txt249 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.0154687 APEX 0 0.875 0.109531 RAD 0.0078125
- txt249
-TEXDEF txt250 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0.125 RAD 0.03125
- txt250
-TEXDEF txt251 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0.125 APEX 0.109531 0.875 0.125 RAD 0.0078125
- txt251
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0.125 APEX 0 0.984531 0.125 RAD 0.0078125
- txt252
-TEXDEF txt253 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.140469 APEX 0 0.875 0.234531 RAD 0.0078125
- txt253
-TEXDEF txt254 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0.25 RAD 0.03125
- txt254
-TEXDEF txt255 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0.25 APEX 0.109531 0.875 0.25 RAD 0.0078125
- txt255
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0.25 APEX 0 0.984531 0.25 RAD 0.0078125
- txt256
-TEXDEF txt257 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.265469 APEX 0 0.875 0.359531 RAD 0.0078125
- txt257
-TEXDEF txt258 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0.375 RAD 0.03125
- txt258
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0.375 APEX 0.109531 0.875 0.375 RAD 0.0078125
- txt259
-TEXDEF txt260 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0.375 APEX 0 0.984531 0.375 RAD 0.0078125
- txt260
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.390469 APEX 0 0.875 0.484531 RAD 0.0078125
- txt261
-TEXDEF txt262 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0.5 RAD 0.03125
- txt262
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0.5 APEX 0.109531 0.875 0.5 RAD 0.0078125
- txt263
-TEXDEF txt264 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0.5 APEX 0 0.984531 0.5 RAD 0.0078125
- txt264
-TEXDEF txt265 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.515469 APEX 0 0.875 0.609531 RAD 0.0078125
- txt265
-TEXDEF txt266 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0.625 RAD 0.03125
- txt266
-TEXDEF txt267 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0.625 APEX 0.109531 0.875 0.625 RAD 0.0078125
- txt267
-TEXDEF txt268 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0.625 APEX 0 0.984531 0.625 RAD 0.0078125
- txt268
-TEXDEF txt269 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.640469 APEX 0 0.875 0.734531 RAD 0.0078125
- txt269
-TEXDEF txt270 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0.75 RAD 0.03125
- txt270
-TEXDEF txt271 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0.75 APEX 0.109531 0.875 0.75 RAD 0.0078125
- txt271
-TEXDEF txt272 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0.75 APEX 0 0.984531 0.75 RAD 0.0078125
- txt272
-TEXDEF txt273 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.765469 APEX 0 0.875 0.859531 RAD 0.0078125
- txt273
-TEXDEF txt274 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 0.875 RAD 0.03125
- txt274
-TEXDEF txt275 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 0.875 APEX 0.109531 0.875 0.875 RAD 0.0078125
- txt275
-TEXDEF txt276 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 0.875 APEX 0 0.984531 0.875 RAD 0.0078125
- txt276
-TEXDEF txt277 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.875 0.890469 APEX 0 0.875 0.984531 RAD 0.0078125
- txt277
-TEXDEF txt278 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 0.875 1 RAD 0.03125
- txt278
-TEXDEF txt279 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 0.875 1 APEX 0.109531 0.875 1 RAD 0.0078125
- txt279
-TEXDEF txt280 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 0.890469 1 APEX 0 0.984531 1 RAD 0.0078125
- txt280
-TEXDEF txt281 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0 RAD 0.03125
- txt281
-TEXDEF txt282 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0 APEX 0.109531 1 0 RAD 0.0078125
- txt282
-TEXDEF txt283 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.0154687 APEX 0 1 0.109531 RAD 0.0078125
- txt283
-TEXDEF txt284 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0.125 RAD 0.03125
- txt284
-TEXDEF txt285 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0.125 APEX 0.109531 1 0.125 RAD 0.0078125
- txt285
-TEXDEF txt286 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.140469 APEX 0 1 0.234531 RAD 0.0078125
- txt286
-TEXDEF txt287 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0.25 RAD 0.03125
- txt287
-TEXDEF txt288 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0.25 APEX 0.109531 1 0.25 RAD 0.0078125
- txt288
-TEXDEF txt289 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.265469 APEX 0 1 0.359531 RAD 0.0078125
- txt289
-TEXDEF txt290 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0.375 RAD 0.03125
- txt290
-TEXDEF txt291 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0.375 APEX 0.109531 1 0.375 RAD 0.0078125
- txt291
-TEXDEF txt292 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.390469 APEX 0 1 0.484531 RAD 0.0078125
- txt292
-TEXDEF txt293 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0.5 RAD 0.03125
- txt293
-TEXDEF txt294 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0.5 APEX 0.109531 1 0.5 RAD 0.0078125
- txt294
-TEXDEF txt295 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.515469 APEX 0 1 0.609531 RAD 0.0078125
- txt295
-TEXDEF txt296 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0.625 RAD 0.03125
- txt296
-TEXDEF txt297 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0.625 APEX 0.109531 1 0.625 RAD 0.0078125
- txt297
-TEXDEF txt298 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.640469 APEX 0 1 0.734531 RAD 0.0078125
- txt298
-TEXDEF txt299 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0.75 RAD 0.03125
- txt299
-TEXDEF txt300 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0.75 APEX 0.109531 1 0.75 RAD 0.0078125
- txt300
-TEXDEF txt301 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.765469 APEX 0 1 0.859531 RAD 0.0078125
- txt301
-TEXDEF txt302 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 0.875 RAD 0.03125
- txt302
-TEXDEF txt303 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 0.875 APEX 0.109531 1 0.875 RAD 0.0078125
- txt303
-TEXDEF txt304 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0 1 0.890469 APEX 0 1 0.984531 RAD 0.0078125
- txt304
-TEXDEF txt305 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0 1 1 RAD 0.03125
- txt305
-TEXDEF txt306 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.0154687 1 1 APEX 0.109531 1 1 RAD 0.0078125
- txt306
-TEXDEF txt307 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0 RAD 0.03125
- txt307
-TEXDEF txt308 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0 APEX 0.234531 0 0 RAD 0.0078125
- txt308
-TEXDEF txt309 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0 APEX 0.125 0.109531 0 RAD 0.0078125
- txt309
-TEXDEF txt310 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.0154687 APEX 0.125 0 0.109531 RAD 0.0078125
- txt310
-TEXDEF txt311 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0.125 RAD 0.03125
- txt311
-TEXDEF txt312 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0.125 APEX 0.234531 0 0.125 RAD 0.0078125
- txt312
-TEXDEF txt313 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0.125 APEX 0.125 0.109531 0.125 RAD 0.0078125
- txt313
-TEXDEF txt314 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.140469 APEX 0.125 0 0.234531 RAD 0.0078125
- txt314
-TEXDEF txt315 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0.25 RAD 0.03125
- txt315
-TEXDEF txt316 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0.25 APEX 0.234531 0 0.25 RAD 0.0078125
- txt316
-TEXDEF txt317 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0.25 APEX 0.125 0.109531 0.25 RAD 0.0078125
- txt317
-TEXDEF txt318 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.265469 APEX 0.125 0 0.359531 RAD 0.0078125
- txt318
-TEXDEF txt319 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0.375 RAD 0.03125
- txt319
-TEXDEF txt320 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0.375 APEX 0.234531 0 0.375 RAD 0.0078125
- txt320
-TEXDEF txt321 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0.375 APEX 0.125 0.109531 0.375 RAD 0.0078125
- txt321
-TEXDEF txt322 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.390469 APEX 0.125 0 0.484531 RAD 0.0078125
- txt322
-TEXDEF txt323 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0.5 RAD 0.03125
- txt323
-TEXDEF txt324 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0.5 APEX 0.234531 0 0.5 RAD 0.0078125
- txt324
-TEXDEF txt325 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0.5 APEX 0.125 0.109531 0.5 RAD 0.0078125
- txt325
-TEXDEF txt326 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.515469 APEX 0.125 0 0.609531 RAD 0.0078125
- txt326
-TEXDEF txt327 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0.625 RAD 0.03125
- txt327
-TEXDEF txt328 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0.625 APEX 0.234531 0 0.625 RAD 0.0078125
- txt328
-TEXDEF txt329 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0.625 APEX 0.125 0.109531 0.625 RAD 0.0078125
- txt329
-TEXDEF txt330 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.640469 APEX 0.125 0 0.734531 RAD 0.0078125
- txt330
-TEXDEF txt331 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0.75 RAD 0.03125
- txt331
-TEXDEF txt332 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0.75 APEX 0.234531 0 0.75 RAD 0.0078125
- txt332
-TEXDEF txt333 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0.75 APEX 0.125 0.109531 0.75 RAD 0.0078125
- txt333
-TEXDEF txt334 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.765469 APEX 0.125 0 0.859531 RAD 0.0078125
- txt334
-TEXDEF txt335 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 0.875 RAD 0.03125
- txt335
-TEXDEF txt336 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 0.875 APEX 0.234531 0 0.875 RAD 0.0078125
- txt336
-TEXDEF txt337 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 0.875 APEX 0.125 0.109531 0.875 RAD 0.0078125
- txt337
-TEXDEF txt338 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0 0.890469 APEX 0.125 0 0.984531 RAD 0.0078125
- txt338
-TEXDEF txt339 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0 1 RAD 0.03125
- txt339
-TEXDEF txt340 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0 1 APEX 0.234531 0 1 RAD 0.0078125
- txt340
-TEXDEF txt341 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.0154687 1 APEX 0.125 0.109531 1 RAD 0.0078125
- txt341
-TEXDEF txt342 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0 RAD 0.03125
- txt342
-TEXDEF txt343 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0 APEX 0.234531 0.125 0 RAD 0.0078125
- txt343
-TEXDEF txt344 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0 APEX 0.125 0.234531 0 RAD 0.0078125
- txt344
-TEXDEF txt345 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.0154687 APEX 0.125 0.125 0.109531 RAD 0.0078125
- txt345
-TEXDEF txt346 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0.125 RAD 0.03125
- txt346
-TEXDEF txt347 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0.125 APEX 0.234531 0.125 0.125 RAD 0.0078125
- txt347
-TEXDEF txt348 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0.125 APEX 0.125 0.234531 0.125 RAD 0.0078125
- txt348
-TEXDEF txt349 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.140469 APEX 0.125 0.125 0.234531 RAD 0.0078125
- txt349
-TEXDEF txt350 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0.25 RAD 0.03125
- txt350
-TEXDEF txt351 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0.25 APEX 0.234531 0.125 0.25 RAD 0.0078125
- txt351
-TEXDEF txt352 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0.25 APEX 0.125 0.234531 0.25 RAD 0.0078125
- txt352
-TEXDEF txt353 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.265469 APEX 0.125 0.125 0.359531 RAD 0.0078125
- txt353
-TEXDEF txt354 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0.375 RAD 0.03125
- txt354
-TEXDEF txt355 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0.375 APEX 0.234531 0.125 0.375 RAD 0.0078125
- txt355
-TEXDEF txt356 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0.375 APEX 0.125 0.234531 0.375 RAD 0.0078125
- txt356
-TEXDEF txt357 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.390469 APEX 0.125 0.125 0.484531 RAD 0.0078125
- txt357
-TEXDEF txt358 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0.5 RAD 0.03125
- txt358
-TEXDEF txt359 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0.5 APEX 0.234531 0.125 0.5 RAD 0.0078125
- txt359
-TEXDEF txt360 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0.5 APEX 0.125 0.234531 0.5 RAD 0.0078125
- txt360
-TEXDEF txt361 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.515469 APEX 0.125 0.125 0.609531 RAD 0.0078125
- txt361
-TEXDEF txt362 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0.625 RAD 0.03125
- txt362
-TEXDEF txt363 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0.625 APEX 0.234531 0.125 0.625 RAD 0.0078125
- txt363
-TEXDEF txt364 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0.625 APEX 0.125 0.234531 0.625 RAD 0.0078125
- txt364
-TEXDEF txt365 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.640469 APEX 0.125 0.125 0.734531 RAD 0.0078125
- txt365
-TEXDEF txt366 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0.75 RAD 0.03125
- txt366
-TEXDEF txt367 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0.75 APEX 0.234531 0.125 0.75 RAD 0.0078125
- txt367
-TEXDEF txt368 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0.75 APEX 0.125 0.234531 0.75 RAD 0.0078125
- txt368
-TEXDEF txt369 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.765469 APEX 0.125 0.125 0.859531 RAD 0.0078125
- txt369
-TEXDEF txt370 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 0.875 RAD 0.03125
- txt370
-TEXDEF txt371 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 0.875 APEX 0.234531 0.125 0.875 RAD 0.0078125
- txt371
-TEXDEF txt372 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 0.875 APEX 0.125 0.234531 0.875 RAD 0.0078125
- txt372
-TEXDEF txt373 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.125 0.890469 APEX 0.125 0.125 0.984531 RAD 0.0078125
- txt373
-TEXDEF txt374 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.125 1 RAD 0.03125
- txt374
-TEXDEF txt375 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.125 1 APEX 0.234531 0.125 1 RAD 0.0078125
- txt375
-TEXDEF txt376 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.140469 1 APEX 0.125 0.234531 1 RAD 0.0078125
- txt376
-TEXDEF txt377 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0 RAD 0.03125
- txt377
-TEXDEF txt378 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0 APEX 0.234531 0.25 0 RAD 0.0078125
- txt378
-TEXDEF txt379 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0 APEX 0.125 0.359531 0 RAD 0.0078125
- txt379
-TEXDEF txt380 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.0154687 APEX 0.125 0.25 0.109531 RAD 0.0078125
- txt380
-TEXDEF txt381 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0.125 RAD 0.03125
- txt381
-TEXDEF txt382 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0.125 APEX 0.234531 0.25 0.125 RAD 0.0078125
- txt382
-TEXDEF txt383 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0.125 APEX 0.125 0.359531 0.125 RAD 0.0078125
- txt383
-TEXDEF txt384 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.140469 APEX 0.125 0.25 0.234531 RAD 0.0078125
- txt384
-TEXDEF txt385 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0.25 RAD 0.03125
- txt385
-TEXDEF txt386 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0.25 APEX 0.234531 0.25 0.25 RAD 0.0078125
- txt386
-TEXDEF txt387 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0.25 APEX 0.125 0.359531 0.25 RAD 0.0078125
- txt387
-TEXDEF txt388 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.265469 APEX 0.125 0.25 0.359531 RAD 0.0078125
- txt388
-TEXDEF txt389 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0.375 RAD 0.03125
- txt389
-TEXDEF txt390 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0.375 APEX 0.234531 0.25 0.375 RAD 0.0078125
- txt390
-TEXDEF txt391 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0.375 APEX 0.125 0.359531 0.375 RAD 0.0078125
- txt391
-TEXDEF txt392 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.390469 APEX 0.125 0.25 0.484531 RAD 0.0078125
- txt392
-TEXDEF txt393 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0.5 RAD 0.03125
- txt393
-TEXDEF txt394 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0.5 APEX 0.234531 0.25 0.5 RAD 0.0078125
- txt394
-TEXDEF txt395 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0.5 APEX 0.125 0.359531 0.5 RAD 0.0078125
- txt395
-TEXDEF txt396 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.515469 APEX 0.125 0.25 0.609531 RAD 0.0078125
- txt396
-TEXDEF txt397 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0.625 RAD 0.03125
- txt397
-TEXDEF txt398 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0.625 APEX 0.234531 0.25 0.625 RAD 0.0078125
- txt398
-TEXDEF txt399 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0.625 APEX 0.125 0.359531 0.625 RAD 0.0078125
- txt399
-TEXDEF txt400 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.640469 APEX 0.125 0.25 0.734531 RAD 0.0078125
- txt400
-TEXDEF txt401 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0.75 RAD 0.03125
- txt401
-TEXDEF txt402 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0.75 APEX 0.234531 0.25 0.75 RAD 0.0078125
- txt402
-TEXDEF txt403 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0.75 APEX 0.125 0.359531 0.75 RAD 0.0078125
- txt403
-TEXDEF txt404 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.765469 APEX 0.125 0.25 0.859531 RAD 0.0078125
- txt404
-TEXDEF txt405 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 0.875 RAD 0.03125
- txt405
-TEXDEF txt406 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 0.875 APEX 0.234531 0.25 0.875 RAD 0.0078125
- txt406
-TEXDEF txt407 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 0.875 APEX 0.125 0.359531 0.875 RAD 0.0078125
- txt407
-TEXDEF txt408 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.25 0.890469 APEX 0.125 0.25 0.984531 RAD 0.0078125
- txt408
-TEXDEF txt409 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.25 1 RAD 0.03125
- txt409
-TEXDEF txt410 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.25 1 APEX 0.234531 0.25 1 RAD 0.0078125
- txt410
-TEXDEF txt411 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.265469 1 APEX 0.125 0.359531 1 RAD 0.0078125
- txt411
-TEXDEF txt412 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0 RAD 0.03125
- txt412
-TEXDEF txt413 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0 APEX 0.234531 0.375 0 RAD 0.0078125
- txt413
-TEXDEF txt414 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0 APEX 0.125 0.484531 0 RAD 0.0078125
- txt414
-TEXDEF txt415 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.0154687 APEX 0.125 0.375 0.109531 RAD 0.0078125
- txt415
-TEXDEF txt416 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0.125 RAD 0.03125
- txt416
-TEXDEF txt417 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0.125 APEX 0.234531 0.375 0.125 RAD 0.0078125
- txt417
-TEXDEF txt418 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0.125 APEX 0.125 0.484531 0.125 RAD 0.0078125
- txt418
-TEXDEF txt419 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.140469 APEX 0.125 0.375 0.234531 RAD 0.0078125
- txt419
-TEXDEF txt420 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0.25 RAD 0.03125
- txt420
-TEXDEF txt421 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0.25 APEX 0.234531 0.375 0.25 RAD 0.0078125
- txt421
-TEXDEF txt422 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0.25 APEX 0.125 0.484531 0.25 RAD 0.0078125
- txt422
-TEXDEF txt423 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.265469 APEX 0.125 0.375 0.359531 RAD 0.0078125
- txt423
-TEXDEF txt424 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0.375 RAD 0.03125
- txt424
-TEXDEF txt425 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0.375 APEX 0.234531 0.375 0.375 RAD 0.0078125
- txt425
-TEXDEF txt426 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0.375 APEX 0.125 0.484531 0.375 RAD 0.0078125
- txt426
-TEXDEF txt427 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.390469 APEX 0.125 0.375 0.484531 RAD 0.0078125
- txt427
-TEXDEF txt428 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0.5 RAD 0.03125
- txt428
-TEXDEF txt429 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0.5 APEX 0.234531 0.375 0.5 RAD 0.0078125
- txt429
-TEXDEF txt430 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0.5 APEX 0.125 0.484531 0.5 RAD 0.0078125
- txt430
-TEXDEF txt431 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.515469 APEX 0.125 0.375 0.609531 RAD 0.0078125
- txt431
-TEXDEF txt432 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0.625 RAD 0.03125
- txt432
-TEXDEF txt433 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0.625 APEX 0.234531 0.375 0.625 RAD 0.0078125
- txt433
-TEXDEF txt434 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0.625 APEX 0.125 0.484531 0.625 RAD 0.0078125
- txt434
-TEXDEF txt435 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.640469 APEX 0.125 0.375 0.734531 RAD 0.0078125
- txt435
-TEXDEF txt436 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0.75 RAD 0.03125
- txt436
-TEXDEF txt437 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0.75 APEX 0.234531 0.375 0.75 RAD 0.0078125
- txt437
-TEXDEF txt438 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0.75 APEX 0.125 0.484531 0.75 RAD 0.0078125
- txt438
-TEXDEF txt439 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.765469 APEX 0.125 0.375 0.859531 RAD 0.0078125
- txt439
-TEXDEF txt440 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 0.875 RAD 0.03125
- txt440
-TEXDEF txt441 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 0.875 APEX 0.234531 0.375 0.875 RAD 0.0078125
- txt441
-TEXDEF txt442 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 0.875 APEX 0.125 0.484531 0.875 RAD 0.0078125
- txt442
-TEXDEF txt443 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.375 0.890469 APEX 0.125 0.375 0.984531 RAD 0.0078125
- txt443
-TEXDEF txt444 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.375 1 RAD 0.03125
- txt444
-TEXDEF txt445 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.375 1 APEX 0.234531 0.375 1 RAD 0.0078125
- txt445
-TEXDEF txt446 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.390469 1 APEX 0.125 0.484531 1 RAD 0.0078125
- txt446
-TEXDEF txt447 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0 RAD 0.03125
- txt447
-TEXDEF txt448 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0 APEX 0.234531 0.5 0 RAD 0.0078125
- txt448
-TEXDEF txt449 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0 APEX 0.125 0.609531 0 RAD 0.0078125
- txt449
-TEXDEF txt450 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.0154687 APEX 0.125 0.5 0.109531 RAD 0.0078125
- txt450
-TEXDEF txt451 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0.125 RAD 0.03125
- txt451
-TEXDEF txt452 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0.125 APEX 0.234531 0.5 0.125 RAD 0.0078125
- txt452
-TEXDEF txt453 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0.125 APEX 0.125 0.609531 0.125 RAD 0.0078125
- txt453
-TEXDEF txt454 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.140469 APEX 0.125 0.5 0.234531 RAD 0.0078125
- txt454
-TEXDEF txt455 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0.25 RAD 0.03125
- txt455
-TEXDEF txt456 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0.25 APEX 0.234531 0.5 0.25 RAD 0.0078125
- txt456
-TEXDEF txt457 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0.25 APEX 0.125 0.609531 0.25 RAD 0.0078125
- txt457
-TEXDEF txt458 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.265469 APEX 0.125 0.5 0.359531 RAD 0.0078125
- txt458
-TEXDEF txt459 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0.375 RAD 0.03125
- txt459
-TEXDEF txt460 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0.375 APEX 0.234531 0.5 0.375 RAD 0.0078125
- txt460
-TEXDEF txt461 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0.375 APEX 0.125 0.609531 0.375 RAD 0.0078125
- txt461
-TEXDEF txt462 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.390469 APEX 0.125 0.5 0.484531 RAD 0.0078125
- txt462
-TEXDEF txt463 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0.5 RAD 0.03125
- txt463
-TEXDEF txt464 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0.5 APEX 0.234531 0.5 0.5 RAD 0.0078125
- txt464
-TEXDEF txt465 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0.5 APEX 0.125 0.609531 0.5 RAD 0.0078125
- txt465
-TEXDEF txt466 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.515469 APEX 0.125 0.5 0.609531 RAD 0.0078125
- txt466
-TEXDEF txt467 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0.625 RAD 0.03125
- txt467
-TEXDEF txt468 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0.625 APEX 0.234531 0.5 0.625 RAD 0.0078125
- txt468
-TEXDEF txt469 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0.625 APEX 0.125 0.609531 0.625 RAD 0.0078125
- txt469
-TEXDEF txt470 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.640469 APEX 0.125 0.5 0.734531 RAD 0.0078125
- txt470
-TEXDEF txt471 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0.75 RAD 0.03125
- txt471
-TEXDEF txt472 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0.75 APEX 0.234531 0.5 0.75 RAD 0.0078125
- txt472
-TEXDEF txt473 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0.75 APEX 0.125 0.609531 0.75 RAD 0.0078125
- txt473
-TEXDEF txt474 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.765469 APEX 0.125 0.5 0.859531 RAD 0.0078125
- txt474
-TEXDEF txt475 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 0.875 RAD 0.03125
- txt475
-TEXDEF txt476 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 0.875 APEX 0.234531 0.5 0.875 RAD 0.0078125
- txt476
-TEXDEF txt477 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 0.875 APEX 0.125 0.609531 0.875 RAD 0.0078125
- txt477
-TEXDEF txt478 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.5 0.890469 APEX 0.125 0.5 0.984531 RAD 0.0078125
- txt478
-TEXDEF txt479 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.5 1 RAD 0.03125
- txt479
-TEXDEF txt480 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.5 1 APEX 0.234531 0.5 1 RAD 0.0078125
- txt480
-TEXDEF txt481 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.515469 1 APEX 0.125 0.609531 1 RAD 0.0078125
- txt481
-TEXDEF txt482 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0 RAD 0.03125
- txt482
-TEXDEF txt483 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0 APEX 0.234531 0.625 0 RAD 0.0078125
- txt483
-TEXDEF txt484 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0 APEX 0.125 0.734531 0 RAD 0.0078125
- txt484
-TEXDEF txt485 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.0154687 APEX 0.125 0.625 0.109531 RAD 0.0078125
- txt485
-TEXDEF txt486 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0.125 RAD 0.03125
- txt486
-TEXDEF txt487 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0.125 APEX 0.234531 0.625 0.125 RAD 0.0078125
- txt487
-TEXDEF txt488 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0.125 APEX 0.125 0.734531 0.125 RAD 0.0078125
- txt488
-TEXDEF txt489 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.140469 APEX 0.125 0.625 0.234531 RAD 0.0078125
- txt489
-TEXDEF txt490 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0.25 RAD 0.03125
- txt490
-TEXDEF txt491 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0.25 APEX 0.234531 0.625 0.25 RAD 0.0078125
- txt491
-TEXDEF txt492 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0.25 APEX 0.125 0.734531 0.25 RAD 0.0078125
- txt492
-TEXDEF txt493 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.265469 APEX 0.125 0.625 0.359531 RAD 0.0078125
- txt493
-TEXDEF txt494 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0.375 RAD 0.03125
- txt494
-TEXDEF txt495 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0.375 APEX 0.234531 0.625 0.375 RAD 0.0078125
- txt495
-TEXDEF txt496 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0.375 APEX 0.125 0.734531 0.375 RAD 0.0078125
- txt496
-TEXDEF txt497 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.390469 APEX 0.125 0.625 0.484531 RAD 0.0078125
- txt497
-TEXDEF txt498 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0.5 RAD 0.03125
- txt498
-TEXDEF txt499 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0.5 APEX 0.234531 0.625 0.5 RAD 0.0078125
- txt499
-TEXDEF txt500 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0.5 APEX 0.125 0.734531 0.5 RAD 0.0078125
- txt500
-TEXDEF txt501 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.515469 APEX 0.125 0.625 0.609531 RAD 0.0078125
- txt501
-TEXDEF txt502 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0.625 RAD 0.03125
- txt502
-TEXDEF txt503 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0.625 APEX 0.234531 0.625 0.625 RAD 0.0078125
- txt503
-TEXDEF txt504 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0.625 APEX 0.125 0.734531 0.625 RAD 0.0078125
- txt504
-TEXDEF txt505 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.640469 APEX 0.125 0.625 0.734531 RAD 0.0078125
- txt505
-TEXDEF txt506 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0.75 RAD 0.03125
- txt506
-TEXDEF txt507 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0.75 APEX 0.234531 0.625 0.75 RAD 0.0078125
- txt507
-TEXDEF txt508 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0.75 APEX 0.125 0.734531 0.75 RAD 0.0078125
- txt508
-TEXDEF txt509 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.765469 APEX 0.125 0.625 0.859531 RAD 0.0078125
- txt509
-TEXDEF txt510 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 0.875 RAD 0.03125
- txt510
-TEXDEF txt511 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 0.875 APEX 0.234531 0.625 0.875 RAD 0.0078125
- txt511
-TEXDEF txt512 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 0.875 APEX 0.125 0.734531 0.875 RAD 0.0078125
- txt512
-TEXDEF txt513 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.625 0.890469 APEX 0.125 0.625 0.984531 RAD 0.0078125
- txt513
-TEXDEF txt514 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.625 1 RAD 0.03125
- txt514
-TEXDEF txt515 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.625 1 APEX 0.234531 0.625 1 RAD 0.0078125
- txt515
-TEXDEF txt516 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.640469 1 APEX 0.125 0.734531 1 RAD 0.0078125
- txt516
-TEXDEF txt517 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0 RAD 0.03125
- txt517
-TEXDEF txt518 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0 APEX 0.234531 0.75 0 RAD 0.0078125
- txt518
-TEXDEF txt519 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0 APEX 0.125 0.859531 0 RAD 0.0078125
- txt519
-TEXDEF txt520 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.0154687 APEX 0.125 0.75 0.109531 RAD 0.0078125
- txt520
-TEXDEF txt521 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0.125 RAD 0.03125
- txt521
-TEXDEF txt522 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0.125 APEX 0.234531 0.75 0.125 RAD 0.0078125
- txt522
-TEXDEF txt523 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0.125 APEX 0.125 0.859531 0.125 RAD 0.0078125
- txt523
-TEXDEF txt524 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.140469 APEX 0.125 0.75 0.234531 RAD 0.0078125
- txt524
-TEXDEF txt525 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0.25 RAD 0.03125
- txt525
-TEXDEF txt526 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0.25 APEX 0.234531 0.75 0.25 RAD 0.0078125
- txt526
-TEXDEF txt527 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0.25 APEX 0.125 0.859531 0.25 RAD 0.0078125
- txt527
-TEXDEF txt528 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.265469 APEX 0.125 0.75 0.359531 RAD 0.0078125
- txt528
-TEXDEF txt529 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0.375 RAD 0.03125
- txt529
-TEXDEF txt530 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0.375 APEX 0.234531 0.75 0.375 RAD 0.0078125
- txt530
-TEXDEF txt531 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0.375 APEX 0.125 0.859531 0.375 RAD 0.0078125
- txt531
-TEXDEF txt532 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.390469 APEX 0.125 0.75 0.484531 RAD 0.0078125
- txt532
-TEXDEF txt533 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0.5 RAD 0.03125
- txt533
-TEXDEF txt534 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0.5 APEX 0.234531 0.75 0.5 RAD 0.0078125
- txt534
-TEXDEF txt535 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0.5 APEX 0.125 0.859531 0.5 RAD 0.0078125
- txt535
-TEXDEF txt536 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.515469 APEX 0.125 0.75 0.609531 RAD 0.0078125
- txt536
-TEXDEF txt537 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0.625 RAD 0.03125
- txt537
-TEXDEF txt538 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0.625 APEX 0.234531 0.75 0.625 RAD 0.0078125
- txt538
-TEXDEF txt539 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0.625 APEX 0.125 0.859531 0.625 RAD 0.0078125
- txt539
-TEXDEF txt540 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.640469 APEX 0.125 0.75 0.734531 RAD 0.0078125
- txt540
-TEXDEF txt541 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0.75 RAD 0.03125
- txt541
-TEXDEF txt542 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0.75 APEX 0.234531 0.75 0.75 RAD 0.0078125
- txt542
-TEXDEF txt543 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0.75 APEX 0.125 0.859531 0.75 RAD 0.0078125
- txt543
-TEXDEF txt544 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.765469 APEX 0.125 0.75 0.859531 RAD 0.0078125
- txt544
-TEXDEF txt545 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 0.875 RAD 0.03125
- txt545
-TEXDEF txt546 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 0.875 APEX 0.234531 0.75 0.875 RAD 0.0078125
- txt546
-TEXDEF txt547 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 0.875 APEX 0.125 0.859531 0.875 RAD 0.0078125
- txt547
-TEXDEF txt548 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.75 0.890469 APEX 0.125 0.75 0.984531 RAD 0.0078125
- txt548
-TEXDEF txt549 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.75 1 RAD 0.03125
- txt549
-TEXDEF txt550 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.75 1 APEX 0.234531 0.75 1 RAD 0.0078125
- txt550
-TEXDEF txt551 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.765469 1 APEX 0.125 0.859531 1 RAD 0.0078125
- txt551
-TEXDEF txt552 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0 RAD 0.03125
- txt552
-TEXDEF txt553 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0 APEX 0.234531 0.875 0 RAD 0.0078125
- txt553
-TEXDEF txt554 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0 APEX 0.125 0.984531 0 RAD 0.0078125
- txt554
-TEXDEF txt555 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.0154687 APEX 0.125 0.875 0.109531 RAD 0.0078125
- txt555
-TEXDEF txt556 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0.125 RAD 0.03125
- txt556
-TEXDEF txt557 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0.125 APEX 0.234531 0.875 0.125 RAD 0.0078125
- txt557
-TEXDEF txt558 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0.125 APEX 0.125 0.984531 0.125 RAD 0.0078125
- txt558
-TEXDEF txt559 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.140469 APEX 0.125 0.875 0.234531 RAD 0.0078125
- txt559
-TEXDEF txt560 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0.25 RAD 0.03125
- txt560
-TEXDEF txt561 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0.25 APEX 0.234531 0.875 0.25 RAD 0.0078125
- txt561
-TEXDEF txt562 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0.25 APEX 0.125 0.984531 0.25 RAD 0.0078125
- txt562
-TEXDEF txt563 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.265469 APEX 0.125 0.875 0.359531 RAD 0.0078125
- txt563
-TEXDEF txt564 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0.375 RAD 0.03125
- txt564
-TEXDEF txt565 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0.375 APEX 0.234531 0.875 0.375 RAD 0.0078125
- txt565
-TEXDEF txt566 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0.375 APEX 0.125 0.984531 0.375 RAD 0.0078125
- txt566
-TEXDEF txt567 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.390469 APEX 0.125 0.875 0.484531 RAD 0.0078125
- txt567
-TEXDEF txt568 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0.5 RAD 0.03125
- txt568
-TEXDEF txt569 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0.5 APEX 0.234531 0.875 0.5 RAD 0.0078125
- txt569
-TEXDEF txt570 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0.5 APEX 0.125 0.984531 0.5 RAD 0.0078125
- txt570
-TEXDEF txt571 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.515469 APEX 0.125 0.875 0.609531 RAD 0.0078125
- txt571
-TEXDEF txt572 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0.625 RAD 0.03125
- txt572
-TEXDEF txt573 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0.625 APEX 0.234531 0.875 0.625 RAD 0.0078125
- txt573
-TEXDEF txt574 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0.625 APEX 0.125 0.984531 0.625 RAD 0.0078125
- txt574
-TEXDEF txt575 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.640469 APEX 0.125 0.875 0.734531 RAD 0.0078125
- txt575
-TEXDEF txt576 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0.75 RAD 0.03125
- txt576
-TEXDEF txt577 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0.75 APEX 0.234531 0.875 0.75 RAD 0.0078125
- txt577
-TEXDEF txt578 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0.75 APEX 0.125 0.984531 0.75 RAD 0.0078125
- txt578
-TEXDEF txt579 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.765469 APEX 0.125 0.875 0.859531 RAD 0.0078125
- txt579
-TEXDEF txt580 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 0.875 RAD 0.03125
- txt580
-TEXDEF txt581 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 0.875 APEX 0.234531 0.875 0.875 RAD 0.0078125
- txt581
-TEXDEF txt582 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 0.875 APEX 0.125 0.984531 0.875 RAD 0.0078125
- txt582
-TEXDEF txt583 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.875 0.890469 APEX 0.125 0.875 0.984531 RAD 0.0078125
- txt583
-TEXDEF txt584 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 0.875 1 RAD 0.03125
- txt584
-TEXDEF txt585 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 0.875 1 APEX 0.234531 0.875 1 RAD 0.0078125
- txt585
-TEXDEF txt586 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 0.890469 1 APEX 0.125 0.984531 1 RAD 0.0078125
- txt586
-TEXDEF txt587 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0 RAD 0.03125
- txt587
-TEXDEF txt588 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0 APEX 0.234531 1 0 RAD 0.0078125
- txt588
-TEXDEF txt589 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.0154687 APEX 0.125 1 0.109531 RAD 0.0078125
- txt589
-TEXDEF txt590 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0.125 RAD 0.03125
- txt590
-TEXDEF txt591 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0.125 APEX 0.234531 1 0.125 RAD 0.0078125
- txt591
-TEXDEF txt592 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.140469 APEX 0.125 1 0.234531 RAD 0.0078125
- txt592
-TEXDEF txt593 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0.25 RAD 0.03125
- txt593
-TEXDEF txt594 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0.25 APEX 0.234531 1 0.25 RAD 0.0078125
- txt594
-TEXDEF txt595 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.265469 APEX 0.125 1 0.359531 RAD 0.0078125
- txt595
-TEXDEF txt596 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0.375 RAD 0.03125
- txt596
-TEXDEF txt597 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0.375 APEX 0.234531 1 0.375 RAD 0.0078125
- txt597
-TEXDEF txt598 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.390469 APEX 0.125 1 0.484531 RAD 0.0078125
- txt598
-TEXDEF txt599 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0.5 RAD 0.03125
- txt599
-TEXDEF txt600 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0.5 APEX 0.234531 1 0.5 RAD 0.0078125
- txt600
-TEXDEF txt601 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.515469 APEX 0.125 1 0.609531 RAD 0.0078125
- txt601
-TEXDEF txt602 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0.625 RAD 0.03125
- txt602
-TEXDEF txt603 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0.625 APEX 0.234531 1 0.625 RAD 0.0078125
- txt603
-TEXDEF txt604 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.640469 APEX 0.125 1 0.734531 RAD 0.0078125
- txt604
-TEXDEF txt605 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0.75 RAD 0.03125
- txt605
-TEXDEF txt606 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0.75 APEX 0.234531 1 0.75 RAD 0.0078125
- txt606
-TEXDEF txt607 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.765469 APEX 0.125 1 0.859531 RAD 0.0078125
- txt607
-TEXDEF txt608 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 0.875 RAD 0.03125
- txt608
-TEXDEF txt609 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 0.875 APEX 0.234531 1 0.875 RAD 0.0078125
- txt609
-TEXDEF txt610 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.125 1 0.890469 APEX 0.125 1 0.984531 RAD 0.0078125
- txt610
-TEXDEF txt611 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.125 1 1 RAD 0.03125
- txt611
-TEXDEF txt612 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.140469 1 1 APEX 0.234531 1 1 RAD 0.0078125
- txt612
-TEXDEF txt613 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0 RAD 0.03125
- txt613
-TEXDEF txt614 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0 APEX 0.359531 0 0 RAD 0.0078125
- txt614
-TEXDEF txt615 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0 APEX 0.25 0.109531 0 RAD 0.0078125
- txt615
-TEXDEF txt616 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.0154687 APEX 0.25 0 0.109531 RAD 0.0078125
- txt616
-TEXDEF txt617 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0.125 RAD 0.03125
- txt617
-TEXDEF txt618 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0.125 APEX 0.359531 0 0.125 RAD 0.0078125
- txt618
-TEXDEF txt619 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0.125 APEX 0.25 0.109531 0.125 RAD 0.0078125
- txt619
-TEXDEF txt620 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.140469 APEX 0.25 0 0.234531 RAD 0.0078125
- txt620
-TEXDEF txt621 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0.25 RAD 0.03125
- txt621
-TEXDEF txt622 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0.25 APEX 0.359531 0 0.25 RAD 0.0078125
- txt622
-TEXDEF txt623 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0.25 APEX 0.25 0.109531 0.25 RAD 0.0078125
- txt623
-TEXDEF txt624 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.265469 APEX 0.25 0 0.359531 RAD 0.0078125
- txt624
-TEXDEF txt625 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0.375 RAD 0.03125
- txt625
-TEXDEF txt626 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0.375 APEX 0.359531 0 0.375 RAD 0.0078125
- txt626
-TEXDEF txt627 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0.375 APEX 0.25 0.109531 0.375 RAD 0.0078125
- txt627
-TEXDEF txt628 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.390469 APEX 0.25 0 0.484531 RAD 0.0078125
- txt628
-TEXDEF txt629 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0.5 RAD 0.03125
- txt629
-TEXDEF txt630 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0.5 APEX 0.359531 0 0.5 RAD 0.0078125
- txt630
-TEXDEF txt631 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0.5 APEX 0.25 0.109531 0.5 RAD 0.0078125
- txt631
-TEXDEF txt632 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.515469 APEX 0.25 0 0.609531 RAD 0.0078125
- txt632
-TEXDEF txt633 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0.625 RAD 0.03125
- txt633
-TEXDEF txt634 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0.625 APEX 0.359531 0 0.625 RAD 0.0078125
- txt634
-TEXDEF txt635 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0.625 APEX 0.25 0.109531 0.625 RAD 0.0078125
- txt635
-TEXDEF txt636 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.640469 APEX 0.25 0 0.734531 RAD 0.0078125
- txt636
-TEXDEF txt637 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0.75 RAD 0.03125
- txt637
-TEXDEF txt638 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0.75 APEX 0.359531 0 0.75 RAD 0.0078125
- txt638
-TEXDEF txt639 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0.75 APEX 0.25 0.109531 0.75 RAD 0.0078125
- txt639
-TEXDEF txt640 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.765469 APEX 0.25 0 0.859531 RAD 0.0078125
- txt640
-TEXDEF txt641 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 0.875 RAD 0.03125
- txt641
-TEXDEF txt642 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 0.875 APEX 0.359531 0 0.875 RAD 0.0078125
- txt642
-TEXDEF txt643 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 0.875 APEX 0.25 0.109531 0.875 RAD 0.0078125
- txt643
-TEXDEF txt644 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0 0.890469 APEX 0.25 0 0.984531 RAD 0.0078125
- txt644
-TEXDEF txt645 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0 1 RAD 0.03125
- txt645
-TEXDEF txt646 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0 1 APEX 0.359531 0 1 RAD 0.0078125
- txt646
-TEXDEF txt647 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.0154687 1 APEX 0.25 0.109531 1 RAD 0.0078125
- txt647
-TEXDEF txt648 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0 RAD 0.03125
- txt648
-TEXDEF txt649 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0 APEX 0.359531 0.125 0 RAD 0.0078125
- txt649
-TEXDEF txt650 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0 APEX 0.25 0.234531 0 RAD 0.0078125
- txt650
-TEXDEF txt651 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.0154687 APEX 0.25 0.125 0.109531 RAD 0.0078125
- txt651
-TEXDEF txt652 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0.125 RAD 0.03125
- txt652
-TEXDEF txt653 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0.125 APEX 0.359531 0.125 0.125 RAD 0.0078125
- txt653
-TEXDEF txt654 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0.125 APEX 0.25 0.234531 0.125 RAD 0.0078125
- txt654
-TEXDEF txt655 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.140469 APEX 0.25 0.125 0.234531 RAD 0.0078125
- txt655
-TEXDEF txt656 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0.25 RAD 0.03125
- txt656
-TEXDEF txt657 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0.25 APEX 0.359531 0.125 0.25 RAD 0.0078125
- txt657
-TEXDEF txt658 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0.25 APEX 0.25 0.234531 0.25 RAD 0.0078125
- txt658
-TEXDEF txt659 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.265469 APEX 0.25 0.125 0.359531 RAD 0.0078125
- txt659
-TEXDEF txt660 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0.375 RAD 0.03125
- txt660
-TEXDEF txt661 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0.375 APEX 0.359531 0.125 0.375 RAD 0.0078125
- txt661
-TEXDEF txt662 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0.375 APEX 0.25 0.234531 0.375 RAD 0.0078125
- txt662
-TEXDEF txt663 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.390469 APEX 0.25 0.125 0.484531 RAD 0.0078125
- txt663
-TEXDEF txt664 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0.5 RAD 0.03125
- txt664
-TEXDEF txt665 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0.5 APEX 0.359531 0.125 0.5 RAD 0.0078125
- txt665
-TEXDEF txt666 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0.5 APEX 0.25 0.234531 0.5 RAD 0.0078125
- txt666
-TEXDEF txt667 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.515469 APEX 0.25 0.125 0.609531 RAD 0.0078125
- txt667
-TEXDEF txt668 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0.625 RAD 0.03125
- txt668
-TEXDEF txt669 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0.625 APEX 0.359531 0.125 0.625 RAD 0.0078125
- txt669
-TEXDEF txt670 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0.625 APEX 0.25 0.234531 0.625 RAD 0.0078125
- txt670
-TEXDEF txt671 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.640469 APEX 0.25 0.125 0.734531 RAD 0.0078125
- txt671
-TEXDEF txt672 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0.75 RAD 0.03125
- txt672
-TEXDEF txt673 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0.75 APEX 0.359531 0.125 0.75 RAD 0.0078125
- txt673
-TEXDEF txt674 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0.75 APEX 0.25 0.234531 0.75 RAD 0.0078125
- txt674
-TEXDEF txt675 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.765469 APEX 0.25 0.125 0.859531 RAD 0.0078125
- txt675
-TEXDEF txt676 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 0.875 RAD 0.03125
- txt676
-TEXDEF txt677 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 0.875 APEX 0.359531 0.125 0.875 RAD 0.0078125
- txt677
-TEXDEF txt678 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 0.875 APEX 0.25 0.234531 0.875 RAD 0.0078125
- txt678
-TEXDEF txt679 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.125 0.890469 APEX 0.25 0.125 0.984531 RAD 0.0078125
- txt679
-TEXDEF txt680 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.125 1 RAD 0.03125
- txt680
-TEXDEF txt681 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.125 1 APEX 0.359531 0.125 1 RAD 0.0078125
- txt681
-TEXDEF txt682 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.140469 1 APEX 0.25 0.234531 1 RAD 0.0078125
- txt682
-TEXDEF txt683 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0 RAD 0.03125
- txt683
-TEXDEF txt684 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0 APEX 0.359531 0.25 0 RAD 0.0078125
- txt684
-TEXDEF txt685 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0 APEX 0.25 0.359531 0 RAD 0.0078125
- txt685
-TEXDEF txt686 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.0154687 APEX 0.25 0.25 0.109531 RAD 0.0078125
- txt686
-TEXDEF txt687 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0.125 RAD 0.03125
- txt687
-TEXDEF txt688 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0.125 APEX 0.359531 0.25 0.125 RAD 0.0078125
- txt688
-TEXDEF txt689 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0.125 APEX 0.25 0.359531 0.125 RAD 0.0078125
- txt689
-TEXDEF txt690 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.140469 APEX 0.25 0.25 0.234531 RAD 0.0078125
- txt690
-TEXDEF txt691 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0.25 RAD 0.03125
- txt691
-TEXDEF txt692 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0.25 APEX 0.359531 0.25 0.25 RAD 0.0078125
- txt692
-TEXDEF txt693 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0.25 APEX 0.25 0.359531 0.25 RAD 0.0078125
- txt693
-TEXDEF txt694 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.265469 APEX 0.25 0.25 0.359531 RAD 0.0078125
- txt694
-TEXDEF txt695 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0.375 RAD 0.03125
- txt695
-TEXDEF txt696 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0.375 APEX 0.359531 0.25 0.375 RAD 0.0078125
- txt696
-TEXDEF txt697 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0.375 APEX 0.25 0.359531 0.375 RAD 0.0078125
- txt697
-TEXDEF txt698 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.390469 APEX 0.25 0.25 0.484531 RAD 0.0078125
- txt698
-TEXDEF txt699 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0.5 RAD 0.03125
- txt699
-TEXDEF txt700 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0.5 APEX 0.359531 0.25 0.5 RAD 0.0078125
- txt700
-TEXDEF txt701 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0.5 APEX 0.25 0.359531 0.5 RAD 0.0078125
- txt701
-TEXDEF txt702 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.515469 APEX 0.25 0.25 0.609531 RAD 0.0078125
- txt702
-TEXDEF txt703 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0.625 RAD 0.03125
- txt703
-TEXDEF txt704 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0.625 APEX 0.359531 0.25 0.625 RAD 0.0078125
- txt704
-TEXDEF txt705 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0.625 APEX 0.25 0.359531 0.625 RAD 0.0078125
- txt705
-TEXDEF txt706 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.640469 APEX 0.25 0.25 0.734531 RAD 0.0078125
- txt706
-TEXDEF txt707 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0.75 RAD 0.03125
- txt707
-TEXDEF txt708 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0.75 APEX 0.359531 0.25 0.75 RAD 0.0078125
- txt708
-TEXDEF txt709 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0.75 APEX 0.25 0.359531 0.75 RAD 0.0078125
- txt709
-TEXDEF txt710 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.765469 APEX 0.25 0.25 0.859531 RAD 0.0078125
- txt710
-TEXDEF txt711 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 0.875 RAD 0.03125
- txt711
-TEXDEF txt712 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 0.875 APEX 0.359531 0.25 0.875 RAD 0.0078125
- txt712
-TEXDEF txt713 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 0.875 APEX 0.25 0.359531 0.875 RAD 0.0078125
- txt713
-TEXDEF txt714 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.25 0.890469 APEX 0.25 0.25 0.984531 RAD 0.0078125
- txt714
-TEXDEF txt715 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.25 1 RAD 0.03125
- txt715
-TEXDEF txt716 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.25 1 APEX 0.359531 0.25 1 RAD 0.0078125
- txt716
-TEXDEF txt717 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.265469 1 APEX 0.25 0.359531 1 RAD 0.0078125
- txt717
-TEXDEF txt718 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0 RAD 0.03125
- txt718
-TEXDEF txt719 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0 APEX 0.359531 0.375 0 RAD 0.0078125
- txt719
-TEXDEF txt720 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0 APEX 0.25 0.484531 0 RAD 0.0078125
- txt720
-TEXDEF txt721 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.0154687 APEX 0.25 0.375 0.109531 RAD 0.0078125
- txt721
-TEXDEF txt722 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0.125 RAD 0.03125
- txt722
-TEXDEF txt723 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0.125 APEX 0.359531 0.375 0.125 RAD 0.0078125
- txt723
-TEXDEF txt724 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0.125 APEX 0.25 0.484531 0.125 RAD 0.0078125
- txt724
-TEXDEF txt725 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.140469 APEX 0.25 0.375 0.234531 RAD 0.0078125
- txt725
-TEXDEF txt726 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0.25 RAD 0.03125
- txt726
-TEXDEF txt727 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0.25 APEX 0.359531 0.375 0.25 RAD 0.0078125
- txt727
-TEXDEF txt728 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0.25 APEX 0.25 0.484531 0.25 RAD 0.0078125
- txt728
-TEXDEF txt729 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.265469 APEX 0.25 0.375 0.359531 RAD 0.0078125
- txt729
-TEXDEF txt730 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0.375 RAD 0.03125
- txt730
-TEXDEF txt731 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0.375 APEX 0.359531 0.375 0.375 RAD 0.0078125
- txt731
-TEXDEF txt732 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0.375 APEX 0.25 0.484531 0.375 RAD 0.0078125
- txt732
-TEXDEF txt733 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.390469 APEX 0.25 0.375 0.484531 RAD 0.0078125
- txt733
-TEXDEF txt734 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0.5 RAD 0.03125
- txt734
-TEXDEF txt735 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0.5 APEX 0.359531 0.375 0.5 RAD 0.0078125
- txt735
-TEXDEF txt736 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0.5 APEX 0.25 0.484531 0.5 RAD 0.0078125
- txt736
-TEXDEF txt737 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.515469 APEX 0.25 0.375 0.609531 RAD 0.0078125
- txt737
-TEXDEF txt738 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0.625 RAD 0.03125
- txt738
-TEXDEF txt739 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0.625 APEX 0.359531 0.375 0.625 RAD 0.0078125
- txt739
-TEXDEF txt740 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0.625 APEX 0.25 0.484531 0.625 RAD 0.0078125
- txt740
-TEXDEF txt741 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.640469 APEX 0.25 0.375 0.734531 RAD 0.0078125
- txt741
-TEXDEF txt742 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0.75 RAD 0.03125
- txt742
-TEXDEF txt743 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0.75 APEX 0.359531 0.375 0.75 RAD 0.0078125
- txt743
-TEXDEF txt744 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0.75 APEX 0.25 0.484531 0.75 RAD 0.0078125
- txt744
-TEXDEF txt745 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.765469 APEX 0.25 0.375 0.859531 RAD 0.0078125
- txt745
-TEXDEF txt746 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 0.875 RAD 0.03125
- txt746
-TEXDEF txt747 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 0.875 APEX 0.359531 0.375 0.875 RAD 0.0078125
- txt747
-TEXDEF txt748 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 0.875 APEX 0.25 0.484531 0.875 RAD 0.0078125
- txt748
-TEXDEF txt749 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.375 0.890469 APEX 0.25 0.375 0.984531 RAD 0.0078125
- txt749
-TEXDEF txt750 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.375 1 RAD 0.03125
- txt750
-TEXDEF txt751 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.375 1 APEX 0.359531 0.375 1 RAD 0.0078125
- txt751
-TEXDEF txt752 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.390469 1 APEX 0.25 0.484531 1 RAD 0.0078125
- txt752
-TEXDEF txt753 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0 RAD 0.03125
- txt753
-TEXDEF txt754 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0 APEX 0.359531 0.5 0 RAD 0.0078125
- txt754
-TEXDEF txt755 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0 APEX 0.25 0.609531 0 RAD 0.0078125
- txt755
-TEXDEF txt756 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.0154687 APEX 0.25 0.5 0.109531 RAD 0.0078125
- txt756
-TEXDEF txt757 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0.125 RAD 0.03125
- txt757
-TEXDEF txt758 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0.125 APEX 0.359531 0.5 0.125 RAD 0.0078125
- txt758
-TEXDEF txt759 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0.125 APEX 0.25 0.609531 0.125 RAD 0.0078125
- txt759
-TEXDEF txt760 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.140469 APEX 0.25 0.5 0.234531 RAD 0.0078125
- txt760
-TEXDEF txt761 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0.25 RAD 0.03125
- txt761
-TEXDEF txt762 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0.25 APEX 0.359531 0.5 0.25 RAD 0.0078125
- txt762
-TEXDEF txt763 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0.25 APEX 0.25 0.609531 0.25 RAD 0.0078125
- txt763
-TEXDEF txt764 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.265469 APEX 0.25 0.5 0.359531 RAD 0.0078125
- txt764
-TEXDEF txt765 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0.375 RAD 0.03125
- txt765
-TEXDEF txt766 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0.375 APEX 0.359531 0.5 0.375 RAD 0.0078125
- txt766
-TEXDEF txt767 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0.375 APEX 0.25 0.609531 0.375 RAD 0.0078125
- txt767
-TEXDEF txt768 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.390469 APEX 0.25 0.5 0.484531 RAD 0.0078125
- txt768
-TEXDEF txt769 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0.5 RAD 0.03125
- txt769
-TEXDEF txt770 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0.5 APEX 0.359531 0.5 0.5 RAD 0.0078125
- txt770
-TEXDEF txt771 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0.5 APEX 0.25 0.609531 0.5 RAD 0.0078125
- txt771
-TEXDEF txt772 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.515469 APEX 0.25 0.5 0.609531 RAD 0.0078125
- txt772
-TEXDEF txt773 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0.625 RAD 0.03125
- txt773
-TEXDEF txt774 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0.625 APEX 0.359531 0.5 0.625 RAD 0.0078125
- txt774
-TEXDEF txt775 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0.625 APEX 0.25 0.609531 0.625 RAD 0.0078125
- txt775
-TEXDEF txt776 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.640469 APEX 0.25 0.5 0.734531 RAD 0.0078125
- txt776
-TEXDEF txt777 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0.75 RAD 0.03125
- txt777
-TEXDEF txt778 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0.75 APEX 0.359531 0.5 0.75 RAD 0.0078125
- txt778
-TEXDEF txt779 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0.75 APEX 0.25 0.609531 0.75 RAD 0.0078125
- txt779
-TEXDEF txt780 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.765469 APEX 0.25 0.5 0.859531 RAD 0.0078125
- txt780
-TEXDEF txt781 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 0.875 RAD 0.03125
- txt781
-TEXDEF txt782 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 0.875 APEX 0.359531 0.5 0.875 RAD 0.0078125
- txt782
-TEXDEF txt783 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 0.875 APEX 0.25 0.609531 0.875 RAD 0.0078125
- txt783
-TEXDEF txt784 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.5 0.890469 APEX 0.25 0.5 0.984531 RAD 0.0078125
- txt784
-TEXDEF txt785 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.5 1 RAD 0.03125
- txt785
-TEXDEF txt786 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.5 1 APEX 0.359531 0.5 1 RAD 0.0078125
- txt786
-TEXDEF txt787 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.515469 1 APEX 0.25 0.609531 1 RAD 0.0078125
- txt787
-TEXDEF txt788 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0 RAD 0.03125
- txt788
-TEXDEF txt789 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0 APEX 0.359531 0.625 0 RAD 0.0078125
- txt789
-TEXDEF txt790 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0 APEX 0.25 0.734531 0 RAD 0.0078125
- txt790
-TEXDEF txt791 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.0154687 APEX 0.25 0.625 0.109531 RAD 0.0078125
- txt791
-TEXDEF txt792 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0.125 RAD 0.03125
- txt792
-TEXDEF txt793 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0.125 APEX 0.359531 0.625 0.125 RAD 0.0078125
- txt793
-TEXDEF txt794 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0.125 APEX 0.25 0.734531 0.125 RAD 0.0078125
- txt794
-TEXDEF txt795 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.140469 APEX 0.25 0.625 0.234531 RAD 0.0078125
- txt795
-TEXDEF txt796 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0.25 RAD 0.03125
- txt796
-TEXDEF txt797 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0.25 APEX 0.359531 0.625 0.25 RAD 0.0078125
- txt797
-TEXDEF txt798 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0.25 APEX 0.25 0.734531 0.25 RAD 0.0078125
- txt798
-TEXDEF txt799 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.265469 APEX 0.25 0.625 0.359531 RAD 0.0078125
- txt799
-TEXDEF txt800 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0.375 RAD 0.03125
- txt800
-TEXDEF txt801 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0.375 APEX 0.359531 0.625 0.375 RAD 0.0078125
- txt801
-TEXDEF txt802 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0.375 APEX 0.25 0.734531 0.375 RAD 0.0078125
- txt802
-TEXDEF txt803 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.390469 APEX 0.25 0.625 0.484531 RAD 0.0078125
- txt803
-TEXDEF txt804 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0.5 RAD 0.03125
- txt804
-TEXDEF txt805 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0.5 APEX 0.359531 0.625 0.5 RAD 0.0078125
- txt805
-TEXDEF txt806 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0.5 APEX 0.25 0.734531 0.5 RAD 0.0078125
- txt806
-TEXDEF txt807 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.515469 APEX 0.25 0.625 0.609531 RAD 0.0078125
- txt807
-TEXDEF txt808 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0.625 RAD 0.03125
- txt808
-TEXDEF txt809 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0.625 APEX 0.359531 0.625 0.625 RAD 0.0078125
- txt809
-TEXDEF txt810 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0.625 APEX 0.25 0.734531 0.625 RAD 0.0078125
- txt810
-TEXDEF txt811 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.640469 APEX 0.25 0.625 0.734531 RAD 0.0078125
- txt811
-TEXDEF txt812 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0.75 RAD 0.03125
- txt812
-TEXDEF txt813 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0.75 APEX 0.359531 0.625 0.75 RAD 0.0078125
- txt813
-TEXDEF txt814 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0.75 APEX 0.25 0.734531 0.75 RAD 0.0078125
- txt814
-TEXDEF txt815 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.765469 APEX 0.25 0.625 0.859531 RAD 0.0078125
- txt815
-TEXDEF txt816 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 0.875 RAD 0.03125
- txt816
-TEXDEF txt817 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 0.875 APEX 0.359531 0.625 0.875 RAD 0.0078125
- txt817
-TEXDEF txt818 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 0.875 APEX 0.25 0.734531 0.875 RAD 0.0078125
- txt818
-TEXDEF txt819 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.625 0.890469 APEX 0.25 0.625 0.984531 RAD 0.0078125
- txt819
-TEXDEF txt820 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.625 1 RAD 0.03125
- txt820
-TEXDEF txt821 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.625 1 APEX 0.359531 0.625 1 RAD 0.0078125
- txt821
-TEXDEF txt822 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.640469 1 APEX 0.25 0.734531 1 RAD 0.0078125
- txt822
-TEXDEF txt823 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0 RAD 0.03125
- txt823
-TEXDEF txt824 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0 APEX 0.359531 0.75 0 RAD 0.0078125
- txt824
-TEXDEF txt825 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0 APEX 0.25 0.859531 0 RAD 0.0078125
- txt825
-TEXDEF txt826 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.0154687 APEX 0.25 0.75 0.109531 RAD 0.0078125
- txt826
-TEXDEF txt827 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0.125 RAD 0.03125
- txt827
-TEXDEF txt828 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0.125 APEX 0.359531 0.75 0.125 RAD 0.0078125
- txt828
-TEXDEF txt829 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0.125 APEX 0.25 0.859531 0.125 RAD 0.0078125
- txt829
-TEXDEF txt830 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.140469 APEX 0.25 0.75 0.234531 RAD 0.0078125
- txt830
-TEXDEF txt831 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0.25 RAD 0.03125
- txt831
-TEXDEF txt832 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0.25 APEX 0.359531 0.75 0.25 RAD 0.0078125
- txt832
-TEXDEF txt833 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0.25 APEX 0.25 0.859531 0.25 RAD 0.0078125
- txt833
-TEXDEF txt834 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.265469 APEX 0.25 0.75 0.359531 RAD 0.0078125
- txt834
-TEXDEF txt835 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0.375 RAD 0.03125
- txt835
-TEXDEF txt836 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0.375 APEX 0.359531 0.75 0.375 RAD 0.0078125
- txt836
-TEXDEF txt837 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0.375 APEX 0.25 0.859531 0.375 RAD 0.0078125
- txt837
-TEXDEF txt838 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.390469 APEX 0.25 0.75 0.484531 RAD 0.0078125
- txt838
-TEXDEF txt839 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0.5 RAD 0.03125
- txt839
-TEXDEF txt840 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0.5 APEX 0.359531 0.75 0.5 RAD 0.0078125
- txt840
-TEXDEF txt841 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0.5 APEX 0.25 0.859531 0.5 RAD 0.0078125
- txt841
-TEXDEF txt842 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.515469 APEX 0.25 0.75 0.609531 RAD 0.0078125
- txt842
-TEXDEF txt843 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0.625 RAD 0.03125
- txt843
-TEXDEF txt844 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0.625 APEX 0.359531 0.75 0.625 RAD 0.0078125
- txt844
-TEXDEF txt845 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0.625 APEX 0.25 0.859531 0.625 RAD 0.0078125
- txt845
-TEXDEF txt846 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.640469 APEX 0.25 0.75 0.734531 RAD 0.0078125
- txt846
-TEXDEF txt847 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0.75 RAD 0.03125
- txt847
-TEXDEF txt848 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0.75 APEX 0.359531 0.75 0.75 RAD 0.0078125
- txt848
-TEXDEF txt849 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0.75 APEX 0.25 0.859531 0.75 RAD 0.0078125
- txt849
-TEXDEF txt850 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.765469 APEX 0.25 0.75 0.859531 RAD 0.0078125
- txt850
-TEXDEF txt851 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 0.875 RAD 0.03125
- txt851
-TEXDEF txt852 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 0.875 APEX 0.359531 0.75 0.875 RAD 0.0078125
- txt852
-TEXDEF txt853 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 0.875 APEX 0.25 0.859531 0.875 RAD 0.0078125
- txt853
-TEXDEF txt854 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.75 0.890469 APEX 0.25 0.75 0.984531 RAD 0.0078125
- txt854
-TEXDEF txt855 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.75 1 RAD 0.03125
- txt855
-TEXDEF txt856 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.75 1 APEX 0.359531 0.75 1 RAD 0.0078125
- txt856
-TEXDEF txt857 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.765469 1 APEX 0.25 0.859531 1 RAD 0.0078125
- txt857
-TEXDEF txt858 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0 RAD 0.03125
- txt858
-TEXDEF txt859 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0 APEX 0.359531 0.875 0 RAD 0.0078125
- txt859
-TEXDEF txt860 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0 APEX 0.25 0.984531 0 RAD 0.0078125
- txt860
-TEXDEF txt861 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.0154687 APEX 0.25 0.875 0.109531 RAD 0.0078125
- txt861
-TEXDEF txt862 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0.125 RAD 0.03125
- txt862
-TEXDEF txt863 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0.125 APEX 0.359531 0.875 0.125 RAD 0.0078125
- txt863
-TEXDEF txt864 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0.125 APEX 0.25 0.984531 0.125 RAD 0.0078125
- txt864
-TEXDEF txt865 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.140469 APEX 0.25 0.875 0.234531 RAD 0.0078125
- txt865
-TEXDEF txt866 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0.25 RAD 0.03125
- txt866
-TEXDEF txt867 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0.25 APEX 0.359531 0.875 0.25 RAD 0.0078125
- txt867
-TEXDEF txt868 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0.25 APEX 0.25 0.984531 0.25 RAD 0.0078125
- txt868
-TEXDEF txt869 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.265469 APEX 0.25 0.875 0.359531 RAD 0.0078125
- txt869
-TEXDEF txt870 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0.375 RAD 0.03125
- txt870
-TEXDEF txt871 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0.375 APEX 0.359531 0.875 0.375 RAD 0.0078125
- txt871
-TEXDEF txt872 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0.375 APEX 0.25 0.984531 0.375 RAD 0.0078125
- txt872
-TEXDEF txt873 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.390469 APEX 0.25 0.875 0.484531 RAD 0.0078125
- txt873
-TEXDEF txt874 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0.5 RAD 0.03125
- txt874
-TEXDEF txt875 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0.5 APEX 0.359531 0.875 0.5 RAD 0.0078125
- txt875
-TEXDEF txt876 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0.5 APEX 0.25 0.984531 0.5 RAD 0.0078125
- txt876
-TEXDEF txt877 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.515469 APEX 0.25 0.875 0.609531 RAD 0.0078125
- txt877
-TEXDEF txt878 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0.625 RAD 0.03125
- txt878
-TEXDEF txt879 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0.625 APEX 0.359531 0.875 0.625 RAD 0.0078125
- txt879
-TEXDEF txt880 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0.625 APEX 0.25 0.984531 0.625 RAD 0.0078125
- txt880
-TEXDEF txt881 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.640469 APEX 0.25 0.875 0.734531 RAD 0.0078125
- txt881
-TEXDEF txt882 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0.75 RAD 0.03125
- txt882
-TEXDEF txt883 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0.75 APEX 0.359531 0.875 0.75 RAD 0.0078125
- txt883
-TEXDEF txt884 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0.75 APEX 0.25 0.984531 0.75 RAD 0.0078125
- txt884
-TEXDEF txt885 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.765469 APEX 0.25 0.875 0.859531 RAD 0.0078125
- txt885
-TEXDEF txt886 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 0.875 RAD 0.03125
- txt886
-TEXDEF txt887 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 0.875 APEX 0.359531 0.875 0.875 RAD 0.0078125
- txt887
-TEXDEF txt888 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 0.875 APEX 0.25 0.984531 0.875 RAD 0.0078125
- txt888
-TEXDEF txt889 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.875 0.890469 APEX 0.25 0.875 0.984531 RAD 0.0078125
- txt889
-TEXDEF txt890 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 0.875 1 RAD 0.03125
- txt890
-TEXDEF txt891 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 0.875 1 APEX 0.359531 0.875 1 RAD 0.0078125
- txt891
-TEXDEF txt892 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 0.890469 1 APEX 0.25 0.984531 1 RAD 0.0078125
- txt892
-TEXDEF txt893 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0 RAD 0.03125
- txt893
-TEXDEF txt894 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0 APEX 0.359531 1 0 RAD 0.0078125
- txt894
-TEXDEF txt895 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.0154687 APEX 0.25 1 0.109531 RAD 0.0078125
- txt895
-TEXDEF txt896 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0.125 RAD 0.03125
- txt896
-TEXDEF txt897 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0.125 APEX 0.359531 1 0.125 RAD 0.0078125
- txt897
-TEXDEF txt898 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.140469 APEX 0.25 1 0.234531 RAD 0.0078125
- txt898
-TEXDEF txt899 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0.25 RAD 0.03125
- txt899
-TEXDEF txt900 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0.25 APEX 0.359531 1 0.25 RAD 0.0078125
- txt900
-TEXDEF txt901 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.265469 APEX 0.25 1 0.359531 RAD 0.0078125
- txt901
-TEXDEF txt902 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0.375 RAD 0.03125
- txt902
-TEXDEF txt903 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0.375 APEX 0.359531 1 0.375 RAD 0.0078125
- txt903
-TEXDEF txt904 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.390469 APEX 0.25 1 0.484531 RAD 0.0078125
- txt904
-TEXDEF txt905 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0.5 RAD 0.03125
- txt905
-TEXDEF txt906 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0.5 APEX 0.359531 1 0.5 RAD 0.0078125
- txt906
-TEXDEF txt907 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.515469 APEX 0.25 1 0.609531 RAD 0.0078125
- txt907
-TEXDEF txt908 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0.625 RAD 0.03125
- txt908
-TEXDEF txt909 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0.625 APEX 0.359531 1 0.625 RAD 0.0078125
- txt909
-TEXDEF txt910 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.640469 APEX 0.25 1 0.734531 RAD 0.0078125
- txt910
-TEXDEF txt911 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0.75 RAD 0.03125
- txt911
-TEXDEF txt912 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0.75 APEX 0.359531 1 0.75 RAD 0.0078125
- txt912
-TEXDEF txt913 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.765469 APEX 0.25 1 0.859531 RAD 0.0078125
- txt913
-TEXDEF txt914 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 0.875 RAD 0.03125
- txt914
-TEXDEF txt915 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 0.875 APEX 0.359531 1 0.875 RAD 0.0078125
- txt915
-TEXDEF txt916 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.25 1 0.890469 APEX 0.25 1 0.984531 RAD 0.0078125
- txt916
-TEXDEF txt917 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.25 1 1 RAD 0.03125
- txt917
-TEXDEF txt918 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.265469 1 1 APEX 0.359531 1 1 RAD 0.0078125
- txt918
-TEXDEF txt919 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0 RAD 0.03125
- txt919
-TEXDEF txt920 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0 APEX 0.484531 0 0 RAD 0.0078125
- txt920
-TEXDEF txt921 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0 APEX 0.375 0.109531 0 RAD 0.0078125
- txt921
-TEXDEF txt922 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.0154687 APEX 0.375 0 0.109531 RAD 0.0078125
- txt922
-TEXDEF txt923 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0.125 RAD 0.03125
- txt923
-TEXDEF txt924 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0.125 APEX 0.484531 0 0.125 RAD 0.0078125
- txt924
-TEXDEF txt925 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0.125 APEX 0.375 0.109531 0.125 RAD 0.0078125
- txt925
-TEXDEF txt926 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.140469 APEX 0.375 0 0.234531 RAD 0.0078125
- txt926
-TEXDEF txt927 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0.25 RAD 0.03125
- txt927
-TEXDEF txt928 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0.25 APEX 0.484531 0 0.25 RAD 0.0078125
- txt928
-TEXDEF txt929 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0.25 APEX 0.375 0.109531 0.25 RAD 0.0078125
- txt929
-TEXDEF txt930 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.265469 APEX 0.375 0 0.359531 RAD 0.0078125
- txt930
-TEXDEF txt931 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0.375 RAD 0.03125
- txt931
-TEXDEF txt932 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0.375 APEX 0.484531 0 0.375 RAD 0.0078125
- txt932
-TEXDEF txt933 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0.375 APEX 0.375 0.109531 0.375 RAD 0.0078125
- txt933
-TEXDEF txt934 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.390469 APEX 0.375 0 0.484531 RAD 0.0078125
- txt934
-TEXDEF txt935 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0.5 RAD 0.03125
- txt935
-TEXDEF txt936 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0.5 APEX 0.484531 0 0.5 RAD 0.0078125
- txt936
-TEXDEF txt937 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0.5 APEX 0.375 0.109531 0.5 RAD 0.0078125
- txt937
-TEXDEF txt938 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.515469 APEX 0.375 0 0.609531 RAD 0.0078125
- txt938
-TEXDEF txt939 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0.625 RAD 0.03125
- txt939
-TEXDEF txt940 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0.625 APEX 0.484531 0 0.625 RAD 0.0078125
- txt940
-TEXDEF txt941 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0.625 APEX 0.375 0.109531 0.625 RAD 0.0078125
- txt941
-TEXDEF txt942 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.640469 APEX 0.375 0 0.734531 RAD 0.0078125
- txt942
-TEXDEF txt943 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0.75 RAD 0.03125
- txt943
-TEXDEF txt944 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0.75 APEX 0.484531 0 0.75 RAD 0.0078125
- txt944
-TEXDEF txt945 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0.75 APEX 0.375 0.109531 0.75 RAD 0.0078125
- txt945
-TEXDEF txt946 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.765469 APEX 0.375 0 0.859531 RAD 0.0078125
- txt946
-TEXDEF txt947 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 0.875 RAD 0.03125
- txt947
-TEXDEF txt948 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 0.875 APEX 0.484531 0 0.875 RAD 0.0078125
- txt948
-TEXDEF txt949 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 0.875 APEX 0.375 0.109531 0.875 RAD 0.0078125
- txt949
-TEXDEF txt950 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0 0.890469 APEX 0.375 0 0.984531 RAD 0.0078125
- txt950
-TEXDEF txt951 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0 1 RAD 0.03125
- txt951
-TEXDEF txt952 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0 1 APEX 0.484531 0 1 RAD 0.0078125
- txt952
-TEXDEF txt953 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.0154687 1 APEX 0.375 0.109531 1 RAD 0.0078125
- txt953
-TEXDEF txt954 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0 RAD 0.03125
- txt954
-TEXDEF txt955 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0 APEX 0.484531 0.125 0 RAD 0.0078125
- txt955
-TEXDEF txt956 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0 APEX 0.375 0.234531 0 RAD 0.0078125
- txt956
-TEXDEF txt957 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.0154687 APEX 0.375 0.125 0.109531 RAD 0.0078125
- txt957
-TEXDEF txt958 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0.125 RAD 0.03125
- txt958
-TEXDEF txt959 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0.125 APEX 0.484531 0.125 0.125 RAD 0.0078125
- txt959
-TEXDEF txt960 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0.125 APEX 0.375 0.234531 0.125 RAD 0.0078125
- txt960
-TEXDEF txt961 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.140469 APEX 0.375 0.125 0.234531 RAD 0.0078125
- txt961
-TEXDEF txt962 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0.25 RAD 0.03125
- txt962
-TEXDEF txt963 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0.25 APEX 0.484531 0.125 0.25 RAD 0.0078125
- txt963
-TEXDEF txt964 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0.25 APEX 0.375 0.234531 0.25 RAD 0.0078125
- txt964
-TEXDEF txt965 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.265469 APEX 0.375 0.125 0.359531 RAD 0.0078125
- txt965
-TEXDEF txt966 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0.375 RAD 0.03125
- txt966
-TEXDEF txt967 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0.375 APEX 0.484531 0.125 0.375 RAD 0.0078125
- txt967
-TEXDEF txt968 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0.375 APEX 0.375 0.234531 0.375 RAD 0.0078125
- txt968
-TEXDEF txt969 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.390469 APEX 0.375 0.125 0.484531 RAD 0.0078125
- txt969
-TEXDEF txt970 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0.5 RAD 0.03125
- txt970
-TEXDEF txt971 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0.5 APEX 0.484531 0.125 0.5 RAD 0.0078125
- txt971
-TEXDEF txt972 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0.5 APEX 0.375 0.234531 0.5 RAD 0.0078125
- txt972
-TEXDEF txt973 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.515469 APEX 0.375 0.125 0.609531 RAD 0.0078125
- txt973
-TEXDEF txt974 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0.625 RAD 0.03125
- txt974
-TEXDEF txt975 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0.625 APEX 0.484531 0.125 0.625 RAD 0.0078125
- txt975
-TEXDEF txt976 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0.625 APEX 0.375 0.234531 0.625 RAD 0.0078125
- txt976
-TEXDEF txt977 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.640469 APEX 0.375 0.125 0.734531 RAD 0.0078125
- txt977
-TEXDEF txt978 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0.75 RAD 0.03125
- txt978
-TEXDEF txt979 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0.75 APEX 0.484531 0.125 0.75 RAD 0.0078125
- txt979
-TEXDEF txt980 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0.75 APEX 0.375 0.234531 0.75 RAD 0.0078125
- txt980
-TEXDEF txt981 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.765469 APEX 0.375 0.125 0.859531 RAD 0.0078125
- txt981
-TEXDEF txt982 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 0.875 RAD 0.03125
- txt982
-TEXDEF txt983 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 0.875 APEX 0.484531 0.125 0.875 RAD 0.0078125
- txt983
-TEXDEF txt984 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 0.875 APEX 0.375 0.234531 0.875 RAD 0.0078125
- txt984
-TEXDEF txt985 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.125 0.890469 APEX 0.375 0.125 0.984531 RAD 0.0078125
- txt985
-TEXDEF txt986 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.125 1 RAD 0.03125
- txt986
-TEXDEF txt987 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.125 1 APEX 0.484531 0.125 1 RAD 0.0078125
- txt987
-TEXDEF txt988 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.140469 1 APEX 0.375 0.234531 1 RAD 0.0078125
- txt988
-TEXDEF txt989 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0 RAD 0.03125
- txt989
-TEXDEF txt990 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0 APEX 0.484531 0.25 0 RAD 0.0078125
- txt990
-TEXDEF txt991 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0 APEX 0.375 0.359531 0 RAD 0.0078125
- txt991
-TEXDEF txt992 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.0154687 APEX 0.375 0.25 0.109531 RAD 0.0078125
- txt992
-TEXDEF txt993 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0.125 RAD 0.03125
- txt993
-TEXDEF txt994 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0.125 APEX 0.484531 0.25 0.125 RAD 0.0078125
- txt994
-TEXDEF txt995 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0.125 APEX 0.375 0.359531 0.125 RAD 0.0078125
- txt995
-TEXDEF txt996 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.140469 APEX 0.375 0.25 0.234531 RAD 0.0078125
- txt996
-TEXDEF txt997 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0.25 RAD 0.03125
- txt997
-TEXDEF txt998 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0.25 APEX 0.484531 0.25 0.25 RAD 0.0078125
- txt998
-TEXDEF txt999 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0.25 APEX 0.375 0.359531 0.25 RAD 0.0078125
- txt999
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.265469 APEX 0.375 0.25 0.359531 RAD 0.0078125
- txt100
-TEXDEF txt100 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0.375 RAD 0.03125
- txt100
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0.375 APEX 0.484531 0.25 0.375 RAD 0.0078125
- txt100
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0.375 APEX 0.375 0.359531 0.375 RAD 0.0078125
- txt100
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.390469 APEX 0.375 0.25 0.484531 RAD 0.0078125
- txt100
-TEXDEF txt100 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0.5 RAD 0.03125
- txt100
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0.5 APEX 0.484531 0.25 0.5 RAD 0.0078125
- txt100
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0.5 APEX 0.375 0.359531 0.5 RAD 0.0078125
- txt100
-TEXDEF txt100 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.515469 APEX 0.375 0.25 0.609531 RAD 0.0078125
- txt100
-TEXDEF txt100 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0.625 RAD 0.03125
- txt100
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0.625 APEX 0.484531 0.25 0.625 RAD 0.0078125
- txt101
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0.625 APEX 0.375 0.359531 0.625 RAD 0.0078125
- txt101
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.640469 APEX 0.375 0.25 0.734531 RAD 0.0078125
- txt101
-TEXDEF txt101 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0.75 RAD 0.03125
- txt101
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0.75 APEX 0.484531 0.25 0.75 RAD 0.0078125
- txt101
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0.75 APEX 0.375 0.359531 0.75 RAD 0.0078125
- txt101
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.765469 APEX 0.375 0.25 0.859531 RAD 0.0078125
- txt101
-TEXDEF txt101 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 0.875 RAD 0.03125
- txt101
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 0.875 APEX 0.484531 0.25 0.875 RAD 0.0078125
- txt101
-TEXDEF txt101 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 0.875 APEX 0.375 0.359531 0.875 RAD 0.0078125
- txt101
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.25 0.890469 APEX 0.375 0.25 0.984531 RAD 0.0078125
- txt102
-TEXDEF txt102 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.25 1 RAD 0.03125
- txt102
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.25 1 APEX 0.484531 0.25 1 RAD 0.0078125
- txt102
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.265469 1 APEX 0.375 0.359531 1 RAD 0.0078125
- txt102
-TEXDEF txt102 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0 RAD 0.03125
- txt102
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0 APEX 0.484531 0.375 0 RAD 0.0078125
- txt102
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0 APEX 0.375 0.484531 0 RAD 0.0078125
- txt102
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.0154687 APEX 0.375 0.375 0.109531 RAD 0.0078125
- txt102
-TEXDEF txt102 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0.125 RAD 0.03125
- txt102
-TEXDEF txt102 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0.125 APEX 0.484531 0.375 0.125 RAD 0.0078125
- txt102
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0.125 APEX 0.375 0.484531 0.125 RAD 0.0078125
- txt103
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.140469 APEX 0.375 0.375 0.234531 RAD 0.0078125
- txt103
-TEXDEF txt103 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0.25 RAD 0.03125
- txt103
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0.25 APEX 0.484531 0.375 0.25 RAD 0.0078125
- txt103
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0.25 APEX 0.375 0.484531 0.25 RAD 0.0078125
- txt103
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.265469 APEX 0.375 0.375 0.359531 RAD 0.0078125
- txt103
-TEXDEF txt103 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0.375 RAD 0.03125
- txt103
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0.375 APEX 0.484531 0.375 0.375 RAD 0.0078125
- txt103
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0.375 APEX 0.375 0.484531 0.375 RAD 0.0078125
- txt103
-TEXDEF txt103 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.390469 APEX 0.375 0.375 0.484531 RAD 0.0078125
- txt103
-TEXDEF txt104 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0.5 RAD 0.03125
- txt104
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0.5 APEX 0.484531 0.375 0.5 RAD 0.0078125
- txt104
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0.5 APEX 0.375 0.484531 0.5 RAD 0.0078125
- txt104
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.515469 APEX 0.375 0.375 0.609531 RAD 0.0078125
- txt104
-TEXDEF txt104 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0.625 RAD 0.03125
- txt104
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0.625 APEX 0.484531 0.375 0.625 RAD 0.0078125
- txt104
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0.625 APEX 0.375 0.484531 0.625 RAD 0.0078125
- txt104
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.640469 APEX 0.375 0.375 0.734531 RAD 0.0078125
- txt104
-TEXDEF txt104 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0.75 RAD 0.03125
- txt104
-TEXDEF txt104 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0.75 APEX 0.484531 0.375 0.75 RAD 0.0078125
- txt104
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0.75 APEX 0.375 0.484531 0.75 RAD 0.0078125
- txt105
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.765469 APEX 0.375 0.375 0.859531 RAD 0.0078125
- txt105
-TEXDEF txt105 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 0.875 RAD 0.03125
- txt105
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 0.875 APEX 0.484531 0.375 0.875 RAD 0.0078125
- txt105
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 0.875 APEX 0.375 0.484531 0.875 RAD 0.0078125
- txt105
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.375 0.890469 APEX 0.375 0.375 0.984531 RAD 0.0078125
- txt105
-TEXDEF txt105 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.375 1 RAD 0.03125
- txt105
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.375 1 APEX 0.484531 0.375 1 RAD 0.0078125
- txt105
-TEXDEF txt105 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.390469 1 APEX 0.375 0.484531 1 RAD 0.0078125
- txt105
-TEXDEF txt105 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0 RAD 0.03125
- txt105
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0 APEX 0.484531 0.5 0 RAD 0.0078125
- txt106
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0 APEX 0.375 0.609531 0 RAD 0.0078125
- txt106
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.0154687 APEX 0.375 0.5 0.109531 RAD 0.0078125
- txt106
-TEXDEF txt106 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0.125 RAD 0.03125
- txt106
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0.125 APEX 0.484531 0.5 0.125 RAD 0.0078125
- txt106
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0.125 APEX 0.375 0.609531 0.125 RAD 0.0078125
- txt106
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.140469 APEX 0.375 0.5 0.234531 RAD 0.0078125
- txt106
-TEXDEF txt106 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0.25 RAD 0.03125
- txt106
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0.25 APEX 0.484531 0.5 0.25 RAD 0.0078125
- txt106
-TEXDEF txt106 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0.25 APEX 0.375 0.609531 0.25 RAD 0.0078125
- txt106
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.265469 APEX 0.375 0.5 0.359531 RAD 0.0078125
- txt107
-TEXDEF txt107 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0.375 RAD 0.03125
- txt107
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0.375 APEX 0.484531 0.5 0.375 RAD 0.0078125
- txt107
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0.375 APEX 0.375 0.609531 0.375 RAD 0.0078125
- txt107
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.390469 APEX 0.375 0.5 0.484531 RAD 0.0078125
- txt107
-TEXDEF txt107 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0.5 RAD 0.03125
- txt107
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0.5 APEX 0.484531 0.5 0.5 RAD 0.0078125
- txt107
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0.5 APEX 0.375 0.609531 0.5 RAD 0.0078125
- txt107
-TEXDEF txt107 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.515469 APEX 0.375 0.5 0.609531 RAD 0.0078125
- txt107
-TEXDEF txt107 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0.625 RAD 0.03125
- txt107
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0.625 APEX 0.484531 0.5 0.625 RAD 0.0078125
- txt108
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0.625 APEX 0.375 0.609531 0.625 RAD 0.0078125
- txt108
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.640469 APEX 0.375 0.5 0.734531 RAD 0.0078125
- txt108
-TEXDEF txt108 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0.75 RAD 0.03125
- txt108
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0.75 APEX 0.484531 0.5 0.75 RAD 0.0078125
- txt108
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0.75 APEX 0.375 0.609531 0.75 RAD 0.0078125
- txt108
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.765469 APEX 0.375 0.5 0.859531 RAD 0.0078125
- txt108
-TEXDEF txt108 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 0.875 RAD 0.03125
- txt108
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 0.875 APEX 0.484531 0.5 0.875 RAD 0.0078125
- txt108
-TEXDEF txt108 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 0.875 APEX 0.375 0.609531 0.875 RAD 0.0078125
- txt108
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.5 0.890469 APEX 0.375 0.5 0.984531 RAD 0.0078125
- txt109
-TEXDEF txt109 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.5 1 RAD 0.03125
- txt109
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.5 1 APEX 0.484531 0.5 1 RAD 0.0078125
- txt109
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.515469 1 APEX 0.375 0.609531 1 RAD 0.0078125
- txt109
-TEXDEF txt109 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0 RAD 0.03125
- txt109
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0 APEX 0.484531 0.625 0 RAD 0.0078125
- txt109
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0 APEX 0.375 0.734531 0 RAD 0.0078125
- txt109
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.0154687 APEX 0.375 0.625 0.109531 RAD 0.0078125
- txt109
-TEXDEF txt109 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0.125 RAD 0.03125
- txt109
-TEXDEF txt109 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0.125 APEX 0.484531 0.625 0.125 RAD 0.0078125
- txt109
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0.125 APEX 0.375 0.734531 0.125 RAD 0.0078125
- txt110
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.140469 APEX 0.375 0.625 0.234531 RAD 0.0078125
- txt110
-TEXDEF txt110 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0.25 RAD 0.03125
- txt110
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0.25 APEX 0.484531 0.625 0.25 RAD 0.0078125
- txt110
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0.25 APEX 0.375 0.734531 0.25 RAD 0.0078125
- txt110
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.265469 APEX 0.375 0.625 0.359531 RAD 0.0078125
- txt110
-TEXDEF txt110 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0.375 RAD 0.03125
- txt110
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0.375 APEX 0.484531 0.625 0.375 RAD 0.0078125
- txt110
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0.375 APEX 0.375 0.734531 0.375 RAD 0.0078125
- txt110
-TEXDEF txt110 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.390469 APEX 0.375 0.625 0.484531 RAD 0.0078125
- txt110
-TEXDEF txt111 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0.5 RAD 0.03125
- txt111
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0.5 APEX 0.484531 0.625 0.5 RAD 0.0078125
- txt111
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0.5 APEX 0.375 0.734531 0.5 RAD 0.0078125
- txt111
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.515469 APEX 0.375 0.625 0.609531 RAD 0.0078125
- txt111
-TEXDEF txt111 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0.625 RAD 0.03125
- txt111
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0.625 APEX 0.484531 0.625 0.625 RAD 0.0078125
- txt111
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0.625 APEX 0.375 0.734531 0.625 RAD 0.0078125
- txt111
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.640469 APEX 0.375 0.625 0.734531 RAD 0.0078125
- txt111
-TEXDEF txt111 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0.75 RAD 0.03125
- txt111
-TEXDEF txt111 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0.75 APEX 0.484531 0.625 0.75 RAD 0.0078125
- txt111
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0.75 APEX 0.375 0.734531 0.75 RAD 0.0078125
- txt112
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.765469 APEX 0.375 0.625 0.859531 RAD 0.0078125
- txt112
-TEXDEF txt112 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 0.875 RAD 0.03125
- txt112
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 0.875 APEX 0.484531 0.625 0.875 RAD 0.0078125
- txt112
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 0.875 APEX 0.375 0.734531 0.875 RAD 0.0078125
- txt112
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.625 0.890469 APEX 0.375 0.625 0.984531 RAD 0.0078125
- txt112
-TEXDEF txt112 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.625 1 RAD 0.03125
- txt112
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.625 1 APEX 0.484531 0.625 1 RAD 0.0078125
- txt112
-TEXDEF txt112 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.640469 1 APEX 0.375 0.734531 1 RAD 0.0078125
- txt112
-TEXDEF txt112 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0 RAD 0.03125
- txt112
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0 APEX 0.484531 0.75 0 RAD 0.0078125
- txt113
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0 APEX 0.375 0.859531 0 RAD 0.0078125
- txt113
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.0154687 APEX 0.375 0.75 0.109531 RAD 0.0078125
- txt113
-TEXDEF txt113 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0.125 RAD 0.03125
- txt113
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0.125 APEX 0.484531 0.75 0.125 RAD 0.0078125
- txt113
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0.125 APEX 0.375 0.859531 0.125 RAD 0.0078125
- txt113
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.140469 APEX 0.375 0.75 0.234531 RAD 0.0078125
- txt113
-TEXDEF txt113 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0.25 RAD 0.03125
- txt113
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0.25 APEX 0.484531 0.75 0.25 RAD 0.0078125
- txt113
-TEXDEF txt113 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0.25 APEX 0.375 0.859531 0.25 RAD 0.0078125
- txt113
-TEXDEF txt114 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.265469 APEX 0.375 0.75 0.359531 RAD 0.0078125
- txt114
-TEXDEF txt114 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0.375 RAD 0.03125
- txt114
-TEXDEF txt114 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0.375 APEX 0.484531 0.75 0.375 RAD 0.0078125
- txt114
-TEXDEF txt114 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0.375 APEX 0.375 0.859531 0.375 RAD 0.0078125
- txt114
-TEXDEF txt114 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.390469 APEX 0.375 0.75 0.484531 RAD 0.0078125
- txt114
-TEXDEF txt114 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0.5 RAD 0.03125
- txt114
-TEXDEF txt114 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0.5 APEX 0.484531 0.75 0.5 RAD 0.0078125
- txt114
-TEXDEF txt114 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0.5 APEX 0.375 0.859531 0.5 RAD 0.0078125
- txt114
-TEXDEF txt114 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.515469 APEX 0.375 0.75 0.609531 RAD 0.0078125
- txt114
-TEXDEF txt114 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0.625 RAD 0.03125
- txt114
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0.625 APEX 0.484531 0.75 0.625 RAD 0.0078125
- txt115
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0.625 APEX 0.375 0.859531 0.625 RAD 0.0078125
- txt115
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.640469 APEX 0.375 0.75 0.734531 RAD 0.0078125
- txt115
-TEXDEF txt115 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0.75 RAD 0.03125
- txt115
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0.75 APEX 0.484531 0.75 0.75 RAD 0.0078125
- txt115
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0.75 APEX 0.375 0.859531 0.75 RAD 0.0078125
- txt115
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.765469 APEX 0.375 0.75 0.859531 RAD 0.0078125
- txt115
-TEXDEF txt115 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 0.875 RAD 0.03125
- txt115
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 0.875 APEX 0.484531 0.75 0.875 RAD 0.0078125
- txt115
-TEXDEF txt115 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 0.875 APEX 0.375 0.859531 0.875 RAD 0.0078125
- txt115
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.75 0.890469 APEX 0.375 0.75 0.984531 RAD 0.0078125
- txt116
-TEXDEF txt116 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.75 1 RAD 0.03125
- txt116
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.75 1 APEX 0.484531 0.75 1 RAD 0.0078125
- txt116
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.765469 1 APEX 0.375 0.859531 1 RAD 0.0078125
- txt116
-TEXDEF txt116 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0 RAD 0.03125
- txt116
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0 APEX 0.484531 0.875 0 RAD 0.0078125
- txt116
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0 APEX 0.375 0.984531 0 RAD 0.0078125
- txt116
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.0154687 APEX 0.375 0.875 0.109531 RAD 0.0078125
- txt116
-TEXDEF txt116 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0.125 RAD 0.03125
- txt116
-TEXDEF txt116 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0.125 APEX 0.484531 0.875 0.125 RAD 0.0078125
- txt116
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0.125 APEX 0.375 0.984531 0.125 RAD 0.0078125
- txt117
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.140469 APEX 0.375 0.875 0.234531 RAD 0.0078125
- txt117
-TEXDEF txt117 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0.25 RAD 0.03125
- txt117
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0.25 APEX 0.484531 0.875 0.25 RAD 0.0078125
- txt117
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0.25 APEX 0.375 0.984531 0.25 RAD 0.0078125
- txt117
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.265469 APEX 0.375 0.875 0.359531 RAD 0.0078125
- txt117
-TEXDEF txt117 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0.375 RAD 0.03125
- txt117
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0.375 APEX 0.484531 0.875 0.375 RAD 0.0078125
- txt117
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0.375 APEX 0.375 0.984531 0.375 RAD 0.0078125
- txt117
-TEXDEF txt117 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.390469 APEX 0.375 0.875 0.484531 RAD 0.0078125
- txt117
-TEXDEF txt118 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0.5 RAD 0.03125
- txt118
-TEXDEF txt118 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0.5 APEX 0.484531 0.875 0.5 RAD 0.0078125
- txt118
-TEXDEF txt118 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0.5 APEX 0.375 0.984531 0.5 RAD 0.0078125
- txt118
-TEXDEF txt118 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.515469 APEX 0.375 0.875 0.609531 RAD 0.0078125
- txt118
-TEXDEF txt118 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0.625 RAD 0.03125
- txt118
-TEXDEF txt118 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0.625 APEX 0.484531 0.875 0.625 RAD 0.0078125
- txt118
-TEXDEF txt118 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0.625 APEX 0.375 0.984531 0.625 RAD 0.0078125
- txt118
-TEXDEF txt118 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.640469 APEX 0.375 0.875 0.734531 RAD 0.0078125
- txt118
-TEXDEF txt118 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0.75 RAD 0.03125
- txt118
-TEXDEF txt118 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0.75 APEX 0.484531 0.875 0.75 RAD 0.0078125
- txt118
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0.75 APEX 0.375 0.984531 0.75 RAD 0.0078125
- txt119
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.765469 APEX 0.375 0.875 0.859531 RAD 0.0078125
- txt119
-TEXDEF txt119 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 0.875 RAD 0.03125
- txt119
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 0.875 APEX 0.484531 0.875 0.875 RAD 0.0078125
- txt119
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 0.875 APEX 0.375 0.984531 0.875 RAD 0.0078125
- txt119
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.875 0.890469 APEX 0.375 0.875 0.984531 RAD 0.0078125
- txt119
-TEXDEF txt119 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 0.875 1 RAD 0.03125
- txt119
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 0.875 1 APEX 0.484531 0.875 1 RAD 0.0078125
- txt119
-TEXDEF txt119 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 0.890469 1 APEX 0.375 0.984531 1 RAD 0.0078125
- txt119
-TEXDEF txt119 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0 RAD 0.03125
- txt119
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0 APEX 0.484531 1 0 RAD 0.0078125
- txt120
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.0154687 APEX 0.375 1 0.109531 RAD 0.0078125
- txt120
-TEXDEF txt120 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0.125 RAD 0.03125
- txt120
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0.125 APEX 0.484531 1 0.125 RAD 0.0078125
- txt120
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.140469 APEX 0.375 1 0.234531 RAD 0.0078125
- txt120
-TEXDEF txt120 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0.25 RAD 0.03125
- txt120
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0.25 APEX 0.484531 1 0.25 RAD 0.0078125
- txt120
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.265469 APEX 0.375 1 0.359531 RAD 0.0078125
- txt120
-TEXDEF txt120 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0.375 RAD 0.03125
- txt120
-TEXDEF txt120 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0.375 APEX 0.484531 1 0.375 RAD 0.0078125
- txt120
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.390469 APEX 0.375 1 0.484531 RAD 0.0078125
- txt121
-TEXDEF txt121 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0.5 RAD 0.03125
- txt121
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0.5 APEX 0.484531 1 0.5 RAD 0.0078125
- txt121
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.515469 APEX 0.375 1 0.609531 RAD 0.0078125
- txt121
-TEXDEF txt121 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0.625 RAD 0.03125
- txt121
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0.625 APEX 0.484531 1 0.625 RAD 0.0078125
- txt121
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.640469 APEX 0.375 1 0.734531 RAD 0.0078125
- txt121
-TEXDEF txt121 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0.75 RAD 0.03125
- txt121
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0.75 APEX 0.484531 1 0.75 RAD 0.0078125
- txt121
-TEXDEF txt121 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.765469 APEX 0.375 1 0.859531 RAD 0.0078125
- txt121
-TEXDEF txt122 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 0.875 RAD 0.03125
- txt122
-TEXDEF txt122 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 0.875 APEX 0.484531 1 0.875 RAD 0.0078125
- txt122
-TEXDEF txt122 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.375 1 0.890469 APEX 0.375 1 0.984531 RAD 0.0078125
- txt122
-TEXDEF txt122 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.375 1 1 RAD 0.03125
- txt122
-TEXDEF txt122 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.390469 1 1 APEX 0.484531 1 1 RAD 0.0078125
- txt122
-TEXDEF txt122 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0 RAD 0.03125
- txt122
-TEXDEF txt122 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0 APEX 0.609531 0 0 RAD 0.0078125
- txt122
-TEXDEF txt122 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0 APEX 0.5 0.109531 0 RAD 0.0078125
- txt122
-TEXDEF txt122 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.0154687 APEX 0.5 0 0.109531 RAD 0.0078125
- txt122
-TEXDEF txt122 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0.125 RAD 0.03125
- txt122
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0.125 APEX 0.609531 0 0.125 RAD 0.0078125
- txt123
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0.125 APEX 0.5 0.109531 0.125 RAD 0.0078125
- txt123
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.140469 APEX 0.5 0 0.234531 RAD 0.0078125
- txt123
-TEXDEF txt123 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0.25 RAD 0.03125
- txt123
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0.25 APEX 0.609531 0 0.25 RAD 0.0078125
- txt123
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0.25 APEX 0.5 0.109531 0.25 RAD 0.0078125
- txt123
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.265469 APEX 0.5 0 0.359531 RAD 0.0078125
- txt123
-TEXDEF txt123 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0.375 RAD 0.03125
- txt123
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0.375 APEX 0.609531 0 0.375 RAD 0.0078125
- txt123
-TEXDEF txt123 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0.375 APEX 0.5 0.109531 0.375 RAD 0.0078125
- txt123
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.390469 APEX 0.5 0 0.484531 RAD 0.0078125
- txt124
-TEXDEF txt124 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0.5 RAD 0.03125
- txt124
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0.5 APEX 0.609531 0 0.5 RAD 0.0078125
- txt124
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0.5 APEX 0.5 0.109531 0.5 RAD 0.0078125
- txt124
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.515469 APEX 0.5 0 0.609531 RAD 0.0078125
- txt124
-TEXDEF txt124 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0.625 RAD 0.03125
- txt124
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0.625 APEX 0.609531 0 0.625 RAD 0.0078125
- txt124
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0.625 APEX 0.5 0.109531 0.625 RAD 0.0078125
- txt124
-TEXDEF txt124 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.640469 APEX 0.5 0 0.734531 RAD 0.0078125
- txt124
-TEXDEF txt124 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0.75 RAD 0.03125
- txt124
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0.75 APEX 0.609531 0 0.75 RAD 0.0078125
- txt125
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0.75 APEX 0.5 0.109531 0.75 RAD 0.0078125
- txt125
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.765469 APEX 0.5 0 0.859531 RAD 0.0078125
- txt125
-TEXDEF txt125 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 0.875 RAD 0.03125
- txt125
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 0.875 APEX 0.609531 0 0.875 RAD 0.0078125
- txt125
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 0.875 APEX 0.5 0.109531 0.875 RAD 0.0078125
- txt125
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0 0.890469 APEX 0.5 0 0.984531 RAD 0.0078125
- txt125
-TEXDEF txt125 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0 1 RAD 0.03125
- txt125
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0 1 APEX 0.609531 0 1 RAD 0.0078125
- txt125
-TEXDEF txt125 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.0154687 1 APEX 0.5 0.109531 1 RAD 0.0078125
- txt125
-TEXDEF txt126 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0 RAD 0.03125
- txt126
-TEXDEF txt126 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0 APEX 0.609531 0.125 0 RAD 0.0078125
- txt126
-TEXDEF txt126 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0 APEX 0.5 0.234531 0 RAD 0.0078125
- txt126
-TEXDEF txt126 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.0154687 APEX 0.5 0.125 0.109531 RAD 0.0078125
- txt126
-TEXDEF txt126 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0.125 RAD 0.03125
- txt126
-TEXDEF txt126 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0.125 APEX 0.609531 0.125 0.125 RAD 0.0078125
- txt126
-TEXDEF txt126 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0.125 APEX 0.5 0.234531 0.125 RAD 0.0078125
- txt126
-TEXDEF txt126 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.140469 APEX 0.5 0.125 0.234531 RAD 0.0078125
- txt126
-TEXDEF txt126 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0.25 RAD 0.03125
- txt126
-TEXDEF txt126 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0.25 APEX 0.609531 0.125 0.25 RAD 0.0078125
- txt126
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0.25 APEX 0.5 0.234531 0.25 RAD 0.0078125
- txt127
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.265469 APEX 0.5 0.125 0.359531 RAD 0.0078125
- txt127
-TEXDEF txt127 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0.375 RAD 0.03125
- txt127
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0.375 APEX 0.609531 0.125 0.375 RAD 0.0078125
- txt127
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0.375 APEX 0.5 0.234531 0.375 RAD 0.0078125
- txt127
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.390469 APEX 0.5 0.125 0.484531 RAD 0.0078125
- txt127
-TEXDEF txt127 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0.5 RAD 0.03125
- txt127
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0.5 APEX 0.609531 0.125 0.5 RAD 0.0078125
- txt127
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0.5 APEX 0.5 0.234531 0.5 RAD 0.0078125
- txt127
-TEXDEF txt127 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.515469 APEX 0.5 0.125 0.609531 RAD 0.0078125
- txt127
-TEXDEF txt128 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0.625 RAD 0.03125
- txt128
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0.625 APEX 0.609531 0.125 0.625 RAD 0.0078125
- txt128
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0.625 APEX 0.5 0.234531 0.625 RAD 0.0078125
- txt128
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.640469 APEX 0.5 0.125 0.734531 RAD 0.0078125
- txt128
-TEXDEF txt128 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0.75 RAD 0.03125
- txt128
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0.75 APEX 0.609531 0.125 0.75 RAD 0.0078125
- txt128
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0.75 APEX 0.5 0.234531 0.75 RAD 0.0078125
- txt128
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.765469 APEX 0.5 0.125 0.859531 RAD 0.0078125
- txt128
-TEXDEF txt128 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 0.875 RAD 0.03125
- txt128
-TEXDEF txt128 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 0.875 APEX 0.609531 0.125 0.875 RAD 0.0078125
- txt128
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 0.875 APEX 0.5 0.234531 0.875 RAD 0.0078125
- txt129
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.125 0.890469 APEX 0.5 0.125 0.984531 RAD 0.0078125
- txt129
-TEXDEF txt129 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.125 1 RAD 0.03125
- txt129
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.125 1 APEX 0.609531 0.125 1 RAD 0.0078125
- txt129
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.140469 1 APEX 0.5 0.234531 1 RAD 0.0078125
- txt129
-TEXDEF txt129 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0 RAD 0.03125
- txt129
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0 APEX 0.609531 0.25 0 RAD 0.0078125
- txt129
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0 APEX 0.5 0.359531 0 RAD 0.0078125
- txt129
-TEXDEF txt129 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.0154687 APEX 0.5 0.25 0.109531 RAD 0.0078125
- txt129
-TEXDEF txt129 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0.125 RAD 0.03125
- txt129
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0.125 APEX 0.609531 0.25 0.125 RAD 0.0078125
- txt130
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0.125 APEX 0.5 0.359531 0.125 RAD 0.0078125
- txt130
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.140469 APEX 0.5 0.25 0.234531 RAD 0.0078125
- txt130
-TEXDEF txt130 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0.25 RAD 0.03125
- txt130
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0.25 APEX 0.609531 0.25 0.25 RAD 0.0078125
- txt130
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0.25 APEX 0.5 0.359531 0.25 RAD 0.0078125
- txt130
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.265469 APEX 0.5 0.25 0.359531 RAD 0.0078125
- txt130
-TEXDEF txt130 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0.375 RAD 0.03125
- txt130
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0.375 APEX 0.609531 0.25 0.375 RAD 0.0078125
- txt130
-TEXDEF txt130 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0.375 APEX 0.5 0.359531 0.375 RAD 0.0078125
- txt130
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.390469 APEX 0.5 0.25 0.484531 RAD 0.0078125
- txt131
-TEXDEF txt131 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0.5 RAD 0.03125
- txt131
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0.5 APEX 0.609531 0.25 0.5 RAD 0.0078125
- txt131
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0.5 APEX 0.5 0.359531 0.5 RAD 0.0078125
- txt131
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.515469 APEX 0.5 0.25 0.609531 RAD 0.0078125
- txt131
-TEXDEF txt131 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0.625 RAD 0.03125
- txt131
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0.625 APEX 0.609531 0.25 0.625 RAD 0.0078125
- txt131
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0.625 APEX 0.5 0.359531 0.625 RAD 0.0078125
- txt131
-TEXDEF txt131 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.640469 APEX 0.5 0.25 0.734531 RAD 0.0078125
- txt131
-TEXDEF txt131 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0.75 RAD 0.03125
- txt131
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0.75 APEX 0.609531 0.25 0.75 RAD 0.0078125
- txt132
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0.75 APEX 0.5 0.359531 0.75 RAD 0.0078125
- txt132
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.765469 APEX 0.5 0.25 0.859531 RAD 0.0078125
- txt132
-TEXDEF txt132 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 0.875 RAD 0.03125
- txt132
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 0.875 APEX 0.609531 0.25 0.875 RAD 0.0078125
- txt132
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 0.875 APEX 0.5 0.359531 0.875 RAD 0.0078125
- txt132
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.25 0.890469 APEX 0.5 0.25 0.984531 RAD 0.0078125
- txt132
-TEXDEF txt132 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.25 1 RAD 0.03125
- txt132
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.25 1 APEX 0.609531 0.25 1 RAD 0.0078125
- txt132
-TEXDEF txt132 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.265469 1 APEX 0.5 0.359531 1 RAD 0.0078125
- txt132
-TEXDEF txt133 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0 RAD 0.03125
- txt133
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0 APEX 0.609531 0.375 0 RAD 0.0078125
- txt133
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0 APEX 0.5 0.484531 0 RAD 0.0078125
- txt133
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.0154687 APEX 0.5 0.375 0.109531 RAD 0.0078125
- txt133
-TEXDEF txt133 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0.125 RAD 0.03125
- txt133
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0.125 APEX 0.609531 0.375 0.125 RAD 0.0078125
- txt133
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0.125 APEX 0.5 0.484531 0.125 RAD 0.0078125
- txt133
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.140469 APEX 0.5 0.375 0.234531 RAD 0.0078125
- txt133
-TEXDEF txt133 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0.25 RAD 0.03125
- txt133
-TEXDEF txt133 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0.25 APEX 0.609531 0.375 0.25 RAD 0.0078125
- txt133
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0.25 APEX 0.5 0.484531 0.25 RAD 0.0078125
- txt134
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.265469 APEX 0.5 0.375 0.359531 RAD 0.0078125
- txt134
-TEXDEF txt134 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0.375 RAD 0.03125
- txt134
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0.375 APEX 0.609531 0.375 0.375 RAD 0.0078125
- txt134
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0.375 APEX 0.5 0.484531 0.375 RAD 0.0078125
- txt134
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.390469 APEX 0.5 0.375 0.484531 RAD 0.0078125
- txt134
-TEXDEF txt134 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0.5 RAD 0.03125
- txt134
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0.5 APEX 0.609531 0.375 0.5 RAD 0.0078125
- txt134
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0.5 APEX 0.5 0.484531 0.5 RAD 0.0078125
- txt134
-TEXDEF txt134 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.515469 APEX 0.5 0.375 0.609531 RAD 0.0078125
- txt134
-TEXDEF txt135 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0.625 RAD 0.03125
- txt135
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0.625 APEX 0.609531 0.375 0.625 RAD 0.0078125
- txt135
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0.625 APEX 0.5 0.484531 0.625 RAD 0.0078125
- txt135
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.640469 APEX 0.5 0.375 0.734531 RAD 0.0078125
- txt135
-TEXDEF txt135 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0.75 RAD 0.03125
- txt135
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0.75 APEX 0.609531 0.375 0.75 RAD 0.0078125
- txt135
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0.75 APEX 0.5 0.484531 0.75 RAD 0.0078125
- txt135
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.765469 APEX 0.5 0.375 0.859531 RAD 0.0078125
- txt135
-TEXDEF txt135 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 0.875 RAD 0.03125
- txt135
-TEXDEF txt135 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 0.875 APEX 0.609531 0.375 0.875 RAD 0.0078125
- txt135
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 0.875 APEX 0.5 0.484531 0.875 RAD 0.0078125
- txt136
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.375 0.890469 APEX 0.5 0.375 0.984531 RAD 0.0078125
- txt136
-TEXDEF txt136 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.375 1 RAD 0.03125
- txt136
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.375 1 APEX 0.609531 0.375 1 RAD 0.0078125
- txt136
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.390469 1 APEX 0.5 0.484531 1 RAD 0.0078125
- txt136
-TEXDEF txt136 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0 RAD 0.03125
- txt136
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0 APEX 0.609531 0.5 0 RAD 0.0078125
- txt136
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0 APEX 0.5 0.609531 0 RAD 0.0078125
- txt136
-TEXDEF txt136 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.0154687 APEX 0.5 0.5 0.109531 RAD 0.0078125
- txt136
-TEXDEF txt136 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0.125 RAD 0.03125
- txt136
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0.125 APEX 0.609531 0.5 0.125 RAD 0.0078125
- txt137
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0.125 APEX 0.5 0.609531 0.125 RAD 0.0078125
- txt137
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.140469 APEX 0.5 0.5 0.234531 RAD 0.0078125
- txt137
-TEXDEF txt137 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0.25 RAD 0.03125
- txt137
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0.25 APEX 0.609531 0.5 0.25 RAD 0.0078125
- txt137
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0.25 APEX 0.5 0.609531 0.25 RAD 0.0078125
- txt137
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.265469 APEX 0.5 0.5 0.359531 RAD 0.0078125
- txt137
-TEXDEF txt137 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0.375 RAD 0.03125
- txt137
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0.375 APEX 0.609531 0.5 0.375 RAD 0.0078125
- txt137
-TEXDEF txt137 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0.375 APEX 0.5 0.609531 0.375 RAD 0.0078125
- txt137
-TEXDEF txt138 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.390469 APEX 0.5 0.5 0.484531 RAD 0.0078125
- txt138
-TEXDEF txt138 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0.5 RAD 0.03125
- txt138
-TEXDEF txt138 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0.5 APEX 0.609531 0.5 0.5 RAD 0.0078125
- txt138
-TEXDEF txt138 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0.5 APEX 0.5 0.609531 0.5 RAD 0.0078125
- txt138
-TEXDEF txt138 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.515469 APEX 0.5 0.5 0.609531 RAD 0.0078125
- txt138
-TEXDEF txt138 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0.625 RAD 0.03125
- txt138
-TEXDEF txt138 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0.625 APEX 0.609531 0.5 0.625 RAD 0.0078125
- txt138
-TEXDEF txt138 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0.625 APEX 0.5 0.609531 0.625 RAD 0.0078125
- txt138
-TEXDEF txt138 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.640469 APEX 0.5 0.5 0.734531 RAD 0.0078125
- txt138
-TEXDEF txt138 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0.75 RAD 0.03125
- txt138
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0.75 APEX 0.609531 0.5 0.75 RAD 0.0078125
- txt139
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0.75 APEX 0.5 0.609531 0.75 RAD 0.0078125
- txt139
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.765469 APEX 0.5 0.5 0.859531 RAD 0.0078125
- txt139
-TEXDEF txt139 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 0.875 RAD 0.03125
- txt139
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 0.875 APEX 0.609531 0.5 0.875 RAD 0.0078125
- txt139
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 0.875 APEX 0.5 0.609531 0.875 RAD 0.0078125
- txt139
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.5 0.890469 APEX 0.5 0.5 0.984531 RAD 0.0078125
- txt139
-TEXDEF txt139 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.5 1 RAD 0.03125
- txt139
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.5 1 APEX 0.609531 0.5 1 RAD 0.0078125
- txt139
-TEXDEF txt139 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.515469 1 APEX 0.5 0.609531 1 RAD 0.0078125
- txt139
-TEXDEF txt140 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0 RAD 0.03125
- txt140
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0 APEX 0.609531 0.625 0 RAD 0.0078125
- txt140
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0 APEX 0.5 0.734531 0 RAD 0.0078125
- txt140
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.0154687 APEX 0.5 0.625 0.109531 RAD 0.0078125
- txt140
-TEXDEF txt140 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0.125 RAD 0.03125
- txt140
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0.125 APEX 0.609531 0.625 0.125 RAD 0.0078125
- txt140
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0.125 APEX 0.5 0.734531 0.125 RAD 0.0078125
- txt140
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.140469 APEX 0.5 0.625 0.234531 RAD 0.0078125
- txt140
-TEXDEF txt140 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0.25 RAD 0.03125
- txt140
-TEXDEF txt140 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0.25 APEX 0.609531 0.625 0.25 RAD 0.0078125
- txt140
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0.25 APEX 0.5 0.734531 0.25 RAD 0.0078125
- txt141
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.265469 APEX 0.5 0.625 0.359531 RAD 0.0078125
- txt141
-TEXDEF txt141 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0.375 RAD 0.03125
- txt141
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0.375 APEX 0.609531 0.625 0.375 RAD 0.0078125
- txt141
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0.375 APEX 0.5 0.734531 0.375 RAD 0.0078125
- txt141
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.390469 APEX 0.5 0.625 0.484531 RAD 0.0078125
- txt141
-TEXDEF txt141 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0.5 RAD 0.03125
- txt141
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0.5 APEX 0.609531 0.625 0.5 RAD 0.0078125
- txt141
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0.5 APEX 0.5 0.734531 0.5 RAD 0.0078125
- txt141
-TEXDEF txt141 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.515469 APEX 0.5 0.625 0.609531 RAD 0.0078125
- txt141
-TEXDEF txt142 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0.625 RAD 0.03125
- txt142
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0.625 APEX 0.609531 0.625 0.625 RAD 0.0078125
- txt142
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0.625 APEX 0.5 0.734531 0.625 RAD 0.0078125
- txt142
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.640469 APEX 0.5 0.625 0.734531 RAD 0.0078125
- txt142
-TEXDEF txt142 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0.75 RAD 0.03125
- txt142
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0.75 APEX 0.609531 0.625 0.75 RAD 0.0078125
- txt142
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0.75 APEX 0.5 0.734531 0.75 RAD 0.0078125
- txt142
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.765469 APEX 0.5 0.625 0.859531 RAD 0.0078125
- txt142
-TEXDEF txt142 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 0.875 RAD 0.03125
- txt142
-TEXDEF txt142 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 0.875 APEX 0.609531 0.625 0.875 RAD 0.0078125
- txt142
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 0.875 APEX 0.5 0.734531 0.875 RAD 0.0078125
- txt143
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.625 0.890469 APEX 0.5 0.625 0.984531 RAD 0.0078125
- txt143
-TEXDEF txt143 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.625 1 RAD 0.03125
- txt143
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.625 1 APEX 0.609531 0.625 1 RAD 0.0078125
- txt143
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.640469 1 APEX 0.5 0.734531 1 RAD 0.0078125
- txt143
-TEXDEF txt143 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0 RAD 0.03125
- txt143
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0 APEX 0.609531 0.75 0 RAD 0.0078125
- txt143
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0 APEX 0.5 0.859531 0 RAD 0.0078125
- txt143
-TEXDEF txt143 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.0154687 APEX 0.5 0.75 0.109531 RAD 0.0078125
- txt143
-TEXDEF txt143 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0.125 RAD 0.03125
- txt143
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0.125 APEX 0.609531 0.75 0.125 RAD 0.0078125
- txt144
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0.125 APEX 0.5 0.859531 0.125 RAD 0.0078125
- txt144
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.140469 APEX 0.5 0.75 0.234531 RAD 0.0078125
- txt144
-TEXDEF txt144 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0.25 RAD 0.03125
- txt144
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0.25 APEX 0.609531 0.75 0.25 RAD 0.0078125
- txt144
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0.25 APEX 0.5 0.859531 0.25 RAD 0.0078125
- txt144
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.265469 APEX 0.5 0.75 0.359531 RAD 0.0078125
- txt144
-TEXDEF txt144 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0.375 RAD 0.03125
- txt144
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0.375 APEX 0.609531 0.75 0.375 RAD 0.0078125
- txt144
-TEXDEF txt144 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0.375 APEX 0.5 0.859531 0.375 RAD 0.0078125
- txt144
-TEXDEF txt145 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.390469 APEX 0.5 0.75 0.484531 RAD 0.0078125
- txt145
-TEXDEF txt145 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0.5 RAD 0.03125
- txt145
-TEXDEF txt145 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0.5 APEX 0.609531 0.75 0.5 RAD 0.0078125
- txt145
-TEXDEF txt145 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0.5 APEX 0.5 0.859531 0.5 RAD 0.0078125
- txt145
-TEXDEF txt145 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.515469 APEX 0.5 0.75 0.609531 RAD 0.0078125
- txt145
-TEXDEF txt145 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0.625 RAD 0.03125
- txt145
-TEXDEF txt145 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0.625 APEX 0.609531 0.75 0.625 RAD 0.0078125
- txt145
-TEXDEF txt145 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0.625 APEX 0.5 0.859531 0.625 RAD 0.0078125
- txt145
-TEXDEF txt145 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.640469 APEX 0.5 0.75 0.734531 RAD 0.0078125
- txt145
-TEXDEF txt145 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0.75 RAD 0.03125
- txt145
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0.75 APEX 0.609531 0.75 0.75 RAD 0.0078125
- txt146
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0.75 APEX 0.5 0.859531 0.75 RAD 0.0078125
- txt146
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.765469 APEX 0.5 0.75 0.859531 RAD 0.0078125
- txt146
-TEXDEF txt146 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 0.875 RAD 0.03125
- txt146
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 0.875 APEX 0.609531 0.75 0.875 RAD 0.0078125
- txt146
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 0.875 APEX 0.5 0.859531 0.875 RAD 0.0078125
- txt146
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.75 0.890469 APEX 0.5 0.75 0.984531 RAD 0.0078125
- txt146
-TEXDEF txt146 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.75 1 RAD 0.03125
- txt146
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.75 1 APEX 0.609531 0.75 1 RAD 0.0078125
- txt146
-TEXDEF txt146 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.765469 1 APEX 0.5 0.859531 1 RAD 0.0078125
- txt146
-TEXDEF txt147 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0 RAD 0.03125
- txt147
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0 APEX 0.609531 0.875 0 RAD 0.0078125
- txt147
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0 APEX 0.5 0.984531 0 RAD 0.0078125
- txt147
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.0154687 APEX 0.5 0.875 0.109531 RAD 0.0078125
- txt147
-TEXDEF txt147 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0.125 RAD 0.03125
- txt147
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0.125 APEX 0.609531 0.875 0.125 RAD 0.0078125
- txt147
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0.125 APEX 0.5 0.984531 0.125 RAD 0.0078125
- txt147
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.140469 APEX 0.5 0.875 0.234531 RAD 0.0078125
- txt147
-TEXDEF txt147 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0.25 RAD 0.03125
- txt147
-TEXDEF txt147 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0.25 APEX 0.609531 0.875 0.25 RAD 0.0078125
- txt147
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0.25 APEX 0.5 0.984531 0.25 RAD 0.0078125
- txt148
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.265469 APEX 0.5 0.875 0.359531 RAD 0.0078125
- txt148
-TEXDEF txt148 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0.375 RAD 0.03125
- txt148
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0.375 APEX 0.609531 0.875 0.375 RAD 0.0078125
- txt148
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0.375 APEX 0.5 0.984531 0.375 RAD 0.0078125
- txt148
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.390469 APEX 0.5 0.875 0.484531 RAD 0.0078125
- txt148
-TEXDEF txt148 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0.5 RAD 0.03125
- txt148
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0.5 APEX 0.609531 0.875 0.5 RAD 0.0078125
- txt148
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0.5 APEX 0.5 0.984531 0.5 RAD 0.0078125
- txt148
-TEXDEF txt148 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.515469 APEX 0.5 0.875 0.609531 RAD 0.0078125
- txt148
-TEXDEF txt149 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0.625 RAD 0.03125
- txt149
-TEXDEF txt149 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0.625 APEX 0.609531 0.875 0.625 RAD 0.0078125
- txt149
-TEXDEF txt149 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0.625 APEX 0.5 0.984531 0.625 RAD 0.0078125
- txt149
-TEXDEF txt149 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.640469 APEX 0.5 0.875 0.734531 RAD 0.0078125
- txt149
-TEXDEF txt149 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0.75 RAD 0.03125
- txt149
-TEXDEF txt149 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0.75 APEX 0.609531 0.875 0.75 RAD 0.0078125
- txt149
-TEXDEF txt149 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0.75 APEX 0.5 0.984531 0.75 RAD 0.0078125
- txt149
-TEXDEF txt149 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.765469 APEX 0.5 0.875 0.859531 RAD 0.0078125
- txt149
-TEXDEF txt149 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 0.875 RAD 0.03125
- txt149
-TEXDEF txt149 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 0.875 APEX 0.609531 0.875 0.875 RAD 0.0078125
- txt149
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 0.875 APEX 0.5 0.984531 0.875 RAD 0.0078125
- txt150
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.875 0.890469 APEX 0.5 0.875 0.984531 RAD 0.0078125
- txt150
-TEXDEF txt150 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 0.875 1 RAD 0.03125
- txt150
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 0.875 1 APEX 0.609531 0.875 1 RAD 0.0078125
- txt150
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 0.890469 1 APEX 0.5 0.984531 1 RAD 0.0078125
- txt150
-TEXDEF txt150 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0 RAD 0.03125
- txt150
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0 APEX 0.609531 1 0 RAD 0.0078125
- txt150
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.0154687 APEX 0.5 1 0.109531 RAD 0.0078125
- txt150
-TEXDEF txt150 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0.125 RAD 0.03125
- txt150
-TEXDEF txt150 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0.125 APEX 0.609531 1 0.125 RAD 0.0078125
- txt150
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.140469 APEX 0.5 1 0.234531 RAD 0.0078125
- txt151
-TEXDEF txt151 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0.25 RAD 0.03125
- txt151
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0.25 APEX 0.609531 1 0.25 RAD 0.0078125
- txt151
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.265469 APEX 0.5 1 0.359531 RAD 0.0078125
- txt151
-TEXDEF txt151 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0.375 RAD 0.03125
- txt151
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0.375 APEX 0.609531 1 0.375 RAD 0.0078125
- txt151
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.390469 APEX 0.5 1 0.484531 RAD 0.0078125
- txt151
-TEXDEF txt151 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0.5 RAD 0.03125
- txt151
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0.5 APEX 0.609531 1 0.5 RAD 0.0078125
- txt151
-TEXDEF txt151 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.515469 APEX 0.5 1 0.609531 RAD 0.0078125
- txt151
-TEXDEF txt152 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0.625 RAD 0.03125
- txt152
-TEXDEF txt152 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0.625 APEX 0.609531 1 0.625 RAD 0.0078125
- txt152
-TEXDEF txt152 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.640469 APEX 0.5 1 0.734531 RAD 0.0078125
- txt152
-TEXDEF txt152 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0.75 RAD 0.03125
- txt152
-TEXDEF txt152 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0.75 APEX 0.609531 1 0.75 RAD 0.0078125
- txt152
-TEXDEF txt152 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.765469 APEX 0.5 1 0.859531 RAD 0.0078125
- txt152
-TEXDEF txt152 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 0.875 RAD 0.03125
- txt152
-TEXDEF txt152 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 0.875 APEX 0.609531 1 0.875 RAD 0.0078125
- txt152
-TEXDEF txt152 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.5 1 0.890469 APEX 0.5 1 0.984531 RAD 0.0078125
- txt152
-TEXDEF txt152 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.5 1 1 RAD 0.03125
- txt152
-TEXDEF txt153 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.515469 1 1 APEX 0.609531 1 1 RAD 0.0078125
- txt153
-TEXDEF txt153 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0 RAD 0.03125
- txt153
-TEXDEF txt153 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0 APEX 0.734531 0 0 RAD 0.0078125
- txt153
-TEXDEF txt153 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0 APEX 0.625 0.109531 0 RAD 0.0078125
- txt153
-TEXDEF txt153 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.0154687 APEX 0.625 0 0.109531 RAD 0.0078125
- txt153
-TEXDEF txt153 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0.125 RAD 0.03125
- txt153
-TEXDEF txt153 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0.125 APEX 0.734531 0 0.125 RAD 0.0078125
- txt153
-TEXDEF txt153 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0.125 APEX 0.625 0.109531 0.125 RAD 0.0078125
- txt153
-TEXDEF txt153 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.140469 APEX 0.625 0 0.234531 RAD 0.0078125
- txt153
-TEXDEF txt153 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0.25 RAD 0.03125
- txt153
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0.25 APEX 0.734531 0 0.25 RAD 0.0078125
- txt154
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0.25 APEX 0.625 0.109531 0.25 RAD 0.0078125
- txt154
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.265469 APEX 0.625 0 0.359531 RAD 0.0078125
- txt154
-TEXDEF txt154 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0.375 RAD 0.03125
- txt154
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0.375 APEX 0.734531 0 0.375 RAD 0.0078125
- txt154
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0.375 APEX 0.625 0.109531 0.375 RAD 0.0078125
- txt154
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.390469 APEX 0.625 0 0.484531 RAD 0.0078125
- txt154
-TEXDEF txt154 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0.5 RAD 0.03125
- txt154
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0.5 APEX 0.734531 0 0.5 RAD 0.0078125
- txt154
-TEXDEF txt154 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0.5 APEX 0.625 0.109531 0.5 RAD 0.0078125
- txt154
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.515469 APEX 0.625 0 0.609531 RAD 0.0078125
- txt155
-TEXDEF txt155 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0.625 RAD 0.03125
- txt155
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0.625 APEX 0.734531 0 0.625 RAD 0.0078125
- txt155
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0.625 APEX 0.625 0.109531 0.625 RAD 0.0078125
- txt155
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.640469 APEX 0.625 0 0.734531 RAD 0.0078125
- txt155
-TEXDEF txt155 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0.75 RAD 0.03125
- txt155
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0.75 APEX 0.734531 0 0.75 RAD 0.0078125
- txt155
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0.75 APEX 0.625 0.109531 0.75 RAD 0.0078125
- txt155
-TEXDEF txt155 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.765469 APEX 0.625 0 0.859531 RAD 0.0078125
- txt155
-TEXDEF txt155 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 0.875 RAD 0.03125
- txt155
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 0.875 APEX 0.734531 0 0.875 RAD 0.0078125
- txt156
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 0.875 APEX 0.625 0.109531 0.875 RAD 0.0078125
- txt156
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0 0.890469 APEX 0.625 0 0.984531 RAD 0.0078125
- txt156
-TEXDEF txt156 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0 1 RAD 0.03125
- txt156
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0 1 APEX 0.734531 0 1 RAD 0.0078125
- txt156
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.0154687 1 APEX 0.625 0.109531 1 RAD 0.0078125
- txt156
-TEXDEF txt156 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0 RAD 0.03125
- txt156
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0 APEX 0.734531 0.125 0 RAD 0.0078125
- txt156
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0 APEX 0.625 0.234531 0 RAD 0.0078125
- txt156
-TEXDEF txt156 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.0154687 APEX 0.625 0.125 0.109531 RAD 0.0078125
- txt156
-TEXDEF txt157 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0.125 RAD 0.03125
- txt157
-TEXDEF txt157 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0.125 APEX 0.734531 0.125 0.125 RAD 0.0078125
- txt157
-TEXDEF txt157 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0.125 APEX 0.625 0.234531 0.125 RAD 0.0078125
- txt157
-TEXDEF txt157 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.140469 APEX 0.625 0.125 0.234531 RAD 0.0078125
- txt157
-TEXDEF txt157 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0.25 RAD 0.03125
- txt157
-TEXDEF txt157 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0.25 APEX 0.734531 0.125 0.25 RAD 0.0078125
- txt157
-TEXDEF txt157 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0.25 APEX 0.625 0.234531 0.25 RAD 0.0078125
- txt157
-TEXDEF txt157 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.265469 APEX 0.625 0.125 0.359531 RAD 0.0078125
- txt157
-TEXDEF txt157 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0.375 RAD 0.03125
- txt157
-TEXDEF txt157 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0.375 APEX 0.734531 0.125 0.375 RAD 0.0078125
- txt157
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0.375 APEX 0.625 0.234531 0.375 RAD 0.0078125
- txt158
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.390469 APEX 0.625 0.125 0.484531 RAD 0.0078125
- txt158
-TEXDEF txt158 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0.5 RAD 0.03125
- txt158
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0.5 APEX 0.734531 0.125 0.5 RAD 0.0078125
- txt158
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0.5 APEX 0.625 0.234531 0.5 RAD 0.0078125
- txt158
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.515469 APEX 0.625 0.125 0.609531 RAD 0.0078125
- txt158
-TEXDEF txt158 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0.625 RAD 0.03125
- txt158
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0.625 APEX 0.734531 0.125 0.625 RAD 0.0078125
- txt158
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0.625 APEX 0.625 0.234531 0.625 RAD 0.0078125
- txt158
-TEXDEF txt158 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.640469 APEX 0.625 0.125 0.734531 RAD 0.0078125
- txt158
-TEXDEF txt159 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0.75 RAD 0.03125
- txt159
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0.75 APEX 0.734531 0.125 0.75 RAD 0.0078125
- txt159
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0.75 APEX 0.625 0.234531 0.75 RAD 0.0078125
- txt159
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.765469 APEX 0.625 0.125 0.859531 RAD 0.0078125
- txt159
-TEXDEF txt159 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 0.875 RAD 0.03125
- txt159
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 0.875 APEX 0.734531 0.125 0.875 RAD 0.0078125
- txt159
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 0.875 APEX 0.625 0.234531 0.875 RAD 0.0078125
- txt159
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.125 0.890469 APEX 0.625 0.125 0.984531 RAD 0.0078125
- txt159
-TEXDEF txt159 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.125 1 RAD 0.03125
- txt159
-TEXDEF txt159 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.125 1 APEX 0.734531 0.125 1 RAD 0.0078125
- txt159
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.140469 1 APEX 0.625 0.234531 1 RAD 0.0078125
- txt160
-TEXDEF txt160 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0 RAD 0.03125
- txt160
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0 APEX 0.734531 0.25 0 RAD 0.0078125
- txt160
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0 APEX 0.625 0.359531 0 RAD 0.0078125
- txt160
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.0154687 APEX 0.625 0.25 0.109531 RAD 0.0078125
- txt160
-TEXDEF txt160 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0.125 RAD 0.03125
- txt160
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0.125 APEX 0.734531 0.25 0.125 RAD 0.0078125
- txt160
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0.125 APEX 0.625 0.359531 0.125 RAD 0.0078125
- txt160
-TEXDEF txt160 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.140469 APEX 0.625 0.25 0.234531 RAD 0.0078125
- txt160
-TEXDEF txt160 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0.25 RAD 0.03125
- txt160
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0.25 APEX 0.734531 0.25 0.25 RAD 0.0078125
- txt161
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0.25 APEX 0.625 0.359531 0.25 RAD 0.0078125
- txt161
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.265469 APEX 0.625 0.25 0.359531 RAD 0.0078125
- txt161
-TEXDEF txt161 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0.375 RAD 0.03125
- txt161
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0.375 APEX 0.734531 0.25 0.375 RAD 0.0078125
- txt161
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0.375 APEX 0.625 0.359531 0.375 RAD 0.0078125
- txt161
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.390469 APEX 0.625 0.25 0.484531 RAD 0.0078125
- txt161
-TEXDEF txt161 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0.5 RAD 0.03125
- txt161
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0.5 APEX 0.734531 0.25 0.5 RAD 0.0078125
- txt161
-TEXDEF txt161 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0.5 APEX 0.625 0.359531 0.5 RAD 0.0078125
- txt161
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.515469 APEX 0.625 0.25 0.609531 RAD 0.0078125
- txt162
-TEXDEF txt162 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0.625 RAD 0.03125
- txt162
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0.625 APEX 0.734531 0.25 0.625 RAD 0.0078125
- txt162
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0.625 APEX 0.625 0.359531 0.625 RAD 0.0078125
- txt162
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.640469 APEX 0.625 0.25 0.734531 RAD 0.0078125
- txt162
-TEXDEF txt162 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0.75 RAD 0.03125
- txt162
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0.75 APEX 0.734531 0.25 0.75 RAD 0.0078125
- txt162
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0.75 APEX 0.625 0.359531 0.75 RAD 0.0078125
- txt162
-TEXDEF txt162 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.765469 APEX 0.625 0.25 0.859531 RAD 0.0078125
- txt162
-TEXDEF txt162 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 0.875 RAD 0.03125
- txt162
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 0.875 APEX 0.734531 0.25 0.875 RAD 0.0078125
- txt163
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 0.875 APEX 0.625 0.359531 0.875 RAD 0.0078125
- txt163
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.25 0.890469 APEX 0.625 0.25 0.984531 RAD 0.0078125
- txt163
-TEXDEF txt163 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.25 1 RAD 0.03125
- txt163
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.25 1 APEX 0.734531 0.25 1 RAD 0.0078125
- txt163
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.265469 1 APEX 0.625 0.359531 1 RAD 0.0078125
- txt163
-TEXDEF txt163 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0 RAD 0.03125
- txt163
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0 APEX 0.734531 0.375 0 RAD 0.0078125
- txt163
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0 APEX 0.625 0.484531 0 RAD 0.0078125
- txt163
-TEXDEF txt163 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.0154687 APEX 0.625 0.375 0.109531 RAD 0.0078125
- txt163
-TEXDEF txt164 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0.125 RAD 0.03125
- txt164
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0.125 APEX 0.734531 0.375 0.125 RAD 0.0078125
- txt164
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0.125 APEX 0.625 0.484531 0.125 RAD 0.0078125
- txt164
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.140469 APEX 0.625 0.375 0.234531 RAD 0.0078125
- txt164
-TEXDEF txt164 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0.25 RAD 0.03125
- txt164
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0.25 APEX 0.734531 0.375 0.25 RAD 0.0078125
- txt164
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0.25 APEX 0.625 0.484531 0.25 RAD 0.0078125
- txt164
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.265469 APEX 0.625 0.375 0.359531 RAD 0.0078125
- txt164
-TEXDEF txt164 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0.375 RAD 0.03125
- txt164
-TEXDEF txt164 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0.375 APEX 0.734531 0.375 0.375 RAD 0.0078125
- txt164
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0.375 APEX 0.625 0.484531 0.375 RAD 0.0078125
- txt165
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.390469 APEX 0.625 0.375 0.484531 RAD 0.0078125
- txt165
-TEXDEF txt165 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0.5 RAD 0.03125
- txt165
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0.5 APEX 0.734531 0.375 0.5 RAD 0.0078125
- txt165
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0.5 APEX 0.625 0.484531 0.5 RAD 0.0078125
- txt165
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.515469 APEX 0.625 0.375 0.609531 RAD 0.0078125
- txt165
-TEXDEF txt165 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0.625 RAD 0.03125
- txt165
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0.625 APEX 0.734531 0.375 0.625 RAD 0.0078125
- txt165
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0.625 APEX 0.625 0.484531 0.625 RAD 0.0078125
- txt165
-TEXDEF txt165 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.640469 APEX 0.625 0.375 0.734531 RAD 0.0078125
- txt165
-TEXDEF txt166 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0.75 RAD 0.03125
- txt166
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0.75 APEX 0.734531 0.375 0.75 RAD 0.0078125
- txt166
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0.75 APEX 0.625 0.484531 0.75 RAD 0.0078125
- txt166
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.765469 APEX 0.625 0.375 0.859531 RAD 0.0078125
- txt166
-TEXDEF txt166 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 0.875 RAD 0.03125
- txt166
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 0.875 APEX 0.734531 0.375 0.875 RAD 0.0078125
- txt166
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 0.875 APEX 0.625 0.484531 0.875 RAD 0.0078125
- txt166
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.375 0.890469 APEX 0.625 0.375 0.984531 RAD 0.0078125
- txt166
-TEXDEF txt166 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.375 1 RAD 0.03125
- txt166
-TEXDEF txt166 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.375 1 APEX 0.734531 0.375 1 RAD 0.0078125
- txt166
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.390469 1 APEX 0.625 0.484531 1 RAD 0.0078125
- txt167
-TEXDEF txt167 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0 RAD 0.03125
- txt167
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0 APEX 0.734531 0.5 0 RAD 0.0078125
- txt167
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0 APEX 0.625 0.609531 0 RAD 0.0078125
- txt167
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.0154687 APEX 0.625 0.5 0.109531 RAD 0.0078125
- txt167
-TEXDEF txt167 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0.125 RAD 0.03125
- txt167
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0.125 APEX 0.734531 0.5 0.125 RAD 0.0078125
- txt167
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0.125 APEX 0.625 0.609531 0.125 RAD 0.0078125
- txt167
-TEXDEF txt167 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.140469 APEX 0.625 0.5 0.234531 RAD 0.0078125
- txt167
-TEXDEF txt167 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0.25 RAD 0.03125
- txt167
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0.25 APEX 0.734531 0.5 0.25 RAD 0.0078125
- txt168
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0.25 APEX 0.625 0.609531 0.25 RAD 0.0078125
- txt168
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.265469 APEX 0.625 0.5 0.359531 RAD 0.0078125
- txt168
-TEXDEF txt168 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0.375 RAD 0.03125
- txt168
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0.375 APEX 0.734531 0.5 0.375 RAD 0.0078125
- txt168
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0.375 APEX 0.625 0.609531 0.375 RAD 0.0078125
- txt168
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.390469 APEX 0.625 0.5 0.484531 RAD 0.0078125
- txt168
-TEXDEF txt168 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0.5 RAD 0.03125
- txt168
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0.5 APEX 0.734531 0.5 0.5 RAD 0.0078125
- txt168
-TEXDEF txt168 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0.5 APEX 0.625 0.609531 0.5 RAD 0.0078125
- txt168
-TEXDEF txt169 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.515469 APEX 0.625 0.5 0.609531 RAD 0.0078125
- txt169
-TEXDEF txt169 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0.625 RAD 0.03125
- txt169
-TEXDEF txt169 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0.625 APEX 0.734531 0.5 0.625 RAD 0.0078125
- txt169
-TEXDEF txt169 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0.625 APEX 0.625 0.609531 0.625 RAD 0.0078125
- txt169
-TEXDEF txt169 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.640469 APEX 0.625 0.5 0.734531 RAD 0.0078125
- txt169
-TEXDEF txt169 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0.75 RAD 0.03125
- txt169
-TEXDEF txt169 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0.75 APEX 0.734531 0.5 0.75 RAD 0.0078125
- txt169
-TEXDEF txt169 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0.75 APEX 0.625 0.609531 0.75 RAD 0.0078125
- txt169
-TEXDEF txt169 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.765469 APEX 0.625 0.5 0.859531 RAD 0.0078125
- txt169
-TEXDEF txt169 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 0.875 RAD 0.03125
- txt169
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 0.875 APEX 0.734531 0.5 0.875 RAD 0.0078125
- txt170
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 0.875 APEX 0.625 0.609531 0.875 RAD 0.0078125
- txt170
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.5 0.890469 APEX 0.625 0.5 0.984531 RAD 0.0078125
- txt170
-TEXDEF txt170 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.5 1 RAD 0.03125
- txt170
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.5 1 APEX 0.734531 0.5 1 RAD 0.0078125
- txt170
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.515469 1 APEX 0.625 0.609531 1 RAD 0.0078125
- txt170
-TEXDEF txt170 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0 RAD 0.03125
- txt170
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0 APEX 0.734531 0.625 0 RAD 0.0078125
- txt170
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0 APEX 0.625 0.734531 0 RAD 0.0078125
- txt170
-TEXDEF txt170 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.0154687 APEX 0.625 0.625 0.109531 RAD 0.0078125
- txt170
-TEXDEF txt171 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0.125 RAD 0.03125
- txt171
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0.125 APEX 0.734531 0.625 0.125 RAD 0.0078125
- txt171
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0.125 APEX 0.625 0.734531 0.125 RAD 0.0078125
- txt171
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.140469 APEX 0.625 0.625 0.234531 RAD 0.0078125
- txt171
-TEXDEF txt171 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0.25 RAD 0.03125
- txt171
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0.25 APEX 0.734531 0.625 0.25 RAD 0.0078125
- txt171
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0.25 APEX 0.625 0.734531 0.25 RAD 0.0078125
- txt171
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.265469 APEX 0.625 0.625 0.359531 RAD 0.0078125
- txt171
-TEXDEF txt171 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0.375 RAD 0.03125
- txt171
-TEXDEF txt171 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0.375 APEX 0.734531 0.625 0.375 RAD 0.0078125
- txt171
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0.375 APEX 0.625 0.734531 0.375 RAD 0.0078125
- txt172
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.390469 APEX 0.625 0.625 0.484531 RAD 0.0078125
- txt172
-TEXDEF txt172 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0.5 RAD 0.03125
- txt172
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0.5 APEX 0.734531 0.625 0.5 RAD 0.0078125
- txt172
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0.5 APEX 0.625 0.734531 0.5 RAD 0.0078125
- txt172
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.515469 APEX 0.625 0.625 0.609531 RAD 0.0078125
- txt172
-TEXDEF txt172 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0.625 RAD 0.03125
- txt172
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0.625 APEX 0.734531 0.625 0.625 RAD 0.0078125
- txt172
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0.625 APEX 0.625 0.734531 0.625 RAD 0.0078125
- txt172
-TEXDEF txt172 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.640469 APEX 0.625 0.625 0.734531 RAD 0.0078125
- txt172
-TEXDEF txt173 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0.75 RAD 0.03125
- txt173
-TEXDEF txt173 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0.75 APEX 0.734531 0.625 0.75 RAD 0.0078125
- txt173
-TEXDEF txt173 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0.75 APEX 0.625 0.734531 0.75 RAD 0.0078125
- txt173
-TEXDEF txt173 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.765469 APEX 0.625 0.625 0.859531 RAD 0.0078125
- txt173
-TEXDEF txt173 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 0.875 RAD 0.03125
- txt173
-TEXDEF txt173 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 0.875 APEX 0.734531 0.625 0.875 RAD 0.0078125
- txt173
-TEXDEF txt173 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 0.875 APEX 0.625 0.734531 0.875 RAD 0.0078125
- txt173
-TEXDEF txt173 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.625 0.890469 APEX 0.625 0.625 0.984531 RAD 0.0078125
- txt173
-TEXDEF txt173 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.625 1 RAD 0.03125
- txt173
-TEXDEF txt173 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.625 1 APEX 0.734531 0.625 1 RAD 0.0078125
- txt173
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.640469 1 APEX 0.625 0.734531 1 RAD 0.0078125
- txt174
-TEXDEF txt174 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0 RAD 0.03125
- txt174
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0 APEX 0.734531 0.75 0 RAD 0.0078125
- txt174
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0 APEX 0.625 0.859531 0 RAD 0.0078125
- txt174
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.0154687 APEX 0.625 0.75 0.109531 RAD 0.0078125
- txt174
-TEXDEF txt174 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0.125 RAD 0.03125
- txt174
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0.125 APEX 0.734531 0.75 0.125 RAD 0.0078125
- txt174
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0.125 APEX 0.625 0.859531 0.125 RAD 0.0078125
- txt174
-TEXDEF txt174 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.140469 APEX 0.625 0.75 0.234531 RAD 0.0078125
- txt174
-TEXDEF txt174 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0.25 RAD 0.03125
- txt174
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0.25 APEX 0.734531 0.75 0.25 RAD 0.0078125
- txt175
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0.25 APEX 0.625 0.859531 0.25 RAD 0.0078125
- txt175
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.265469 APEX 0.625 0.75 0.359531 RAD 0.0078125
- txt175
-TEXDEF txt175 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0.375 RAD 0.03125
- txt175
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0.375 APEX 0.734531 0.75 0.375 RAD 0.0078125
- txt175
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0.375 APEX 0.625 0.859531 0.375 RAD 0.0078125
- txt175
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.390469 APEX 0.625 0.75 0.484531 RAD 0.0078125
- txt175
-TEXDEF txt175 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0.5 RAD 0.03125
- txt175
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0.5 APEX 0.734531 0.75 0.5 RAD 0.0078125
- txt175
-TEXDEF txt175 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0.5 APEX 0.625 0.859531 0.5 RAD 0.0078125
- txt175
-TEXDEF txt176 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.515469 APEX 0.625 0.75 0.609531 RAD 0.0078125
- txt176
-TEXDEF txt176 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0.625 RAD 0.03125
- txt176
-TEXDEF txt176 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0.625 APEX 0.734531 0.75 0.625 RAD 0.0078125
- txt176
-TEXDEF txt176 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0.625 APEX 0.625 0.859531 0.625 RAD 0.0078125
- txt176
-TEXDEF txt176 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.640469 APEX 0.625 0.75 0.734531 RAD 0.0078125
- txt176
-TEXDEF txt176 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0.75 RAD 0.03125
- txt176
-TEXDEF txt176 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0.75 APEX 0.734531 0.75 0.75 RAD 0.0078125
- txt176
-TEXDEF txt176 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0.75 APEX 0.625 0.859531 0.75 RAD 0.0078125
- txt176
-TEXDEF txt176 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.765469 APEX 0.625 0.75 0.859531 RAD 0.0078125
- txt176
-TEXDEF txt176 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 0.875 RAD 0.03125
- txt176
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 0.875 APEX 0.734531 0.75 0.875 RAD 0.0078125
- txt177
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 0.875 APEX 0.625 0.859531 0.875 RAD 0.0078125
- txt177
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.75 0.890469 APEX 0.625 0.75 0.984531 RAD 0.0078125
- txt177
-TEXDEF txt177 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.75 1 RAD 0.03125
- txt177
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.75 1 APEX 0.734531 0.75 1 RAD 0.0078125
- txt177
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.765469 1 APEX 0.625 0.859531 1 RAD 0.0078125
- txt177
-TEXDEF txt177 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0 RAD 0.03125
- txt177
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0 APEX 0.734531 0.875 0 RAD 0.0078125
- txt177
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0 APEX 0.625 0.984531 0 RAD 0.0078125
- txt177
-TEXDEF txt177 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.0154687 APEX 0.625 0.875 0.109531 RAD 0.0078125
- txt177
-TEXDEF txt178 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0.125 RAD 0.03125
- txt178
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0.125 APEX 0.734531 0.875 0.125 RAD 0.0078125
- txt178
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0.125 APEX 0.625 0.984531 0.125 RAD 0.0078125
- txt178
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.140469 APEX 0.625 0.875 0.234531 RAD 0.0078125
- txt178
-TEXDEF txt178 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0.25 RAD 0.03125
- txt178
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0.25 APEX 0.734531 0.875 0.25 RAD 0.0078125
- txt178
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0.25 APEX 0.625 0.984531 0.25 RAD 0.0078125
- txt178
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.265469 APEX 0.625 0.875 0.359531 RAD 0.0078125
- txt178
-TEXDEF txt178 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0.375 RAD 0.03125
- txt178
-TEXDEF txt178 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0.375 APEX 0.734531 0.875 0.375 RAD 0.0078125
- txt178
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0.375 APEX 0.625 0.984531 0.375 RAD 0.0078125
- txt179
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.390469 APEX 0.625 0.875 0.484531 RAD 0.0078125
- txt179
-TEXDEF txt179 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0.5 RAD 0.03125
- txt179
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0.5 APEX 0.734531 0.875 0.5 RAD 0.0078125
- txt179
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0.5 APEX 0.625 0.984531 0.5 RAD 0.0078125
- txt179
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.515469 APEX 0.625 0.875 0.609531 RAD 0.0078125
- txt179
-TEXDEF txt179 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0.625 RAD 0.03125
- txt179
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0.625 APEX 0.734531 0.875 0.625 RAD 0.0078125
- txt179
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0.625 APEX 0.625 0.984531 0.625 RAD 0.0078125
- txt179
-TEXDEF txt179 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.640469 APEX 0.625 0.875 0.734531 RAD 0.0078125
- txt179
-TEXDEF txt180 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0.75 RAD 0.03125
- txt180
-TEXDEF txt180 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0.75 APEX 0.734531 0.875 0.75 RAD 0.0078125
- txt180
-TEXDEF txt180 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0.75 APEX 0.625 0.984531 0.75 RAD 0.0078125
- txt180
-TEXDEF txt180 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.765469 APEX 0.625 0.875 0.859531 RAD 0.0078125
- txt180
-TEXDEF txt180 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 0.875 RAD 0.03125
- txt180
-TEXDEF txt180 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 0.875 APEX 0.734531 0.875 0.875 RAD 0.0078125
- txt180
-TEXDEF txt180 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 0.875 APEX 0.625 0.984531 0.875 RAD 0.0078125
- txt180
-TEXDEF txt180 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.875 0.890469 APEX 0.625 0.875 0.984531 RAD 0.0078125
- txt180
-TEXDEF txt180 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 0.875 1 RAD 0.03125
- txt180
-TEXDEF txt180 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 0.875 1 APEX 0.734531 0.875 1 RAD 0.0078125
- txt180
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 0.890469 1 APEX 0.625 0.984531 1 RAD 0.0078125
- txt181
-TEXDEF txt181 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0 RAD 0.03125
- txt181
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0 APEX 0.734531 1 0 RAD 0.0078125
- txt181
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.0154687 APEX 0.625 1 0.109531 RAD 0.0078125
- txt181
-TEXDEF txt181 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0.125 RAD 0.03125
- txt181
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0.125 APEX 0.734531 1 0.125 RAD 0.0078125
- txt181
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.140469 APEX 0.625 1 0.234531 RAD 0.0078125
- txt181
-TEXDEF txt181 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0.25 RAD 0.03125
- txt181
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0.25 APEX 0.734531 1 0.25 RAD 0.0078125
- txt181
-TEXDEF txt181 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.265469 APEX 0.625 1 0.359531 RAD 0.0078125
- txt181
-TEXDEF txt182 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0.375 RAD 0.03125
- txt182
-TEXDEF txt182 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0.375 APEX 0.734531 1 0.375 RAD 0.0078125
- txt182
-TEXDEF txt182 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.390469 APEX 0.625 1 0.484531 RAD 0.0078125
- txt182
-TEXDEF txt182 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0.5 RAD 0.03125
- txt182
-TEXDEF txt182 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0.5 APEX 0.734531 1 0.5 RAD 0.0078125
- txt182
-TEXDEF txt182 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.515469 APEX 0.625 1 0.609531 RAD 0.0078125
- txt182
-TEXDEF txt182 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0.625 RAD 0.03125
- txt182
-TEXDEF txt182 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0.625 APEX 0.734531 1 0.625 RAD 0.0078125
- txt182
-TEXDEF txt182 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.640469 APEX 0.625 1 0.734531 RAD 0.0078125
- txt182
-TEXDEF txt182 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0.75 RAD 0.03125
- txt182
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0.75 APEX 0.734531 1 0.75 RAD 0.0078125
- txt183
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.765469 APEX 0.625 1 0.859531 RAD 0.0078125
- txt183
-TEXDEF txt183 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 0.875 RAD 0.03125
- txt183
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 0.875 APEX 0.734531 1 0.875 RAD 0.0078125
- txt183
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.625 1 0.890469 APEX 0.625 1 0.984531 RAD 0.0078125
- txt183
-TEXDEF txt183 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.625 1 1 RAD 0.03125
- txt183
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.640469 1 1 APEX 0.734531 1 1 RAD 0.0078125
- txt183
-TEXDEF txt183 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0 RAD 0.03125
- txt183
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0 APEX 0.859531 0 0 RAD 0.0078125
- txt183
-TEXDEF txt183 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0 APEX 0.75 0.109531 0 RAD 0.0078125
- txt183
-TEXDEF txt184 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.0154687 APEX 0.75 0 0.109531 RAD 0.0078125
- txt184
-TEXDEF txt184 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0.125 RAD 0.03125
- txt184
-TEXDEF txt184 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0.125 APEX 0.859531 0 0.125 RAD 0.0078125
- txt184
-TEXDEF txt184 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0.125 APEX 0.75 0.109531 0.125 RAD 0.0078125
- txt184
-TEXDEF txt184 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.140469 APEX 0.75 0 0.234531 RAD 0.0078125
- txt184
-TEXDEF txt184 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0.25 RAD 0.03125
- txt184
-TEXDEF txt184 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0.25 APEX 0.859531 0 0.25 RAD 0.0078125
- txt184
-TEXDEF txt184 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0.25 APEX 0.75 0.109531 0.25 RAD 0.0078125
- txt184
-TEXDEF txt184 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.265469 APEX 0.75 0 0.359531 RAD 0.0078125
- txt184
-TEXDEF txt184 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0.375 RAD 0.03125
- txt184
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0.375 APEX 0.859531 0 0.375 RAD 0.0078125
- txt185
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0.375 APEX 0.75 0.109531 0.375 RAD 0.0078125
- txt185
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.390469 APEX 0.75 0 0.484531 RAD 0.0078125
- txt185
-TEXDEF txt185 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0.5 RAD 0.03125
- txt185
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0.5 APEX 0.859531 0 0.5 RAD 0.0078125
- txt185
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0.5 APEX 0.75 0.109531 0.5 RAD 0.0078125
- txt185
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.515469 APEX 0.75 0 0.609531 RAD 0.0078125
- txt185
-TEXDEF txt185 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0.625 RAD 0.03125
- txt185
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0.625 APEX 0.859531 0 0.625 RAD 0.0078125
- txt185
-TEXDEF txt185 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0.625 APEX 0.75 0.109531 0.625 RAD 0.0078125
- txt185
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.640469 APEX 0.75 0 0.734531 RAD 0.0078125
- txt186
-TEXDEF txt186 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0.75 RAD 0.03125
- txt186
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0.75 APEX 0.859531 0 0.75 RAD 0.0078125
- txt186
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0.75 APEX 0.75 0.109531 0.75 RAD 0.0078125
- txt186
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.765469 APEX 0.75 0 0.859531 RAD 0.0078125
- txt186
-TEXDEF txt186 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 0.875 RAD 0.03125
- txt186
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 0.875 APEX 0.859531 0 0.875 RAD 0.0078125
- txt186
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 0.875 APEX 0.75 0.109531 0.875 RAD 0.0078125
- txt186
-TEXDEF txt186 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0 0.890469 APEX 0.75 0 0.984531 RAD 0.0078125
- txt186
-TEXDEF txt186 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0 1 RAD 0.03125
- txt186
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0 1 APEX 0.859531 0 1 RAD 0.0078125
- txt187
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.0154687 1 APEX 0.75 0.109531 1 RAD 0.0078125
- txt187
-TEXDEF txt187 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0 RAD 0.03125
- txt187
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0 APEX 0.859531 0.125 0 RAD 0.0078125
- txt187
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0 APEX 0.75 0.234531 0 RAD 0.0078125
- txt187
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.0154687 APEX 0.75 0.125 0.109531 RAD 0.0078125
- txt187
-TEXDEF txt187 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0.125 RAD 0.03125
- txt187
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0.125 APEX 0.859531 0.125 0.125 RAD 0.0078125
- txt187
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0.125 APEX 0.75 0.234531 0.125 RAD 0.0078125
- txt187
-TEXDEF txt187 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.140469 APEX 0.75 0.125 0.234531 RAD 0.0078125
- txt187
-TEXDEF txt188 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0.25 RAD 0.03125
- txt188
-TEXDEF txt188 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0.25 APEX 0.859531 0.125 0.25 RAD 0.0078125
- txt188
-TEXDEF txt188 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0.25 APEX 0.75 0.234531 0.25 RAD 0.0078125
- txt188
-TEXDEF txt188 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.265469 APEX 0.75 0.125 0.359531 RAD 0.0078125
- txt188
-TEXDEF txt188 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0.375 RAD 0.03125
- txt188
-TEXDEF txt188 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0.375 APEX 0.859531 0.125 0.375 RAD 0.0078125
- txt188
-TEXDEF txt188 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0.375 APEX 0.75 0.234531 0.375 RAD 0.0078125
- txt188
-TEXDEF txt188 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.390469 APEX 0.75 0.125 0.484531 RAD 0.0078125
- txt188
-TEXDEF txt188 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0.5 RAD 0.03125
- txt188
-TEXDEF txt188 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0.5 APEX 0.859531 0.125 0.5 RAD 0.0078125
- txt188
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0.5 APEX 0.75 0.234531 0.5 RAD 0.0078125
- txt189
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.515469 APEX 0.75 0.125 0.609531 RAD 0.0078125
- txt189
-TEXDEF txt189 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0.625 RAD 0.03125
- txt189
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0.625 APEX 0.859531 0.125 0.625 RAD 0.0078125
- txt189
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0.625 APEX 0.75 0.234531 0.625 RAD 0.0078125
- txt189
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.640469 APEX 0.75 0.125 0.734531 RAD 0.0078125
- txt189
-TEXDEF txt189 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0.75 RAD 0.03125
- txt189
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0.75 APEX 0.859531 0.125 0.75 RAD 0.0078125
- txt189
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0.75 APEX 0.75 0.234531 0.75 RAD 0.0078125
- txt189
-TEXDEF txt189 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.765469 APEX 0.75 0.125 0.859531 RAD 0.0078125
- txt189
-TEXDEF txt190 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 0.875 RAD 0.03125
- txt190
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 0.875 APEX 0.859531 0.125 0.875 RAD 0.0078125
- txt190
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 0.875 APEX 0.75 0.234531 0.875 RAD 0.0078125
- txt190
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.125 0.890469 APEX 0.75 0.125 0.984531 RAD 0.0078125
- txt190
-TEXDEF txt190 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.125 1 RAD 0.03125
- txt190
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.125 1 APEX 0.859531 0.125 1 RAD 0.0078125
- txt190
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.140469 1 APEX 0.75 0.234531 1 RAD 0.0078125
- txt190
-TEXDEF txt190 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0 RAD 0.03125
- txt190
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0 APEX 0.859531 0.25 0 RAD 0.0078125
- txt190
-TEXDEF txt190 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0 APEX 0.75 0.359531 0 RAD 0.0078125
- txt190
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.0154687 APEX 0.75 0.25 0.109531 RAD 0.0078125
- txt191
-TEXDEF txt191 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0.125 RAD 0.03125
- txt191
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0.125 APEX 0.859531 0.25 0.125 RAD 0.0078125
- txt191
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0.125 APEX 0.75 0.359531 0.125 RAD 0.0078125
- txt191
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.140469 APEX 0.75 0.25 0.234531 RAD 0.0078125
- txt191
-TEXDEF txt191 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0.25 RAD 0.03125
- txt191
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0.25 APEX 0.859531 0.25 0.25 RAD 0.0078125
- txt191
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0.25 APEX 0.75 0.359531 0.25 RAD 0.0078125
- txt191
-TEXDEF txt191 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.265469 APEX 0.75 0.25 0.359531 RAD 0.0078125
- txt191
-TEXDEF txt191 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0.375 RAD 0.03125
- txt191
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0.375 APEX 0.859531 0.25 0.375 RAD 0.0078125
- txt192
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0.375 APEX 0.75 0.359531 0.375 RAD 0.0078125
- txt192
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.390469 APEX 0.75 0.25 0.484531 RAD 0.0078125
- txt192
-TEXDEF txt192 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0.5 RAD 0.03125
- txt192
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0.5 APEX 0.859531 0.25 0.5 RAD 0.0078125
- txt192
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0.5 APEX 0.75 0.359531 0.5 RAD 0.0078125
- txt192
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.515469 APEX 0.75 0.25 0.609531 RAD 0.0078125
- txt192
-TEXDEF txt192 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0.625 RAD 0.03125
- txt192
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0.625 APEX 0.859531 0.25 0.625 RAD 0.0078125
- txt192
-TEXDEF txt192 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0.625 APEX 0.75 0.359531 0.625 RAD 0.0078125
- txt192
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.640469 APEX 0.75 0.25 0.734531 RAD 0.0078125
- txt193
-TEXDEF txt193 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0.75 RAD 0.03125
- txt193
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0.75 APEX 0.859531 0.25 0.75 RAD 0.0078125
- txt193
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0.75 APEX 0.75 0.359531 0.75 RAD 0.0078125
- txt193
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.765469 APEX 0.75 0.25 0.859531 RAD 0.0078125
- txt193
-TEXDEF txt193 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 0.875 RAD 0.03125
- txt193
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 0.875 APEX 0.859531 0.25 0.875 RAD 0.0078125
- txt193
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 0.875 APEX 0.75 0.359531 0.875 RAD 0.0078125
- txt193
-TEXDEF txt193 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.25 0.890469 APEX 0.75 0.25 0.984531 RAD 0.0078125
- txt193
-TEXDEF txt193 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.25 1 RAD 0.03125
- txt193
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.25 1 APEX 0.859531 0.25 1 RAD 0.0078125
- txt194
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.265469 1 APEX 0.75 0.359531 1 RAD 0.0078125
- txt194
-TEXDEF txt194 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0 RAD 0.03125
- txt194
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0 APEX 0.859531 0.375 0 RAD 0.0078125
- txt194
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0 APEX 0.75 0.484531 0 RAD 0.0078125
- txt194
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.0154687 APEX 0.75 0.375 0.109531 RAD 0.0078125
- txt194
-TEXDEF txt194 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0.125 RAD 0.03125
- txt194
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0.125 APEX 0.859531 0.375 0.125 RAD 0.0078125
- txt194
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0.125 APEX 0.75 0.484531 0.125 RAD 0.0078125
- txt194
-TEXDEF txt194 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.140469 APEX 0.75 0.375 0.234531 RAD 0.0078125
- txt194
-TEXDEF txt195 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0.25 RAD 0.03125
- txt195
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0.25 APEX 0.859531 0.375 0.25 RAD 0.0078125
- txt195
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0.25 APEX 0.75 0.484531 0.25 RAD 0.0078125
- txt195
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.265469 APEX 0.75 0.375 0.359531 RAD 0.0078125
- txt195
-TEXDEF txt195 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0.375 RAD 0.03125
- txt195
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0.375 APEX 0.859531 0.375 0.375 RAD 0.0078125
- txt195
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0.375 APEX 0.75 0.484531 0.375 RAD 0.0078125
- txt195
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.390469 APEX 0.75 0.375 0.484531 RAD 0.0078125
- txt195
-TEXDEF txt195 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0.5 RAD 0.03125
- txt195
-TEXDEF txt195 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0.5 APEX 0.859531 0.375 0.5 RAD 0.0078125
- txt195
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0.5 APEX 0.75 0.484531 0.5 RAD 0.0078125
- txt196
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.515469 APEX 0.75 0.375 0.609531 RAD 0.0078125
- txt196
-TEXDEF txt196 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0.625 RAD 0.03125
- txt196
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0.625 APEX 0.859531 0.375 0.625 RAD 0.0078125
- txt196
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0.625 APEX 0.75 0.484531 0.625 RAD 0.0078125
- txt196
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.640469 APEX 0.75 0.375 0.734531 RAD 0.0078125
- txt196
-TEXDEF txt196 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0.75 RAD 0.03125
- txt196
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0.75 APEX 0.859531 0.375 0.75 RAD 0.0078125
- txt196
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0.75 APEX 0.75 0.484531 0.75 RAD 0.0078125
- txt196
-TEXDEF txt196 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.765469 APEX 0.75 0.375 0.859531 RAD 0.0078125
- txt196
-TEXDEF txt197 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 0.875 RAD 0.03125
- txt197
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 0.875 APEX 0.859531 0.375 0.875 RAD 0.0078125
- txt197
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 0.875 APEX 0.75 0.484531 0.875 RAD 0.0078125
- txt197
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.375 0.890469 APEX 0.75 0.375 0.984531 RAD 0.0078125
- txt197
-TEXDEF txt197 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.375 1 RAD 0.03125
- txt197
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.375 1 APEX 0.859531 0.375 1 RAD 0.0078125
- txt197
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.390469 1 APEX 0.75 0.484531 1 RAD 0.0078125
- txt197
-TEXDEF txt197 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0 RAD 0.03125
- txt197
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0 APEX 0.859531 0.5 0 RAD 0.0078125
- txt197
-TEXDEF txt197 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0 APEX 0.75 0.609531 0 RAD 0.0078125
- txt197
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.0154687 APEX 0.75 0.5 0.109531 RAD 0.0078125
- txt198
-TEXDEF txt198 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0.125 RAD 0.03125
- txt198
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0.125 APEX 0.859531 0.5 0.125 RAD 0.0078125
- txt198
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0.125 APEX 0.75 0.609531 0.125 RAD 0.0078125
- txt198
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.140469 APEX 0.75 0.5 0.234531 RAD 0.0078125
- txt198
-TEXDEF txt198 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0.25 RAD 0.03125
- txt198
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0.25 APEX 0.859531 0.5 0.25 RAD 0.0078125
- txt198
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0.25 APEX 0.75 0.609531 0.25 RAD 0.0078125
- txt198
-TEXDEF txt198 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.265469 APEX 0.75 0.5 0.359531 RAD 0.0078125
- txt198
-TEXDEF txt198 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0.375 RAD 0.03125
- txt198
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0.375 APEX 0.859531 0.5 0.375 RAD 0.0078125
- txt199
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0.375 APEX 0.75 0.609531 0.375 RAD 0.0078125
- txt199
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.390469 APEX 0.75 0.5 0.484531 RAD 0.0078125
- txt199
-TEXDEF txt199 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0.5 RAD 0.03125
- txt199
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0.5 APEX 0.859531 0.5 0.5 RAD 0.0078125
- txt199
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0.5 APEX 0.75 0.609531 0.5 RAD 0.0078125
- txt199
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.515469 APEX 0.75 0.5 0.609531 RAD 0.0078125
- txt199
-TEXDEF txt199 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0.625 RAD 0.03125
- txt199
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0.625 APEX 0.859531 0.5 0.625 RAD 0.0078125
- txt199
-TEXDEF txt199 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0.625 APEX 0.75 0.609531 0.625 RAD 0.0078125
- txt199
-TEXDEF txt200 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.640469 APEX 0.75 0.5 0.734531 RAD 0.0078125
- txt200
-TEXDEF txt200 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0.75 RAD 0.03125
- txt200
-TEXDEF txt200 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0.75 APEX 0.859531 0.5 0.75 RAD 0.0078125
- txt200
-TEXDEF txt200 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0.75 APEX 0.75 0.609531 0.75 RAD 0.0078125
- txt200
-TEXDEF txt200 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.765469 APEX 0.75 0.5 0.859531 RAD 0.0078125
- txt200
-TEXDEF txt200 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 0.875 RAD 0.03125
- txt200
-TEXDEF txt200 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 0.875 APEX 0.859531 0.5 0.875 RAD 0.0078125
- txt200
-TEXDEF txt200 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 0.875 APEX 0.75 0.609531 0.875 RAD 0.0078125
- txt200
-TEXDEF txt200 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.5 0.890469 APEX 0.75 0.5 0.984531 RAD 0.0078125
- txt200
-TEXDEF txt200 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.5 1 RAD 0.03125
- txt200
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.5 1 APEX 0.859531 0.5 1 RAD 0.0078125
- txt201
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.515469 1 APEX 0.75 0.609531 1 RAD 0.0078125
- txt201
-TEXDEF txt201 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0 RAD 0.03125
- txt201
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0 APEX 0.859531 0.625 0 RAD 0.0078125
- txt201
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0 APEX 0.75 0.734531 0 RAD 0.0078125
- txt201
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.0154687 APEX 0.75 0.625 0.109531 RAD 0.0078125
- txt201
-TEXDEF txt201 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0.125 RAD 0.03125
- txt201
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0.125 APEX 0.859531 0.625 0.125 RAD 0.0078125
- txt201
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0.125 APEX 0.75 0.734531 0.125 RAD 0.0078125
- txt201
-TEXDEF txt201 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.140469 APEX 0.75 0.625 0.234531 RAD 0.0078125
- txt201
-TEXDEF txt202 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0.25 RAD 0.03125
- txt202
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0.25 APEX 0.859531 0.625 0.25 RAD 0.0078125
- txt202
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0.25 APEX 0.75 0.734531 0.25 RAD 0.0078125
- txt202
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.265469 APEX 0.75 0.625 0.359531 RAD 0.0078125
- txt202
-TEXDEF txt202 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0.375 RAD 0.03125
- txt202
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0.375 APEX 0.859531 0.625 0.375 RAD 0.0078125
- txt202
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0.375 APEX 0.75 0.734531 0.375 RAD 0.0078125
- txt202
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.390469 APEX 0.75 0.625 0.484531 RAD 0.0078125
- txt202
-TEXDEF txt202 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0.5 RAD 0.03125
- txt202
-TEXDEF txt202 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0.5 APEX 0.859531 0.625 0.5 RAD 0.0078125
- txt202
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0.5 APEX 0.75 0.734531 0.5 RAD 0.0078125
- txt203
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.515469 APEX 0.75 0.625 0.609531 RAD 0.0078125
- txt203
-TEXDEF txt203 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0.625 RAD 0.03125
- txt203
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0.625 APEX 0.859531 0.625 0.625 RAD 0.0078125
- txt203
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0.625 APEX 0.75 0.734531 0.625 RAD 0.0078125
- txt203
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.640469 APEX 0.75 0.625 0.734531 RAD 0.0078125
- txt203
-TEXDEF txt203 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0.75 RAD 0.03125
- txt203
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0.75 APEX 0.859531 0.625 0.75 RAD 0.0078125
- txt203
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0.75 APEX 0.75 0.734531 0.75 RAD 0.0078125
- txt203
-TEXDEF txt203 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.765469 APEX 0.75 0.625 0.859531 RAD 0.0078125
- txt203
-TEXDEF txt204 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 0.875 RAD 0.03125
- txt204
-TEXDEF txt204 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 0.875 APEX 0.859531 0.625 0.875 RAD 0.0078125
- txt204
-TEXDEF txt204 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 0.875 APEX 0.75 0.734531 0.875 RAD 0.0078125
- txt204
-TEXDEF txt204 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.625 0.890469 APEX 0.75 0.625 0.984531 RAD 0.0078125
- txt204
-TEXDEF txt204 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.625 1 RAD 0.03125
- txt204
-TEXDEF txt204 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.625 1 APEX 0.859531 0.625 1 RAD 0.0078125
- txt204
-TEXDEF txt204 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.640469 1 APEX 0.75 0.734531 1 RAD 0.0078125
- txt204
-TEXDEF txt204 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0 RAD 0.03125
- txt204
-TEXDEF txt204 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0 APEX 0.859531 0.75 0 RAD 0.0078125
- txt204
-TEXDEF txt204 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0 APEX 0.75 0.859531 0 RAD 0.0078125
- txt204
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.0154687 APEX 0.75 0.75 0.109531 RAD 0.0078125
- txt205
-TEXDEF txt205 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0.125 RAD 0.03125
- txt205
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0.125 APEX 0.859531 0.75 0.125 RAD 0.0078125
- txt205
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0.125 APEX 0.75 0.859531 0.125 RAD 0.0078125
- txt205
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.140469 APEX 0.75 0.75 0.234531 RAD 0.0078125
- txt205
-TEXDEF txt205 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0.25 RAD 0.03125
- txt205
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0.25 APEX 0.859531 0.75 0.25 RAD 0.0078125
- txt205
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0.25 APEX 0.75 0.859531 0.25 RAD 0.0078125
- txt205
-TEXDEF txt205 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.265469 APEX 0.75 0.75 0.359531 RAD 0.0078125
- txt205
-TEXDEF txt205 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0.375 RAD 0.03125
- txt205
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0.375 APEX 0.859531 0.75 0.375 RAD 0.0078125
- txt206
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0.375 APEX 0.75 0.859531 0.375 RAD 0.0078125
- txt206
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.390469 APEX 0.75 0.75 0.484531 RAD 0.0078125
- txt206
-TEXDEF txt206 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0.5 RAD 0.03125
- txt206
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0.5 APEX 0.859531 0.75 0.5 RAD 0.0078125
- txt206
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0.5 APEX 0.75 0.859531 0.5 RAD 0.0078125
- txt206
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.515469 APEX 0.75 0.75 0.609531 RAD 0.0078125
- txt206
-TEXDEF txt206 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0.625 RAD 0.03125
- txt206
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0.625 APEX 0.859531 0.75 0.625 RAD 0.0078125
- txt206
-TEXDEF txt206 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0.625 APEX 0.75 0.859531 0.625 RAD 0.0078125
- txt206
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.640469 APEX 0.75 0.75 0.734531 RAD 0.0078125
- txt207
-TEXDEF txt207 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0.75 RAD 0.03125
- txt207
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0.75 APEX 0.859531 0.75 0.75 RAD 0.0078125
- txt207
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0.75 APEX 0.75 0.859531 0.75 RAD 0.0078125
- txt207
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.765469 APEX 0.75 0.75 0.859531 RAD 0.0078125
- txt207
-TEXDEF txt207 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 0.875 RAD 0.03125
- txt207
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 0.875 APEX 0.859531 0.75 0.875 RAD 0.0078125
- txt207
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 0.875 APEX 0.75 0.859531 0.875 RAD 0.0078125
- txt207
-TEXDEF txt207 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.75 0.890469 APEX 0.75 0.75 0.984531 RAD 0.0078125
- txt207
-TEXDEF txt207 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.75 1 RAD 0.03125
- txt207
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.75 1 APEX 0.859531 0.75 1 RAD 0.0078125
- txt208
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.765469 1 APEX 0.75 0.859531 1 RAD 0.0078125
- txt208
-TEXDEF txt208 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0 RAD 0.03125
- txt208
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0 APEX 0.859531 0.875 0 RAD 0.0078125
- txt208
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0 APEX 0.75 0.984531 0 RAD 0.0078125
- txt208
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.0154687 APEX 0.75 0.875 0.109531 RAD 0.0078125
- txt208
-TEXDEF txt208 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0.125 RAD 0.03125
- txt208
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0.125 APEX 0.859531 0.875 0.125 RAD 0.0078125
- txt208
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0.125 APEX 0.75 0.984531 0.125 RAD 0.0078125
- txt208
-TEXDEF txt208 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.140469 APEX 0.75 0.875 0.234531 RAD 0.0078125
- txt208
-TEXDEF txt209 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0.25 RAD 0.03125
- txt209
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0.25 APEX 0.859531 0.875 0.25 RAD 0.0078125
- txt209
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0.25 APEX 0.75 0.984531 0.25 RAD 0.0078125
- txt209
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.265469 APEX 0.75 0.875 0.359531 RAD 0.0078125
- txt209
-TEXDEF txt209 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0.375 RAD 0.03125
- txt209
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0.375 APEX 0.859531 0.875 0.375 RAD 0.0078125
- txt209
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0.375 APEX 0.75 0.984531 0.375 RAD 0.0078125
- txt209
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.390469 APEX 0.75 0.875 0.484531 RAD 0.0078125
- txt209
-TEXDEF txt209 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0.5 RAD 0.03125
- txt209
-TEXDEF txt209 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0.5 APEX 0.859531 0.875 0.5 RAD 0.0078125
- txt209
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0.5 APEX 0.75 0.984531 0.5 RAD 0.0078125
- txt210
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.515469 APEX 0.75 0.875 0.609531 RAD 0.0078125
- txt210
-TEXDEF txt210 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0.625 RAD 0.03125
- txt210
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0.625 APEX 0.859531 0.875 0.625 RAD 0.0078125
- txt210
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0.625 APEX 0.75 0.984531 0.625 RAD 0.0078125
- txt210
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.640469 APEX 0.75 0.875 0.734531 RAD 0.0078125
- txt210
-TEXDEF txt210 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0.75 RAD 0.03125
- txt210
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0.75 APEX 0.859531 0.875 0.75 RAD 0.0078125
- txt210
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0.75 APEX 0.75 0.984531 0.75 RAD 0.0078125
- txt210
-TEXDEF txt210 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.765469 APEX 0.75 0.875 0.859531 RAD 0.0078125
- txt210
-TEXDEF txt211 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 0.875 RAD 0.03125
- txt211
-TEXDEF txt211 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 0.875 APEX 0.859531 0.875 0.875 RAD 0.0078125
- txt211
-TEXDEF txt211 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 0.875 APEX 0.75 0.984531 0.875 RAD 0.0078125
- txt211
-TEXDEF txt211 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.875 0.890469 APEX 0.75 0.875 0.984531 RAD 0.0078125
- txt211
-TEXDEF txt211 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 0.875 1 RAD 0.03125
- txt211
-TEXDEF txt211 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 0.875 1 APEX 0.859531 0.875 1 RAD 0.0078125
- txt211
-TEXDEF txt211 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 0.890469 1 APEX 0.75 0.984531 1 RAD 0.0078125
- txt211
-TEXDEF txt211 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0 RAD 0.03125
- txt211
-TEXDEF txt211 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0 APEX 0.859531 1 0 RAD 0.0078125
- txt211
-TEXDEF txt211 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.0154687 APEX 0.75 1 0.109531 RAD 0.0078125
- txt211
-TEXDEF txt212 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0.125 RAD 0.03125
- txt212
-TEXDEF txt212 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0.125 APEX 0.859531 1 0.125 RAD 0.0078125
- txt212
-TEXDEF txt212 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.140469 APEX 0.75 1 0.234531 RAD 0.0078125
- txt212
-TEXDEF txt212 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0.25 RAD 0.03125
- txt212
-TEXDEF txt212 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0.25 APEX 0.859531 1 0.25 RAD 0.0078125
- txt212
-TEXDEF txt212 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.265469 APEX 0.75 1 0.359531 RAD 0.0078125
- txt212
-TEXDEF txt212 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0.375 RAD 0.03125
- txt212
-TEXDEF txt212 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0.375 APEX 0.859531 1 0.375 RAD 0.0078125
- txt212
-TEXDEF txt212 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.390469 APEX 0.75 1 0.484531 RAD 0.0078125
- txt212
-TEXDEF txt212 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0.5 RAD 0.03125
- txt212
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0.5 APEX 0.859531 1 0.5 RAD 0.0078125
- txt213
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.515469 APEX 0.75 1 0.609531 RAD 0.0078125
- txt213
-TEXDEF txt213 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0.625 RAD 0.03125
- txt213
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0.625 APEX 0.859531 1 0.625 RAD 0.0078125
- txt213
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.640469 APEX 0.75 1 0.734531 RAD 0.0078125
- txt213
-TEXDEF txt213 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0.75 RAD 0.03125
- txt213
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0.75 APEX 0.859531 1 0.75 RAD 0.0078125
- txt213
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.765469 APEX 0.75 1 0.859531 RAD 0.0078125
- txt213
-TEXDEF txt213 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 0.875 RAD 0.03125
- txt213
-TEXDEF txt213 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 0.875 APEX 0.859531 1 0.875 RAD 0.0078125
- txt213
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.75 1 0.890469 APEX 0.75 1 0.984531 RAD 0.0078125
- txt214
-TEXDEF txt214 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.75 1 1 RAD 0.03125
- txt214
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.765469 1 1 APEX 0.859531 1 1 RAD 0.0078125
- txt214
-TEXDEF txt214 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0 RAD 0.03125
- txt214
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0 APEX 0.984531 0 0 RAD 0.0078125
- txt214
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0 APEX 0.875 0.109531 0 RAD 0.0078125
- txt214
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.0154687 APEX 0.875 0 0.109531 RAD 0.0078125
- txt214
-TEXDEF txt214 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0.125 RAD 0.03125
- txt214
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0.125 APEX 0.984531 0 0.125 RAD 0.0078125
- txt214
-TEXDEF txt214 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0.125 APEX 0.875 0.109531 0.125 RAD 0.0078125
- txt214
-TEXDEF txt215 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.140469 APEX 0.875 0 0.234531 RAD 0.0078125
- txt215
-TEXDEF txt215 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0.25 RAD 0.03125
- txt215
-TEXDEF txt215 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0.25 APEX 0.984531 0 0.25 RAD 0.0078125
- txt215
-TEXDEF txt215 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0.25 APEX 0.875 0.109531 0.25 RAD 0.0078125
- txt215
-TEXDEF txt215 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.265469 APEX 0.875 0 0.359531 RAD 0.0078125
- txt215
-TEXDEF txt215 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0.375 RAD 0.03125
- txt215
-TEXDEF txt215 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0.375 APEX 0.984531 0 0.375 RAD 0.0078125
- txt215
-TEXDEF txt215 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0.375 APEX 0.875 0.109531 0.375 RAD 0.0078125
- txt215
-TEXDEF txt215 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.390469 APEX 0.875 0 0.484531 RAD 0.0078125
- txt215
-TEXDEF txt215 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0.5 RAD 0.03125
- txt215
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0.5 APEX 0.984531 0 0.5 RAD 0.0078125
- txt216
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0.5 APEX 0.875 0.109531 0.5 RAD 0.0078125
- txt216
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.515469 APEX 0.875 0 0.609531 RAD 0.0078125
- txt216
-TEXDEF txt216 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0.625 RAD 0.03125
- txt216
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0.625 APEX 0.984531 0 0.625 RAD 0.0078125
- txt216
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0.625 APEX 0.875 0.109531 0.625 RAD 0.0078125
- txt216
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.640469 APEX 0.875 0 0.734531 RAD 0.0078125
- txt216
-TEXDEF txt216 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0.75 RAD 0.03125
- txt216
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0.75 APEX 0.984531 0 0.75 RAD 0.0078125
- txt216
-TEXDEF txt216 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0.75 APEX 0.875 0.109531 0.75 RAD 0.0078125
- txt216
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.765469 APEX 0.875 0 0.859531 RAD 0.0078125
- txt217
-TEXDEF txt217 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 0.875 RAD 0.03125
- txt217
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 0.875 APEX 0.984531 0 0.875 RAD 0.0078125
- txt217
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 0.875 APEX 0.875 0.109531 0.875 RAD 0.0078125
- txt217
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0 0.890469 APEX 0.875 0 0.984531 RAD 0.0078125
- txt217
-TEXDEF txt217 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0 1 RAD 0.03125
- txt217
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0 1 APEX 0.984531 0 1 RAD 0.0078125
- txt217
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.0154687 1 APEX 0.875 0.109531 1 RAD 0.0078125
- txt217
-TEXDEF txt217 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0 RAD 0.03125
- txt217
-TEXDEF txt217 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0 APEX 0.984531 0.125 0 RAD 0.0078125
- txt217
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0 APEX 0.875 0.234531 0 RAD 0.0078125
- txt218
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.0154687 APEX 0.875 0.125 0.109531 RAD 0.0078125
- txt218
-TEXDEF txt218 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0.125 RAD 0.03125
- txt218
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0.125 APEX 0.984531 0.125 0.125 RAD 0.0078125
- txt218
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0.125 APEX 0.875 0.234531 0.125 RAD 0.0078125
- txt218
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.140469 APEX 0.875 0.125 0.234531 RAD 0.0078125
- txt218
-TEXDEF txt218 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0.25 RAD 0.03125
- txt218
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0.25 APEX 0.984531 0.125 0.25 RAD 0.0078125
- txt218
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0.25 APEX 0.875 0.234531 0.25 RAD 0.0078125
- txt218
-TEXDEF txt218 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.265469 APEX 0.875 0.125 0.359531 RAD 0.0078125
- txt218
-TEXDEF txt219 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0.375 RAD 0.03125
- txt219
-TEXDEF txt219 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0.375 APEX 0.984531 0.125 0.375 RAD 0.0078125
- txt219
-TEXDEF txt219 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0.375 APEX 0.875 0.234531 0.375 RAD 0.0078125
- txt219
-TEXDEF txt219 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.390469 APEX 0.875 0.125 0.484531 RAD 0.0078125
- txt219
-TEXDEF txt219 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0.5 RAD 0.03125
- txt219
-TEXDEF txt219 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0.5 APEX 0.984531 0.125 0.5 RAD 0.0078125
- txt219
-TEXDEF txt219 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0.5 APEX 0.875 0.234531 0.5 RAD 0.0078125
- txt219
-TEXDEF txt219 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.515469 APEX 0.875 0.125 0.609531 RAD 0.0078125
- txt219
-TEXDEF txt219 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0.625 RAD 0.03125
- txt219
-TEXDEF txt219 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0.625 APEX 0.984531 0.125 0.625 RAD 0.0078125
- txt219
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0.625 APEX 0.875 0.234531 0.625 RAD 0.0078125
- txt220
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.640469 APEX 0.875 0.125 0.734531 RAD 0.0078125
- txt220
-TEXDEF txt220 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0.75 RAD 0.03125
- txt220
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0.75 APEX 0.984531 0.125 0.75 RAD 0.0078125
- txt220
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0.75 APEX 0.875 0.234531 0.75 RAD 0.0078125
- txt220
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.765469 APEX 0.875 0.125 0.859531 RAD 0.0078125
- txt220
-TEXDEF txt220 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 0.875 RAD 0.03125
- txt220
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 0.875 APEX 0.984531 0.125 0.875 RAD 0.0078125
- txt220
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 0.875 APEX 0.875 0.234531 0.875 RAD 0.0078125
- txt220
-TEXDEF txt220 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.125 0.890469 APEX 0.875 0.125 0.984531 RAD 0.0078125
- txt220
-TEXDEF txt221 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.125 1 RAD 0.03125
- txt221
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.125 1 APEX 0.984531 0.125 1 RAD 0.0078125
- txt221
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.140469 1 APEX 0.875 0.234531 1 RAD 0.0078125
- txt221
-TEXDEF txt221 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0 RAD 0.03125
- txt221
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0 APEX 0.984531 0.25 0 RAD 0.0078125
- txt221
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0 APEX 0.875 0.359531 0 RAD 0.0078125
- txt221
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.0154687 APEX 0.875 0.25 0.109531 RAD 0.0078125
- txt221
-TEXDEF txt221 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0.125 RAD 0.03125
- txt221
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0.125 APEX 0.984531 0.25 0.125 RAD 0.0078125
- txt221
-TEXDEF txt221 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0.125 APEX 0.875 0.359531 0.125 RAD 0.0078125
- txt221
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.140469 APEX 0.875 0.25 0.234531 RAD 0.0078125
- txt222
-TEXDEF txt222 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0.25 RAD 0.03125
- txt222
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0.25 APEX 0.984531 0.25 0.25 RAD 0.0078125
- txt222
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0.25 APEX 0.875 0.359531 0.25 RAD 0.0078125
- txt222
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.265469 APEX 0.875 0.25 0.359531 RAD 0.0078125
- txt222
-TEXDEF txt222 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0.375 RAD 0.03125
- txt222
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0.375 APEX 0.984531 0.25 0.375 RAD 0.0078125
- txt222
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0.375 APEX 0.875 0.359531 0.375 RAD 0.0078125
- txt222
-TEXDEF txt222 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.390469 APEX 0.875 0.25 0.484531 RAD 0.0078125
- txt222
-TEXDEF txt222 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0.5 RAD 0.03125
- txt222
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0.5 APEX 0.984531 0.25 0.5 RAD 0.0078125
- txt223
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0.5 APEX 0.875 0.359531 0.5 RAD 0.0078125
- txt223
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.515469 APEX 0.875 0.25 0.609531 RAD 0.0078125
- txt223
-TEXDEF txt223 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0.625 RAD 0.03125
- txt223
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0.625 APEX 0.984531 0.25 0.625 RAD 0.0078125
- txt223
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0.625 APEX 0.875 0.359531 0.625 RAD 0.0078125
- txt223
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.640469 APEX 0.875 0.25 0.734531 RAD 0.0078125
- txt223
-TEXDEF txt223 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0.75 RAD 0.03125
- txt223
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0.75 APEX 0.984531 0.25 0.75 RAD 0.0078125
- txt223
-TEXDEF txt223 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0.75 APEX 0.875 0.359531 0.75 RAD 0.0078125
- txt223
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.765469 APEX 0.875 0.25 0.859531 RAD 0.0078125
- txt224
-TEXDEF txt224 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 0.875 RAD 0.03125
- txt224
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 0.875 APEX 0.984531 0.25 0.875 RAD 0.0078125
- txt224
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 0.875 APEX 0.875 0.359531 0.875 RAD 0.0078125
- txt224
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.25 0.890469 APEX 0.875 0.25 0.984531 RAD 0.0078125
- txt224
-TEXDEF txt224 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.25 1 RAD 0.03125
- txt224
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.25 1 APEX 0.984531 0.25 1 RAD 0.0078125
- txt224
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.265469 1 APEX 0.875 0.359531 1 RAD 0.0078125
- txt224
-TEXDEF txt224 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0 RAD 0.03125
- txt224
-TEXDEF txt224 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0 APEX 0.984531 0.375 0 RAD 0.0078125
- txt224
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0 APEX 0.875 0.484531 0 RAD 0.0078125
- txt225
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.0154687 APEX 0.875 0.375 0.109531 RAD 0.0078125
- txt225
-TEXDEF txt225 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0.125 RAD 0.03125
- txt225
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0.125 APEX 0.984531 0.375 0.125 RAD 0.0078125
- txt225
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0.125 APEX 0.875 0.484531 0.125 RAD 0.0078125
- txt225
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.140469 APEX 0.875 0.375 0.234531 RAD 0.0078125
- txt225
-TEXDEF txt225 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0.25 RAD 0.03125
- txt225
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0.25 APEX 0.984531 0.375 0.25 RAD 0.0078125
- txt225
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0.25 APEX 0.875 0.484531 0.25 RAD 0.0078125
- txt225
-TEXDEF txt225 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.265469 APEX 0.875 0.375 0.359531 RAD 0.0078125
- txt225
-TEXDEF txt226 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0.375 RAD 0.03125
- txt226
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0.375 APEX 0.984531 0.375 0.375 RAD 0.0078125
- txt226
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0.375 APEX 0.875 0.484531 0.375 RAD 0.0078125
- txt226
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.390469 APEX 0.875 0.375 0.484531 RAD 0.0078125
- txt226
-TEXDEF txt226 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0.5 RAD 0.03125
- txt226
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0.5 APEX 0.984531 0.375 0.5 RAD 0.0078125
- txt226
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0.5 APEX 0.875 0.484531 0.5 RAD 0.0078125
- txt226
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.515469 APEX 0.875 0.375 0.609531 RAD 0.0078125
- txt226
-TEXDEF txt226 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0.625 RAD 0.03125
- txt226
-TEXDEF txt226 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0.625 APEX 0.984531 0.375 0.625 RAD 0.0078125
- txt226
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0.625 APEX 0.875 0.484531 0.625 RAD 0.0078125
- txt227
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.640469 APEX 0.875 0.375 0.734531 RAD 0.0078125
- txt227
-TEXDEF txt227 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0.75 RAD 0.03125
- txt227
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0.75 APEX 0.984531 0.375 0.75 RAD 0.0078125
- txt227
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0.75 APEX 0.875 0.484531 0.75 RAD 0.0078125
- txt227
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.765469 APEX 0.875 0.375 0.859531 RAD 0.0078125
- txt227
-TEXDEF txt227 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 0.875 RAD 0.03125
- txt227
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 0.875 APEX 0.984531 0.375 0.875 RAD 0.0078125
- txt227
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 0.875 APEX 0.875 0.484531 0.875 RAD 0.0078125
- txt227
-TEXDEF txt227 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.375 0.890469 APEX 0.875 0.375 0.984531 RAD 0.0078125
- txt227
-TEXDEF txt228 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.375 1 RAD 0.03125
- txt228
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.375 1 APEX 0.984531 0.375 1 RAD 0.0078125
- txt228
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.390469 1 APEX 0.875 0.484531 1 RAD 0.0078125
- txt228
-TEXDEF txt228 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0 RAD 0.03125
- txt228
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0 APEX 0.984531 0.5 0 RAD 0.0078125
- txt228
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0 APEX 0.875 0.609531 0 RAD 0.0078125
- txt228
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.0154687 APEX 0.875 0.5 0.109531 RAD 0.0078125
- txt228
-TEXDEF txt228 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0.125 RAD 0.03125
- txt228
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0.125 APEX 0.984531 0.5 0.125 RAD 0.0078125
- txt228
-TEXDEF txt228 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0.125 APEX 0.875 0.609531 0.125 RAD 0.0078125
- txt228
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.140469 APEX 0.875 0.5 0.234531 RAD 0.0078125
- txt229
-TEXDEF txt229 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0.25 RAD 0.03125
- txt229
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0.25 APEX 0.984531 0.5 0.25 RAD 0.0078125
- txt229
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0.25 APEX 0.875 0.609531 0.25 RAD 0.0078125
- txt229
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.265469 APEX 0.875 0.5 0.359531 RAD 0.0078125
- txt229
-TEXDEF txt229 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0.375 RAD 0.03125
- txt229
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0.375 APEX 0.984531 0.5 0.375 RAD 0.0078125
- txt229
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0.375 APEX 0.875 0.609531 0.375 RAD 0.0078125
- txt229
-TEXDEF txt229 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.390469 APEX 0.875 0.5 0.484531 RAD 0.0078125
- txt229
-TEXDEF txt229 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0.5 RAD 0.03125
- txt229
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0.5 APEX 0.984531 0.5 0.5 RAD 0.0078125
- txt230
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0.5 APEX 0.875 0.609531 0.5 RAD 0.0078125
- txt230
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.515469 APEX 0.875 0.5 0.609531 RAD 0.0078125
- txt230
-TEXDEF txt230 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0.625 RAD 0.03125
- txt230
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0.625 APEX 0.984531 0.5 0.625 RAD 0.0078125
- txt230
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0.625 APEX 0.875 0.609531 0.625 RAD 0.0078125
- txt230
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.640469 APEX 0.875 0.5 0.734531 RAD 0.0078125
- txt230
-TEXDEF txt230 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0.75 RAD 0.03125
- txt230
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0.75 APEX 0.984531 0.5 0.75 RAD 0.0078125
- txt230
-TEXDEF txt230 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0.75 APEX 0.875 0.609531 0.75 RAD 0.0078125
- txt230
-TEXDEF txt231 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.765469 APEX 0.875 0.5 0.859531 RAD 0.0078125
- txt231
-TEXDEF txt231 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 0.875 RAD 0.03125
- txt231
-TEXDEF txt231 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 0.875 APEX 0.984531 0.5 0.875 RAD 0.0078125
- txt231
-TEXDEF txt231 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 0.875 APEX 0.875 0.609531 0.875 RAD 0.0078125
- txt231
-TEXDEF txt231 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.5 0.890469 APEX 0.875 0.5 0.984531 RAD 0.0078125
- txt231
-TEXDEF txt231 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.5 1 RAD 0.03125
- txt231
-TEXDEF txt231 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.5 1 APEX 0.984531 0.5 1 RAD 0.0078125
- txt231
-TEXDEF txt231 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.515469 1 APEX 0.875 0.609531 1 RAD 0.0078125
- txt231
-TEXDEF txt231 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0 RAD 0.03125
- txt231
-TEXDEF txt231 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0 APEX 0.984531 0.625 0 RAD 0.0078125
- txt231
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0 APEX 0.875 0.734531 0 RAD 0.0078125
- txt232
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.0154687 APEX 0.875 0.625 0.109531 RAD 0.0078125
- txt232
-TEXDEF txt232 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0.125 RAD 0.03125
- txt232
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0.125 APEX 0.984531 0.625 0.125 RAD 0.0078125
- txt232
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0.125 APEX 0.875 0.734531 0.125 RAD 0.0078125
- txt232
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.140469 APEX 0.875 0.625 0.234531 RAD 0.0078125
- txt232
-TEXDEF txt232 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0.25 RAD 0.03125
- txt232
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0.25 APEX 0.984531 0.625 0.25 RAD 0.0078125
- txt232
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0.25 APEX 0.875 0.734531 0.25 RAD 0.0078125
- txt232
-TEXDEF txt232 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.265469 APEX 0.875 0.625 0.359531 RAD 0.0078125
- txt232
-TEXDEF txt233 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0.375 RAD 0.03125
- txt233
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0.375 APEX 0.984531 0.625 0.375 RAD 0.0078125
- txt233
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0.375 APEX 0.875 0.734531 0.375 RAD 0.0078125
- txt233
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.390469 APEX 0.875 0.625 0.484531 RAD 0.0078125
- txt233
-TEXDEF txt233 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0.5 RAD 0.03125
- txt233
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0.5 APEX 0.984531 0.625 0.5 RAD 0.0078125
- txt233
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0.5 APEX 0.875 0.734531 0.5 RAD 0.0078125
- txt233
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.515469 APEX 0.875 0.625 0.609531 RAD 0.0078125
- txt233
-TEXDEF txt233 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0.625 RAD 0.03125
- txt233
-TEXDEF txt233 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0.625 APEX 0.984531 0.625 0.625 RAD 0.0078125
- txt233
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0.625 APEX 0.875 0.734531 0.625 RAD 0.0078125
- txt234
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.640469 APEX 0.875 0.625 0.734531 RAD 0.0078125
- txt234
-TEXDEF txt234 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0.75 RAD 0.03125
- txt234
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0.75 APEX 0.984531 0.625 0.75 RAD 0.0078125
- txt234
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0.75 APEX 0.875 0.734531 0.75 RAD 0.0078125
- txt234
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.765469 APEX 0.875 0.625 0.859531 RAD 0.0078125
- txt234
-TEXDEF txt234 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 0.875 RAD 0.03125
- txt234
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 0.875 APEX 0.984531 0.625 0.875 RAD 0.0078125
- txt234
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 0.875 APEX 0.875 0.734531 0.875 RAD 0.0078125
- txt234
-TEXDEF txt234 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.625 0.890469 APEX 0.875 0.625 0.984531 RAD 0.0078125
- txt234
-TEXDEF txt235 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.625 1 RAD 0.03125
- txt235
-TEXDEF txt235 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.625 1 APEX 0.984531 0.625 1 RAD 0.0078125
- txt235
-TEXDEF txt235 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.640469 1 APEX 0.875 0.734531 1 RAD 0.0078125
- txt235
-TEXDEF txt235 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0 RAD 0.03125
- txt235
-TEXDEF txt235 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0 APEX 0.984531 0.75 0 RAD 0.0078125
- txt235
-TEXDEF txt235 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0 APEX 0.875 0.859531 0 RAD 0.0078125
- txt235
-TEXDEF txt235 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.0154687 APEX 0.875 0.75 0.109531 RAD 0.0078125
- txt235
-TEXDEF txt235 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0.125 RAD 0.03125
- txt235
-TEXDEF txt235 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0.125 APEX 0.984531 0.75 0.125 RAD 0.0078125
- txt235
-TEXDEF txt235 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0.125 APEX 0.875 0.859531 0.125 RAD 0.0078125
- txt235
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.140469 APEX 0.875 0.75 0.234531 RAD 0.0078125
- txt236
-TEXDEF txt236 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0.25 RAD 0.03125
- txt236
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0.25 APEX 0.984531 0.75 0.25 RAD 0.0078125
- txt236
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0.25 APEX 0.875 0.859531 0.25 RAD 0.0078125
- txt236
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.265469 APEX 0.875 0.75 0.359531 RAD 0.0078125
- txt236
-TEXDEF txt236 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0.375 RAD 0.03125
- txt236
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0.375 APEX 0.984531 0.75 0.375 RAD 0.0078125
- txt236
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0.375 APEX 0.875 0.859531 0.375 RAD 0.0078125
- txt236
-TEXDEF txt236 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.390469 APEX 0.875 0.75 0.484531 RAD 0.0078125
- txt236
-TEXDEF txt236 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0.5 RAD 0.03125
- txt236
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0.5 APEX 0.984531 0.75 0.5 RAD 0.0078125
- txt237
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0.5 APEX 0.875 0.859531 0.5 RAD 0.0078125
- txt237
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.515469 APEX 0.875 0.75 0.609531 RAD 0.0078125
- txt237
-TEXDEF txt237 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0.625 RAD 0.03125
- txt237
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0.625 APEX 0.984531 0.75 0.625 RAD 0.0078125
- txt237
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0.625 APEX 0.875 0.859531 0.625 RAD 0.0078125
- txt237
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.640469 APEX 0.875 0.75 0.734531 RAD 0.0078125
- txt237
-TEXDEF txt237 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0.75 RAD 0.03125
- txt237
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0.75 APEX 0.984531 0.75 0.75 RAD 0.0078125
- txt237
-TEXDEF txt237 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0.75 APEX 0.875 0.859531 0.75 RAD 0.0078125
- txt237
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.765469 APEX 0.875 0.75 0.859531 RAD 0.0078125
- txt238
-TEXDEF txt238 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 0.875 RAD 0.03125
- txt238
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 0.875 APEX 0.984531 0.75 0.875 RAD 0.0078125
- txt238
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 0.875 APEX 0.875 0.859531 0.875 RAD 0.0078125
- txt238
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.75 0.890469 APEX 0.875 0.75 0.984531 RAD 0.0078125
- txt238
-TEXDEF txt238 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.75 1 RAD 0.03125
- txt238
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.75 1 APEX 0.984531 0.75 1 RAD 0.0078125
- txt238
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.765469 1 APEX 0.875 0.859531 1 RAD 0.0078125
- txt238
-TEXDEF txt238 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0 RAD 0.03125
- txt238
-TEXDEF txt238 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0 APEX 0.984531 0.875 0 RAD 0.0078125
- txt238
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0 APEX 0.875 0.984531 0 RAD 0.0078125
- txt239
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.0154687 APEX 0.875 0.875 0.109531 RAD 0.0078125
- txt239
-TEXDEF txt239 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0.125 RAD 0.03125
- txt239
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0.125 APEX 0.984531 0.875 0.125 RAD 0.0078125
- txt239
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0.125 APEX 0.875 0.984531 0.125 RAD 0.0078125
- txt239
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.140469 APEX 0.875 0.875 0.234531 RAD 0.0078125
- txt239
-TEXDEF txt239 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0.25 RAD 0.03125
- txt239
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0.25 APEX 0.984531 0.875 0.25 RAD 0.0078125
- txt239
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0.25 APEX 0.875 0.984531 0.25 RAD 0.0078125
- txt239
-TEXDEF txt239 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.265469 APEX 0.875 0.875 0.359531 RAD 0.0078125
- txt239
-TEXDEF txt240 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0.375 RAD 0.03125
- txt240
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0.375 APEX 0.984531 0.875 0.375 RAD 0.0078125
- txt240
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0.375 APEX 0.875 0.984531 0.375 RAD 0.0078125
- txt240
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.390469 APEX 0.875 0.875 0.484531 RAD 0.0078125
- txt240
-TEXDEF txt240 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0.5 RAD 0.03125
- txt240
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0.5 APEX 0.984531 0.875 0.5 RAD 0.0078125
- txt240
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0.5 APEX 0.875 0.984531 0.5 RAD 0.0078125
- txt240
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.515469 APEX 0.875 0.875 0.609531 RAD 0.0078125
- txt240
-TEXDEF txt240 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0.625 RAD 0.03125
- txt240
-TEXDEF txt240 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0.625 APEX 0.984531 0.875 0.625 RAD 0.0078125
- txt240
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0.625 APEX 0.875 0.984531 0.625 RAD 0.0078125
- txt241
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.640469 APEX 0.875 0.875 0.734531 RAD 0.0078125
- txt241
-TEXDEF txt241 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0.75 RAD 0.03125
- txt241
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0.75 APEX 0.984531 0.875 0.75 RAD 0.0078125
- txt241
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0.75 APEX 0.875 0.984531 0.75 RAD 0.0078125
- txt241
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.765469 APEX 0.875 0.875 0.859531 RAD 0.0078125
- txt241
-TEXDEF txt241 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 0.875 RAD 0.03125
- txt241
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 0.875 APEX 0.984531 0.875 0.875 RAD 0.0078125
- txt241
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 0.875 APEX 0.875 0.984531 0.875 RAD 0.0078125
- txt241
-TEXDEF txt241 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.875 0.890469 APEX 0.875 0.875 0.984531 RAD 0.0078125
- txt241
-TEXDEF txt242 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 0.875 1 RAD 0.03125
- txt242
-TEXDEF txt242 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 0.875 1 APEX 0.984531 0.875 1 RAD 0.0078125
- txt242
-TEXDEF txt242 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 0.890469 1 APEX 0.875 0.984531 1 RAD 0.0078125
- txt242
-TEXDEF txt242 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0 RAD 0.03125
- txt242
-TEXDEF txt242 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0 APEX 0.984531 1 0 RAD 0.0078125
- txt242
-TEXDEF txt242 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.0154687 APEX 0.875 1 0.109531 RAD 0.0078125
- txt242
-TEXDEF txt242 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0.125 RAD 0.03125
- txt242
-TEXDEF txt242 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0.125 APEX 0.984531 1 0.125 RAD 0.0078125
- txt242
-TEXDEF txt242 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.140469 APEX 0.875 1 0.234531 RAD 0.0078125
- txt242
-TEXDEF txt242 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0.25 RAD 0.03125
- txt242
-TEXDEF txt243 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0.25 APEX 0.984531 1 0.25 RAD 0.0078125
- txt243
-TEXDEF txt243 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.265469 APEX 0.875 1 0.359531 RAD 0.0078125
- txt243
-TEXDEF txt243 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0.375 RAD 0.03125
- txt243
-TEXDEF txt243 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0.375 APEX 0.984531 1 0.375 RAD 0.0078125
- txt243
-TEXDEF txt243 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.390469 APEX 0.875 1 0.484531 RAD 0.0078125
- txt243
-TEXDEF txt243 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0.5 RAD 0.03125
- txt243
-TEXDEF txt243 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0.5 APEX 0.984531 1 0.5 RAD 0.0078125
- txt243
-TEXDEF txt243 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.515469 APEX 0.875 1 0.609531 RAD 0.0078125
- txt243
-TEXDEF txt243 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0.625 RAD 0.03125
- txt243
-TEXDEF txt243 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0.625 APEX 0.984531 1 0.625 RAD 0.0078125
- txt243
-TEXDEF txt244 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.640469 APEX 0.875 1 0.734531 RAD 0.0078125
- txt244
-TEXDEF txt244 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0.75 RAD 0.03125
- txt244
-TEXDEF txt244 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0.75 APEX 0.984531 1 0.75 RAD 0.0078125
- txt244
-TEXDEF txt244 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.765469 APEX 0.875 1 0.859531 RAD 0.0078125
- txt244
-TEXDEF txt244 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 0.875 RAD 0.03125
- txt244
-TEXDEF txt244 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 0.875 APEX 0.984531 1 0.875 RAD 0.0078125
- txt244
-TEXDEF txt244 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.875 1 0.890469 APEX 0.875 1 0.984531 RAD 0.0078125
- txt244
-TEXDEF txt244 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 0.875 1 1 RAD 0.03125
- txt244
-TEXDEF txt244 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.9 0.1 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 0.890469 1 1 APEX 0.984531 1 1 RAD 0.0078125
- txt244
-TEXDEF txt244 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0 RAD 0.03125
- txt244
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0 APEX 1 0.109531 0 RAD 0.0078125
- txt245
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.0154687 APEX 1 0 0.109531 RAD 0.0078125
- txt245
-TEXDEF txt245 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0.125 RAD 0.03125
- txt245
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0.125 APEX 1 0.109531 0.125 RAD 0.0078125
- txt245
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.140469 APEX 1 0 0.234531 RAD 0.0078125
- txt245
-TEXDEF txt245 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0.25 RAD 0.03125
- txt245
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0.25 APEX 1 0.109531 0.25 RAD 0.0078125
- txt245
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.265469 APEX 1 0 0.359531 RAD 0.0078125
- txt245
-TEXDEF txt245 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0.375 RAD 0.03125
- txt245
-TEXDEF txt245 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0.375 APEX 1 0.109531 0.375 RAD 0.0078125
- txt245
-TEXDEF txt246 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.390469 APEX 1 0 0.484531 RAD 0.0078125
- txt246
-TEXDEF txt246 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0.5 RAD 0.03125
- txt246
-TEXDEF txt246 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0.5 APEX 1 0.109531 0.5 RAD 0.0078125
- txt246
-TEXDEF txt246 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.515469 APEX 1 0 0.609531 RAD 0.0078125
- txt246
-TEXDEF txt246 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0.625 RAD 0.03125
- txt246
-TEXDEF txt246 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0.625 APEX 1 0.109531 0.625 RAD 0.0078125
- txt246
-TEXDEF txt246 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.640469 APEX 1 0 0.734531 RAD 0.0078125
- txt246
-TEXDEF txt246 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0.75 RAD 0.03125
- txt246
-TEXDEF txt246 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0.75 APEX 1 0.109531 0.75 RAD 0.0078125
- txt246
-TEXDEF txt246 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.765469 APEX 1 0 0.859531 RAD 0.0078125
- txt246
-TEXDEF txt247 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 0.875 RAD 0.03125
- txt247
-TEXDEF txt247 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 0.875 APEX 1 0.109531 0.875 RAD 0.0078125
- txt247
-TEXDEF txt247 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0 0.890469 APEX 1 0 0.984531 RAD 0.0078125
- txt247
-TEXDEF txt247 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0 1 RAD 0.03125
- txt247
-TEXDEF txt247 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.0154687 1 APEX 1 0.109531 1 RAD 0.0078125
- txt247
-TEXDEF txt247 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0 RAD 0.03125
- txt247
-TEXDEF txt247 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0 APEX 1 0.234531 0 RAD 0.0078125
- txt247
-TEXDEF txt247 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.0154687 APEX 1 0.125 0.109531 RAD 0.0078125
- txt247
-TEXDEF txt247 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0.125 RAD 0.03125
- txt247
-TEXDEF txt247 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0.125 APEX 1 0.234531 0.125 RAD 0.0078125
- txt247
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.140469 APEX 1 0.125 0.234531 RAD 0.0078125
- txt248
-TEXDEF txt248 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0.25 RAD 0.03125
- txt248
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0.25 APEX 1 0.234531 0.25 RAD 0.0078125
- txt248
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.265469 APEX 1 0.125 0.359531 RAD 0.0078125
- txt248
-TEXDEF txt248 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0.375 RAD 0.03125
- txt248
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0.375 APEX 1 0.234531 0.375 RAD 0.0078125
- txt248
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.390469 APEX 1 0.125 0.484531 RAD 0.0078125
- txt248
-TEXDEF txt248 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0.5 RAD 0.03125
- txt248
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0.5 APEX 1 0.234531 0.5 RAD 0.0078125
- txt248
-TEXDEF txt248 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.515469 APEX 1 0.125 0.609531 RAD 0.0078125
- txt248
-TEXDEF txt249 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0.625 RAD 0.03125
- txt249
-TEXDEF txt249 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0.625 APEX 1 0.234531 0.625 RAD 0.0078125
- txt249
-TEXDEF txt249 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.640469 APEX 1 0.125 0.734531 RAD 0.0078125
- txt249
-TEXDEF txt249 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0.75 RAD 0.03125
- txt249
-TEXDEF txt249 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0.75 APEX 1 0.234531 0.75 RAD 0.0078125
- txt249
-TEXDEF txt249 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.765469 APEX 1 0.125 0.859531 RAD 0.0078125
- txt249
-TEXDEF txt249 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 0.875 RAD 0.03125
- txt249
-TEXDEF txt249 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 0.875 APEX 1 0.234531 0.875 RAD 0.0078125
- txt249
-TEXDEF txt249 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.125 0.890469 APEX 1 0.125 0.984531 RAD 0.0078125
- txt249
-TEXDEF txt249 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.125 1 RAD 0.03125
- txt249
-TEXDEF txt250 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.140469 1 APEX 1 0.234531 1 RAD 0.0078125
- txt250
-TEXDEF txt250 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0 RAD 0.03125
- txt250
-TEXDEF txt250 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0 APEX 1 0.359531 0 RAD 0.0078125
- txt250
-TEXDEF txt250 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.0154687 APEX 1 0.25 0.109531 RAD 0.0078125
- txt250
-TEXDEF txt250 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0.125 RAD 0.03125
- txt250
-TEXDEF txt250 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0.125 APEX 1 0.359531 0.125 RAD 0.0078125
- txt250
-TEXDEF txt250 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.140469 APEX 1 0.25 0.234531 RAD 0.0078125
- txt250
-TEXDEF txt250 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0.25 RAD 0.03125
- txt250
-TEXDEF txt250 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0.25 APEX 1 0.359531 0.25 RAD 0.0078125
- txt250
-TEXDEF txt250 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.265469 APEX 1 0.25 0.359531 RAD 0.0078125
- txt250
-TEXDEF txt251 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0.375 RAD 0.03125
- txt251
-TEXDEF txt251 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0.375 APEX 1 0.359531 0.375 RAD 0.0078125
- txt251
-TEXDEF txt251 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.390469 APEX 1 0.25 0.484531 RAD 0.0078125
- txt251
-TEXDEF txt251 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0.5 RAD 0.03125
- txt251
-TEXDEF txt251 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0.5 APEX 1 0.359531 0.5 RAD 0.0078125
- txt251
-TEXDEF txt251 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.515469 APEX 1 0.25 0.609531 RAD 0.0078125
- txt251
-TEXDEF txt251 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0.625 RAD 0.03125
- txt251
-TEXDEF txt251 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0.625 APEX 1 0.359531 0.625 RAD 0.0078125
- txt251
-TEXDEF txt251 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.640469 APEX 1 0.25 0.734531 RAD 0.0078125
- txt251
-TEXDEF txt251 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0.75 RAD 0.03125
- txt251
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0.75 APEX 1 0.359531 0.75 RAD 0.0078125
- txt252
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.765469 APEX 1 0.25 0.859531 RAD 0.0078125
- txt252
-TEXDEF txt252 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 0.875 RAD 0.03125
- txt252
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 0.875 APEX 1 0.359531 0.875 RAD 0.0078125
- txt252
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.25 0.890469 APEX 1 0.25 0.984531 RAD 0.0078125
- txt252
-TEXDEF txt252 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.25 1 RAD 0.03125
- txt252
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.265469 1 APEX 1 0.359531 1 RAD 0.0078125
- txt252
-TEXDEF txt252 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0 RAD 0.03125
- txt252
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0 APEX 1 0.484531 0 RAD 0.0078125
- txt252
-TEXDEF txt252 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.0154687 APEX 1 0.375 0.109531 RAD 0.0078125
- txt252
-TEXDEF txt253 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0.125 RAD 0.03125
- txt253
-TEXDEF txt253 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0.125 APEX 1 0.484531 0.125 RAD 0.0078125
- txt253
-TEXDEF txt253 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.140469 APEX 1 0.375 0.234531 RAD 0.0078125
- txt253
-TEXDEF txt253 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0.25 RAD 0.03125
- txt253
-TEXDEF txt253 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0.25 APEX 1 0.484531 0.25 RAD 0.0078125
- txt253
-TEXDEF txt253 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.265469 APEX 1 0.375 0.359531 RAD 0.0078125
- txt253
-TEXDEF txt253 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0.375 RAD 0.03125
- txt253
-TEXDEF txt253 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0.375 APEX 1 0.484531 0.375 RAD 0.0078125
- txt253
-TEXDEF txt253 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.390469 APEX 1 0.375 0.484531 RAD 0.0078125
- txt253
-TEXDEF txt253 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0.5 RAD 0.03125
- txt253
-TEXDEF txt254 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0.5 APEX 1 0.484531 0.5 RAD 0.0078125
- txt254
-TEXDEF txt254 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.515469 APEX 1 0.375 0.609531 RAD 0.0078125
- txt254
-TEXDEF txt254 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0.625 RAD 0.03125
- txt254
-TEXDEF txt254 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0.625 APEX 1 0.484531 0.625 RAD 0.0078125
- txt254
-TEXDEF txt254 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.640469 APEX 1 0.375 0.734531 RAD 0.0078125
- txt254
-TEXDEF txt254 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0.75 RAD 0.03125
- txt254
-TEXDEF txt254 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0.75 APEX 1 0.484531 0.75 RAD 0.0078125
- txt254
-TEXDEF txt254 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.765469 APEX 1 0.375 0.859531 RAD 0.0078125
- txt254
-TEXDEF txt254 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 0.875 RAD 0.03125
- txt254
-TEXDEF txt254 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 0.875 APEX 1 0.484531 0.875 RAD 0.0078125
- txt254
-TEXDEF txt255 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.375 0.890469 APEX 1 0.375 0.984531 RAD 0.0078125
- txt255
-TEXDEF txt255 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.375 1 RAD 0.03125
- txt255
-TEXDEF txt255 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.390469 1 APEX 1 0.484531 1 RAD 0.0078125
- txt255
-TEXDEF txt255 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0 RAD 0.03125
- txt255
-TEXDEF txt255 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0 APEX 1 0.609531 0 RAD 0.0078125
- txt255
-TEXDEF txt255 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.0154687 APEX 1 0.5 0.109531 RAD 0.0078125
- txt255
-TEXDEF txt255 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0.125 RAD 0.03125
- txt255
-TEXDEF txt255 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0.125 APEX 1 0.609531 0.125 RAD 0.0078125
- txt255
-TEXDEF txt255 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.140469 APEX 1 0.5 0.234531 RAD 0.0078125
- txt255
-TEXDEF txt255 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0.25 RAD 0.03125
- txt255
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0.25 APEX 1 0.609531 0.25 RAD 0.0078125
- txt256
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.265469 APEX 1 0.5 0.359531 RAD 0.0078125
- txt256
-TEXDEF txt256 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0.375 RAD 0.03125
- txt256
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0.375 APEX 1 0.609531 0.375 RAD 0.0078125
- txt256
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.390469 APEX 1 0.5 0.484531 RAD 0.0078125
- txt256
-TEXDEF txt256 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0.5 RAD 0.03125
- txt256
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0.5 APEX 1 0.609531 0.5 RAD 0.0078125
- txt256
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.515469 APEX 1 0.5 0.609531 RAD 0.0078125
- txt256
-TEXDEF txt256 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0.625 RAD 0.03125
- txt256
-TEXDEF txt256 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0.625 APEX 1 0.609531 0.625 RAD 0.0078125
- txt256
-TEXDEF txt257 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.640469 APEX 1 0.5 0.734531 RAD 0.0078125
- txt257
-TEXDEF txt257 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0.75 RAD 0.03125
- txt257
-TEXDEF txt257 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0.75 APEX 1 0.609531 0.75 RAD 0.0078125
- txt257
-TEXDEF txt257 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.765469 APEX 1 0.5 0.859531 RAD 0.0078125
- txt257
-TEXDEF txt257 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 0.875 RAD 0.03125
- txt257
-TEXDEF txt257 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 0.875 APEX 1 0.609531 0.875 RAD 0.0078125
- txt257
-TEXDEF txt257 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.5 0.890469 APEX 1 0.5 0.984531 RAD 0.0078125
- txt257
-TEXDEF txt257 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.5 1 RAD 0.03125
- txt257
-TEXDEF txt257 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.515469 1 APEX 1 0.609531 1 RAD 0.0078125
- txt257
-TEXDEF txt257 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0 RAD 0.03125
- txt257
-TEXDEF txt258 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0 APEX 1 0.734531 0 RAD 0.0078125
- txt258
-TEXDEF txt258 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.0154687 APEX 1 0.625 0.109531 RAD 0.0078125
- txt258
-TEXDEF txt258 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0.125 RAD 0.03125
- txt258
-TEXDEF txt258 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0.125 APEX 1 0.734531 0.125 RAD 0.0078125
- txt258
-TEXDEF txt258 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.140469 APEX 1 0.625 0.234531 RAD 0.0078125
- txt258
-TEXDEF txt258 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0.25 RAD 0.03125
- txt258
-TEXDEF txt258 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0.25 APEX 1 0.734531 0.25 RAD 0.0078125
- txt258
-TEXDEF txt258 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.265469 APEX 1 0.625 0.359531 RAD 0.0078125
- txt258
-TEXDEF txt258 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0.375 RAD 0.03125
- txt258
-TEXDEF txt258 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0.375 APEX 1 0.734531 0.375 RAD 0.0078125
- txt258
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.390469 APEX 1 0.625 0.484531 RAD 0.0078125
- txt259
-TEXDEF txt259 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0.5 RAD 0.03125
- txt259
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0.5 APEX 1 0.734531 0.5 RAD 0.0078125
- txt259
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.515469 APEX 1 0.625 0.609531 RAD 0.0078125
- txt259
-TEXDEF txt259 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0.625 RAD 0.03125
- txt259
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0.625 APEX 1 0.734531 0.625 RAD 0.0078125
- txt259
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.640469 APEX 1 0.625 0.734531 RAD 0.0078125
- txt259
-TEXDEF txt259 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0.75 RAD 0.03125
- txt259
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0.75 APEX 1 0.734531 0.75 RAD 0.0078125
- txt259
-TEXDEF txt259 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.765469 APEX 1 0.625 0.859531 RAD 0.0078125
- txt259
-TEXDEF txt260 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 0.875 RAD 0.03125
- txt260
-TEXDEF txt260 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 0.875 APEX 1 0.734531 0.875 RAD 0.0078125
- txt260
-TEXDEF txt260 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.625 0.890469 APEX 1 0.625 0.984531 RAD 0.0078125
- txt260
-TEXDEF txt260 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.625 1 RAD 0.03125
- txt260
-TEXDEF txt260 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.640469 1 APEX 1 0.734531 1 RAD 0.0078125
- txt260
-TEXDEF txt260 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0 RAD 0.03125
- txt260
-TEXDEF txt260 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0 APEX 1 0.859531 0 RAD 0.0078125
- txt260
-TEXDEF txt260 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.0154687 APEX 1 0.75 0.109531 RAD 0.0078125
- txt260
-TEXDEF txt260 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0.125 RAD 0.03125
- txt260
-TEXDEF txt260 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0.125 APEX 1 0.859531 0.125 RAD 0.0078125
- txt260
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.140469 APEX 1 0.75 0.234531 RAD 0.0078125
- txt261
-TEXDEF txt261 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0.25 RAD 0.03125
- txt261
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0.25 APEX 1 0.859531 0.25 RAD 0.0078125
- txt261
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.265469 APEX 1 0.75 0.359531 RAD 0.0078125
- txt261
-TEXDEF txt261 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0.375 RAD 0.03125
- txt261
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0.375 APEX 1 0.859531 0.375 RAD 0.0078125
- txt261
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.390469 APEX 1 0.75 0.484531 RAD 0.0078125
- txt261
-TEXDEF txt261 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0.5 RAD 0.03125
- txt261
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0.5 APEX 1 0.859531 0.5 RAD 0.0078125
- txt261
-TEXDEF txt261 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.515469 APEX 1 0.75 0.609531 RAD 0.0078125
- txt261
-TEXDEF txt262 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0.625 RAD 0.03125
- txt262
-TEXDEF txt262 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0.625 APEX 1 0.859531 0.625 RAD 0.0078125
- txt262
-TEXDEF txt262 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.640469 APEX 1 0.75 0.734531 RAD 0.0078125
- txt262
-TEXDEF txt262 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0.75 RAD 0.03125
- txt262
-TEXDEF txt262 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0.75 APEX 1 0.859531 0.75 RAD 0.0078125
- txt262
-TEXDEF txt262 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.765469 APEX 1 0.75 0.859531 RAD 0.0078125
- txt262
-TEXDEF txt262 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 0.875 RAD 0.03125
- txt262
-TEXDEF txt262 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 0.875 APEX 1 0.859531 0.875 RAD 0.0078125
- txt262
-TEXDEF txt262 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.75 0.890469 APEX 1 0.75 0.984531 RAD 0.0078125
- txt262
-TEXDEF txt262 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.75 1 RAD 0.03125
- txt262
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.765469 1 APEX 1 0.859531 1 RAD 0.0078125
- txt263
-TEXDEF txt263 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0 RAD 0.03125
- txt263
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0 APEX 1 0.984531 0 RAD 0.0078125
- txt263
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.0154687 APEX 1 0.875 0.109531 RAD 0.0078125
- txt263
-TEXDEF txt263 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0.125 RAD 0.03125
- txt263
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0.125 APEX 1 0.984531 0.125 RAD 0.0078125
- txt263
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.140469 APEX 1 0.875 0.234531 RAD 0.0078125
- txt263
-TEXDEF txt263 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0.25 RAD 0.03125
- txt263
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0.25 APEX 1 0.984531 0.25 RAD 0.0078125
- txt263
-TEXDEF txt263 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.265469 APEX 1 0.875 0.359531 RAD 0.0078125
- txt263
-TEXDEF txt264 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0.375 RAD 0.03125
- txt264
-TEXDEF txt264 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0.375 APEX 1 0.984531 0.375 RAD 0.0078125
- txt264
-TEXDEF txt264 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.390469 APEX 1 0.875 0.484531 RAD 0.0078125
- txt264
-TEXDEF txt264 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0.5 RAD 0.03125
- txt264
-TEXDEF txt264 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0.5 APEX 1 0.984531 0.5 RAD 0.0078125
- txt264
-TEXDEF txt264 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.515469 APEX 1 0.875 0.609531 RAD 0.0078125
- txt264
-TEXDEF txt264 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0.625 RAD 0.03125
- txt264
-TEXDEF txt264 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0.625 APEX 1 0.984531 0.625 RAD 0.0078125
- txt264
-TEXDEF txt264 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.640469 APEX 1 0.875 0.734531 RAD 0.0078125
- txt264
-TEXDEF txt264 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0.75 RAD 0.03125
- txt264
-TEXDEF txt265 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0.75 APEX 1 0.984531 0.75 RAD 0.0078125
- txt265
-TEXDEF txt265 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.765469 APEX 1 0.875 0.859531 RAD 0.0078125
- txt265
-TEXDEF txt265 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 0.875 RAD 0.03125
- txt265
-TEXDEF txt265 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 0.875 APEX 1 0.984531 0.875 RAD 0.0078125
- txt265
-TEXDEF txt265 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.875 0.890469 APEX 1 0.875 0.984531 RAD 0.0078125
- txt265
-TEXDEF txt265 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 0.875 1 RAD 0.03125
- txt265
-TEXDEF txt265 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.9 0.1
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 0.890469 1 APEX 1 0.984531 1 RAD 0.0078125
- txt265
-TEXDEF txt265 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0 RAD 0.03125
- txt265
-TEXDEF txt265 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.0154687 APEX 1 1 0.109531 RAD 0.0078125
- txt265
-TEXDEF txt265 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0.125 RAD 0.03125
- txt265
-TEXDEF txt266 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.140469 APEX 1 1 0.234531 RAD 0.0078125
- txt266
-TEXDEF txt266 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0.25 RAD 0.03125
- txt266
-TEXDEF txt266 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.265469 APEX 1 1 0.359531 RAD 0.0078125
- txt266
-TEXDEF txt266 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0.375 RAD 0.03125
- txt266
-TEXDEF txt266 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.390469 APEX 1 1 0.484531 RAD 0.0078125
- txt266
-TEXDEF txt266 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0.5 RAD 0.03125
- txt266
-TEXDEF txt266 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.515469 APEX 1 1 0.609531 RAD 0.0078125
- txt266
-TEXDEF txt266 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0.625 RAD 0.03125
- txt266
-TEXDEF txt266 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.640469 APEX 1 1 0.734531 RAD 0.0078125
- txt266
-TEXDEF txt266 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0.75 RAD 0.03125
- txt266
-TEXDEF txt267 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.765469 APEX 1 1 0.859531 RAD 0.0078125
- txt267
-TEXDEF txt267 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 0.875 RAD 0.03125
- txt267
-TEXDEF txt267 AMBIENT 0.1 DIFFUSE 0.99 SPECULAR 0 OPACITY 1
- COLOR 0.1 0.1 0.9
- TEXFUNC 0
-
-FCYLINDER
- BASE 1 1 0.890469 APEX 1 1 0.984531 RAD 0.0078125
- txt267
-TEXDEF txt267 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
- COLOR 0.9 0.9 0.9
- TEXFUNC 0
-
- SPHERE CENTER 1 1 1 RAD 0.03125
- txt267
-
-END_SCENE
+++ /dev/null
-BEGIN_SCENE
- OUTFILE /dev/null
- RESOLUTION 512 512
- VERBOSE 0
-
-CAMERA
- ZOOM 1.0
- ASPECTRATIO 1.0
- ANTIALIASING 1
- RAYDEPTH 12
- CENTER 0.0 0.0 -5.0
- VIEWDIR 0.0 0.0 1.0
- UPDIR 0.0 1.0 0.0
-END_CAMERA
-
-LIGHT
- CENTER -5.0 0.0 -4.0
- RAD 0.2
- COLOR 1.0 0.1 0.0
-
-LIGHT
- CENTER 4.0 5.0 -4.0
- RAD 0.2
- COLOR 0.0 0.1 1.0
-
-LIGHT
- CENTER 4.0 1.5 3.0
- RAD 0.2
- COLOR 0.5 0.5 0.5
-
-TRI
- V0 0.0 -4.0 12.0
- V1 4.0 -4.0 8.0
- V2 -4.0 -4.0 8.0
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.2 SPECULAR 0.7 OPACITY 1.0
- COLOR 1.0 1.0 1.0
- TEXFUNC 0
-
-SPHERE
- CENTER 0.0 0.0 5.0
- RAD 1.3
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.0 SPECULAR 0.9 OPACITY 1.0
- COLOR 1.0 1.0 1.0
- TEXFUNC 0
-
-SPHERE
- CENTER 1.0 0.0 4.3
- RAD 0.8
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- COLOR 0.3 0.3 1.0
- TEXFUNC 3
- CENTER 1.0 0.0 4.3
- ROTATE 0. 0.0 0.0
- SCALE 1.0 1.0 1.0
-
-SPHERE
- CENTER 0.0 2.0 8.0
- RAD 1.0
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- COLOR 1.0 0.0 1.0
- TEXFUNC 4
- CENTER 0.0 1.0 8.0
- ROTATE 0. 0.0 0.0
- SCALE 1.0 1.0 1.0
-
-SPHERE
- CENTER -1.0 -0.5 5.0
- RAD 1.0
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- COLOR 1.0 1.0 0.5
- TEXFUNC 6
- CENTER -1.0 -0.5 5.0
- ROTATE 0. 0.0 0.0
- SCALE 1.0 1.0 1.0
-
-PLANE
- CENTER 0.0 -5.0 0.0
- NORMAL 0.0 1.0 0.0
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- COLOR 1.0 1.0 1.0
- TEXFUNC 1
- CENTER 0.0 -5.0 0.0
- ROTATE 0. 0.0 0.0
- SCALE 1.0 1.0 1.0
-
-PLANE
- CENTER 0.0 0.0 15.0
- NORMAL 0.0 0.0 -1.0
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- COLOR 1.0 1.0 1.0
- TEXFUNC 3
- CENTER 0.0 0.0 15.0
- ROTATE 0. 0.0 0.0
- SCALE 1.0 1.0 1.0
-
-END_SCENE
-
+++ /dev/null
-BEGIN_SCENE
- OUTFILE /dev/null
- RESOLUTION 512 512
- VERBOSE 0
-
-CAMERA
- ZOOM 1.20711
-ASPECTRATIO 1.0
- ANTIALIASING 0
- RAYDEPTH 5
- CENTER 4.86 7.2 5.4
- VIEWDIR -0.475149 -0.703924 -0.527943
- UPDIR -0.29537 -0.437585 0.84928
-
-END_CAMERA
-
-BACKGROUND 0.078 0.361 0.753
-
-LIGHT CENTER -3.1 9.8 12.1 RAD 0.002 COLOR 0.5 0.5 0.5
-
-LIGHT CENTER 11.3 5.1 8.8 RAD 0.002 COLOR 0.5 0.5 0.5
-
-TEXDEF txt001 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
-PHONG METAL 0.5 PHONG_SIZE 4.81884
- COLOR 1 1 1
- TEXFUNC 0
-
-TRI
- V0 -4 -2.66667 0 V1 -2.66667 -2.66667 0 V2 -4 -1.33333 0
- txt001
-TRI
- V0 -2.66667 -2.66667 0 V1 -2.66667 -1.33333 0 V2 -4 -1.33333 0
- txt001
-TRI
- V0 -4 0 0 V1 -2.66667 0 0 V2 -4 1.33333 0
- txt001
-TRI
- V0 -2.66667 0 0 V1 -2.66667 1.33333 0 V2 -4 1.33333 0
- txt001
-TRI
- V0 -4 2.66667 0 V1 -2.66667 2.66667 0 V2 -4 4 0
- txt001
-TRI
- V0 -2.66667 2.66667 0 V1 -2.66667 4 0 V2 -4 4 0
- txt001
-TRI
- V0 -2.66667 -4 0 V1 -1.33333 -4 0 V2 -2.66667 -2.66667 0
- txt001
-TRI
- V0 -1.33333 -4 0 V1 -1.33333 -2.66667 0 V2 -2.66667 -2.66667 0
- txt001
-TRI
- V0 -2.66667 -1.33333 0 V1 -1.33333 -1.33333 0 V2 -2.66667 0 0
- txt001
-TRI
- V0 -1.33333 -1.33333 0 V1 -1.33333 0 0 V2 -2.66667 0 0
- txt001
-TRI
- V0 -2.66667 1.33333 0 V1 -1.33333 1.33333 0 V2 -2.66667 2.66667 0
- txt001
-TRI
- V0 -1.33333 1.33333 0 V1 -1.33333 2.66667 0 V2 -2.66667 2.66667 0
- txt001
-TRI
- V0 -1.33333 -2.66667 0 V1 0 -2.66667 0 V2 -1.33333 -1.33333 0
- txt001
-TRI
- V0 0 -2.66667 0 V1 0 -1.33333 0 V2 -1.33333 -1.33333 0
- txt001
-TRI
- V0 -1.33333 0 0 V1 0 0 0 V2 -1.33333 1.33333 0
- txt001
-TRI
- V0 0 0 0 V1 0 1.33333 0 V2 -1.33333 1.33333 0
- txt001
-TRI
- V0 -1.33333 2.66667 0 V1 0 2.66667 0 V2 -1.33333 4 0
- txt001
-TRI
- V0 0 2.66667 0 V1 0 4 0 V2 -1.33333 4 0
- txt001
-TRI
- V0 0 -4 0 V1 1.33333 -4 0 V2 0 -2.66667 0
- txt001
-TRI
- V0 1.33333 -4 0 V1 1.33333 -2.66667 0 V2 0 -2.66667 0
- txt001
-TRI
- V0 0 -1.33333 0 V1 1.33333 -1.33333 0 V2 0 0 0
- txt001
-TRI
- V0 1.33333 -1.33333 0 V1 1.33333 0 0 V2 0 0 0
- txt001
-TRI
- V0 0 1.33333 0 V1 1.33333 1.33333 0 V2 0 2.66667 0
- txt001
-TRI
- V0 1.33333 1.33333 0 V1 1.33333 2.66667 0 V2 0 2.66667 0
- txt001
-TRI
- V0 1.33333 -2.66667 0 V1 2.66667 -2.66667 0 V2 1.33333 -1.33333 0
- txt001
-TRI
- V0 2.66667 -2.66667 0 V1 2.66667 -1.33333 0 V2 1.33333 -1.33333 0
- txt001
-TRI
- V0 1.33333 0 0 V1 2.66667 0 0 V2 1.33333 1.33333 0
- txt001
-TRI
- V0 2.66667 0 0 V1 2.66667 1.33333 0 V2 1.33333 1.33333 0
- txt001
-TRI
- V0 1.33333 2.66667 0 V1 2.66667 2.66667 0 V2 1.33333 4 0
- txt001
-TRI
- V0 2.66667 2.66667 0 V1 2.66667 4 0 V2 1.33333 4 0
- txt001
-TRI
- V0 2.66667 -4 0 V1 4 -4 0 V2 2.66667 -2.66667 0
- txt001
-TRI
- V0 4 -4 0 V1 4 -2.66667 0 V2 2.66667 -2.66667 0
- txt001
-TRI
- V0 2.66667 -1.33333 0 V1 4 -1.33333 0 V2 2.66667 0 0
- txt001
-TRI
- V0 4 -1.33333 0 V1 4 0 0 V2 2.66667 0 0
- txt001
-TRI
- V0 2.66667 1.33333 0 V1 4 1.33333 0 V2 2.66667 2.66667 0
- txt001
-TRI
- V0 4 1.33333 0 V1 4 2.66667 0 V2 2.66667 2.66667 0
- txt001
-TEXDEF txt002 AMBIENT 0 DIFFUSE 0.5 SPECULAR 0.5 OPACITY 1
-PHONG METAL 0.5 PHONG_SIZE 4.81884
- COLOR 0.5 0.5 0.5
- TEXFUNC 0
-
-TRI
- V0 -4 -4 0 V1 -2.66667 -4 0 V2 -4 -2.66667 0
- txt002
-TRI
- V0 -2.66667 -4 0 V1 -2.66667 -2.66667 0 V2 -4 -2.66667 0
- txt002
-TRI
- V0 -4 -1.33333 0 V1 -2.66667 -1.33333 0 V2 -4 0 0
- txt002
-TRI
- V0 -2.66667 -1.33333 0 V1 -2.66667 0 0 V2 -4 0 0
- txt002
-TRI
- V0 -4 1.33333 0 V1 -2.66667 1.33333 0 V2 -4 2.66667 0
- txt002
-TRI
- V0 -2.66667 1.33333 0 V1 -2.66667 2.66667 0 V2 -4 2.66667 0
- txt002
-TRI
- V0 -2.66667 -2.66667 0 V1 -1.33333 -2.66667 0 V2 -2.66667 -1.33333 0
- txt002
-TRI
- V0 -1.33333 -2.66667 0 V1 -1.33333 -1.33333 0 V2 -2.66667 -1.33333 0
- txt002
-TRI
- V0 -2.66667 0 0 V1 -1.33333 0 0 V2 -2.66667 1.33333 0
- txt002
-TRI
- V0 -1.33333 0 0 V1 -1.33333 1.33333 0 V2 -2.66667 1.33333 0
- txt002
-TRI
- V0 -2.66667 2.66667 0 V1 -1.33333 2.66667 0 V2 -2.66667 4 0
- txt002
-TRI
- V0 -1.33333 2.66667 0 V1 -1.33333 4 0 V2 -2.66667 4 0
- txt002
-TRI
- V0 -1.33333 -4 0 V1 0 -4 0 V2 -1.33333 -2.66667 0
- txt002
-TRI
- V0 0 -4 0 V1 0 -2.66667 0 V2 -1.33333 -2.66667 0
- txt002
-TRI
- V0 -1.33333 -1.33333 0 V1 0 -1.33333 0 V2 -1.33333 0 0
- txt002
-TRI
- V0 0 -1.33333 0 V1 0 0 0 V2 -1.33333 0 0
- txt002
-TRI
- V0 -1.33333 1.33333 0 V1 0 1.33333 0 V2 -1.33333 2.66667 0
- txt002
-TRI
- V0 0 1.33333 0 V1 0 2.66667 0 V2 -1.33333 2.66667 0
- txt002
-TRI
- V0 0 -2.66667 0 V1 1.33333 -2.66667 0 V2 0 -1.33333 0
- txt002
-TRI
- V0 1.33333 -2.66667 0 V1 1.33333 -1.33333 0 V2 0 -1.33333 0
- txt002
-TRI
- V0 0 0 0 V1 1.33333 0 0 V2 0 1.33333 0
- txt002
-TRI
- V0 1.33333 0 0 V1 1.33333 1.33333 0 V2 0 1.33333 0
- txt002
-TRI
- V0 0 2.66667 0 V1 1.33333 2.66667 0 V2 0 4 0
- txt002
-TRI
- V0 1.33333 2.66667 0 V1 1.33333 4 0 V2 0 4 0
- txt002
-TRI
- V0 1.33333 -4 0 V1 2.66667 -4 0 V2 1.33333 -2.66667 0
- txt002
-TRI
- V0 2.66667 -4 0 V1 2.66667 -2.66667 0 V2 1.33333 -2.66667 0
- txt002
-TRI
- V0 1.33333 -1.33333 0 V1 2.66667 -1.33333 0 V2 1.33333 0 0
- txt002
-TRI
- V0 2.66667 -1.33333 0 V1 2.66667 0 0 V2 1.33333 0 0
- txt002
-TRI
- V0 1.33333 1.33333 0 V1 2.66667 1.33333 0 V2 1.33333 2.66667 0
- txt002
-TRI
- V0 2.66667 1.33333 0 V1 2.66667 2.66667 0 V2 1.33333 2.66667 0
- txt002
-TRI
- V0 2.66667 -2.66667 0 V1 4 -2.66667 0 V2 2.66667 -1.33333 0
- txt002
-TRI
- V0 4 -2.66667 0 V1 4 -1.33333 0 V2 2.66667 -1.33333 0
- txt002
-TRI
- V0 2.66667 0 0 V1 4 0 0 V2 2.66667 1.33333 0
- txt002
-TRI
- V0 4 0 0 V1 4 1.33333 0 V2 2.66667 1.33333 0
- txt002
-TRI
- V0 2.66667 2.66667 0 V1 4 2.66667 0 V2 2.66667 4 0
- txt002
-TRI
- V0 4 2.66667 0 V1 4 4 0 V2 2.66667 4 0
- txt002
-TEXDEF txt003 AMBIENT 0 DIFFUSE 0.75 SPECULAR 0.25 OPACITY 1
-PHONG PLASTIC 0.25 PHONG_SIZE 45.2776
- COLOR 1 0.5 0.1
- TEXFUNC 0
-
-STRI
- V0 1.4 0 2.4 V1 1.35074 -0.375926 2.4 V2 1.33276 -0.370922 2.45469
- N0 -0.902861 -0 -0.429934 N1 -0.871509 0.234929 -0.430442 N2 -0.953562 0.257047 -0.156989
- txt003
-STRI
- V0 1.33276 -0.370922 2.45469 V1 1.38137 0 2.45469 V2 1.4 0 2.4
- N0 -0.953562 0.257047 -0.156989 N1 -0.987636 -0 -0.156768 N2 -0.902861 -0 -0.429934
- txt003
-STRI
- V0 1.35074 -0.375926 2.4 V1 1.21126 -0.711407 2.4 V2 1.19514 -0.701938 2.45469
- N0 -0.871509 0.234929 -0.430442 N1 -0.780517 0.4527 -0.43111 N2 -0.854265 0.495474 -0.157281
- txt003
-STRI
- V0 1.19514 -0.701938 2.45469 V1 1.33276 -0.370922 2.45469 V2 1.35074 -0.375926 2.4
- N0 -0.854265 0.495474 -0.157281 N1 -0.953562 0.257047 -0.156989 N2 -0.871509 0.234929 -0.430442
- txt003
-STRI
- V0 1.21126 -0.711407 2.4 V1 0.994 -0.994 2.4 V2 0.98077 -0.98077 2.45469
- N0 -0.780517 0.4527 -0.43111 N1 -0.637936 0.637936 -0.431366 N2 -0.698293 0.698293 -0.157393
- txt003
-STRI
- V0 0.98077 -0.98077 2.45469 V1 1.19514 -0.701938 2.45469 V2 1.21126 -0.711407 2.4
- N0 -0.698293 0.698293 -0.157393 N1 -0.854265 0.495474 -0.157281 N2 -0.780517 0.4527 -0.43111
- txt003
-STRI
- V0 0.994 -0.994 2.4 V1 0.711407 -1.21126 2.4 V2 0.701938 -1.19514 2.45469
- N0 -0.637936 0.637936 -0.431366 N1 -0.4527 0.780517 -0.43111 N2 -0.495474 0.854265 -0.157281
- txt003
-STRI
- V0 0.701938 -1.19514 2.45469 V1 0.98077 -0.98077 2.45469 V2 0.994 -0.994 2.4
- N0 -0.495474 0.854265 -0.157281 N1 -0.698293 0.698293 -0.157393 N2 -0.637936 0.637936 -0.431366
- txt003
-STRI
- V0 0.711407 -1.21126 2.4 V1 0.375926 -1.35074 2.4 V2 0.370922 -1.33276 2.45469
- N0 -0.4527 0.780517 -0.43111 N1 -0.234929 0.871509 -0.430442 N2 -0.257047 0.953562 -0.156989
- txt003
-STRI
- V0 0.370922 -1.33276 2.45469 V1 0.701938 -1.19514 2.45469 V2 0.711407 -1.21126 2.4
- N0 -0.257047 0.953562 -0.156989 N1 -0.495474 0.854265 -0.157281 N2 -0.4527 0.780517 -0.43111
- txt003
-STRI
- V0 0.375926 -1.35074 2.4 V1 0 -1.4 2.4 V2 0 -1.38137 2.45469
- N0 -0.234929 0.871509 -0.430442 N1 7.30595e-17 0.902861 -0.429934 N2 -9.89971e-17 0.987636 -0.156768
- txt003
-STRI
- V0 0 -1.38137 2.45469 V1 0.370922 -1.33276 2.45469 V2 0.375926 -1.35074 2.4
- N0 -9.89971e-17 0.987636 -0.156768 N1 -0.257047 0.953562 -0.156989 N2 -0.234929 0.871509 -0.430442
- txt003
-STRI
- V0 1.38137 0 2.45469 V1 1.33276 -0.370922 2.45469 V2 1.33555 -0.371699 2.4875
- N0 -0.987636 -0 -0.156768 N1 -0.953562 0.257047 -0.156989 N2 -0.849414 0.228972 0.475466
- txt003
-STRI
- V0 1.33555 -0.371699 2.4875 V1 1.38426 0 2.4875 V2 1.38137 0 2.45469
- N0 -0.849414 0.228972 0.475466 N1 -0.880022 0 0.474933 N2 -0.987636 -0 -0.156768
- txt003
-STRI
- V0 1.33276 -0.370922 2.45469 V1 1.19514 -0.701938 2.45469 V2 1.19764 -0.703409 2.4875
- N0 -0.953562 0.257047 -0.156989 N1 -0.854265 0.495474 -0.157281 N2 -0.760669 0.441188 0.476167
- txt003
-STRI
- V0 1.19764 -0.703409 2.4875 V1 1.33555 -0.371699 2.4875 V2 1.33276 -0.370922 2.45469
- N0 -0.760669 0.441188 0.476167 N1 -0.849414 0.228972 0.475466 N2 -0.953562 0.257047 -0.156989
- txt003
-STRI
- V0 1.19514 -0.701938 2.45469 V1 0.98077 -0.98077 2.45469 V2 0.982824 -0.982824 2.4875
- N0 -0.854265 0.495474 -0.157281 N1 -0.698293 0.698293 -0.157393 N2 -0.621695 0.621695 0.476435
- txt003
-STRI
- V0 0.982824 -0.982824 2.4875 V1 1.19764 -0.703409 2.4875 V2 1.19514 -0.701938 2.45469
- N0 -0.621695 0.621695 0.476435 N1 -0.760669 0.441188 0.476167 N2 -0.854265 0.495474 -0.157281
- txt003
-STRI
- V0 0.98077 -0.98077 2.45469 V1 0.701938 -1.19514 2.45469 V2 0.703409 -1.19764 2.4875
- N0 -0.698293 0.698293 -0.157393 N1 -0.495474 0.854265 -0.157281 N2 -0.441188 0.760669 0.476167
- txt003
-STRI
- V0 0.703409 -1.19764 2.4875 V1 0.982824 -0.982824 2.4875 V2 0.98077 -0.98077 2.45469
- N0 -0.441188 0.760669 0.476167 N1 -0.621695 0.621695 0.476435 N2 -0.698293 0.698293 -0.157393
- txt003
-STRI
- V0 0.701938 -1.19514 2.45469 V1 0.370922 -1.33276 2.45469 V2 0.371699 -1.33555 2.4875
- N0 -0.495474 0.854265 -0.157281 N1 -0.257047 0.953562 -0.156989 N2 -0.228972 0.849414 0.475466
- txt003
-STRI
- V0 0.371699 -1.33555 2.4875 V1 0.703409 -1.19764 2.4875 V2 0.701938 -1.19514 2.45469
- N0 -0.228972 0.849414 0.475466 N1 -0.441188 0.760669 0.476167 N2 -0.495474 0.854265 -0.157281
- txt003
-STRI
- V0 0.370922 -1.33276 2.45469 V1 0 -1.38137 2.45469 V2 0 -1.38426 2.4875
- N0 -0.257047 0.953562 -0.156989 N1 -9.89971e-17 0.987636 -0.156768 N2 -6.08179e-16 0.880022 0.474933
- txt003
-STRI
- V0 0 -1.38426 2.4875 V1 0.371699 -1.33555 2.4875 V2 0.370922 -1.33276 2.45469
- N0 -6.08179e-16 0.880022 0.474933 N1 -0.228972 0.849414 0.475466 N2 -0.257047 0.953562 -0.156989
- txt003
-STRI
- V0 1.38426 0 2.4875 V1 1.33555 -0.371699 2.4875 V2 1.35376 -0.376765 2.49844
- N0 -0.880022 0 0.474933 N1 -0.849414 0.228972 0.475466 N2 2.13636e-15 -5.93089e-16 1
- txt003
-STRI
- V0 1.35376 -0.376765 2.49844 V1 1.40312 0 2.49844 V2 1.38426 0 2.4875
- N0 2.13636e-15 -5.93089e-16 1 N1 2.22045e-15 0 1 N2 -0.880022 0 0.474933
- txt003
-STRI
- V0 1.33555 -0.371699 2.4875 V1 1.19764 -0.703409 2.4875 V2 1.21396 -0.712995 2.49844
- N0 -0.849414 0.228972 0.475466 N1 -0.760669 0.441188 0.476167 N2 1.87966e-15 -1.16933e-15 1
- txt003
-STRI
- V0 1.21396 -0.712995 2.49844 V1 1.35376 -0.376765 2.49844 V2 1.33555 -0.371699 2.4875
- N0 1.87966e-15 -1.16933e-15 1 N1 2.13636e-15 -5.93089e-16 1 N2 -0.849414 0.228972 0.475466
- txt003
-STRI
- V0 1.19764 -0.703409 2.4875 V1 0.982824 -0.982824 2.4875 V2 0.996219 -0.996219 2.49844
- N0 -0.760669 0.441188 0.476167 N1 -0.621695 0.621695 0.476435 N2 1.4538e-15 -1.67359e-15 1
- txt003
-STRI
- V0 0.996219 -0.996219 2.49844 V1 1.21396 -0.712995 2.49844 V2 1.19764 -0.703409 2.4875
- N0 1.4538e-15 -1.67359e-15 1 N1 1.87966e-15 -1.16933e-15 1 N2 -0.760669 0.441188 0.476167
- txt003
-STRI
- V0 0.982824 -0.982824 2.4875 V1 0.703409 -1.19764 2.4875 V2 0.712995 -1.21396 2.49844
- N0 -0.621695 0.621695 0.476435 N1 -0.441188 0.760669 0.476167 N2 8.74229e-16 -2.05298e-15 1
- txt003
-STRI
- V0 0.712995 -1.21396 2.49844 V1 0.996219 -0.996219 2.49844 V2 0.982824 -0.982824 2.4875
- N0 8.74229e-16 -2.05298e-15 1 N1 1.4538e-15 -1.67359e-15 1 N2 -0.621695 0.621695 0.476435
- txt003
-STRI
- V0 0.703409 -1.19764 2.4875 V1 0.371699 -1.33555 2.4875 V2 0.376765 -1.35376 2.49844
- N0 -0.441188 0.760669 0.476167 N1 -0.228972 0.849414 0.475466 N2 1.77072e-16 -2.25214e-15 1
- txt003
-STRI
- V0 0.376765 -1.35376 2.49844 V1 0.712995 -1.21396 2.49844 V2 0.703409 -1.19764 2.4875
- N0 1.77072e-16 -2.25214e-15 1 N1 8.74229e-16 -2.05298e-15 1 N2 -0.441188 0.760669 0.476167
- txt003
-STRI
- V0 0.371699 -1.33555 2.4875 V1 0 -1.38426 2.4875 V2 0 -1.40312 2.49844
- N0 -0.228972 0.849414 0.475466 N1 -6.08179e-16 0.880022 0.474933 N2 -5.65179e-16 -2.22045e-15 1
- txt003
-STRI
- V0 0 -1.40312 2.49844 V1 0.376765 -1.35376 2.49844 V2 0.371699 -1.33555 2.4875
- N0 -5.65179e-16 -2.22045e-15 1 N1 1.77072e-16 -2.25214e-15 1 N2 -0.228972 0.849414 0.475466
- txt003
-STRI
- V0 1.40312 0 2.49844 V1 1.35376 -0.376765 2.49844 V2 1.38201 -0.384628 2.4875
- N0 2.22045e-15 0 1 N1 2.13636e-15 -5.93089e-16 1 N2 0.537012 -0.14476 0.831061
- txt003
-STRI
- V0 1.38201 -0.384628 2.4875 V1 1.43241 0 2.4875 V2 1.40312 0 2.49844
- N0 0.537012 -0.14476 0.831061 N1 0.556738 0 0.830688 N2 2.22045e-15 0 1
- txt003
-STRI
- V0 1.35376 -0.376765 2.49844 V1 1.21396 -0.712995 2.49844 V2 1.2393 -0.727875 2.4875
- N0 2.13636e-15 -5.93089e-16 1 N1 1.87966e-15 -1.16933e-15 1 N2 0.480481 -0.278679 0.83155
- txt003
-STRI
- V0 1.2393 -0.727875 2.4875 V1 1.38201 -0.384628 2.4875 V2 1.35376 -0.376765 2.49844
- N0 0.480481 -0.278679 0.83155 N1 0.537012 -0.14476 0.831061 N2 2.13636e-15 -5.93089e-16 1
- txt003
-STRI
- V0 1.21396 -0.712995 2.49844 V1 0.996219 -0.996219 2.49844 V2 1.01701 -1.01701 2.4875
- N0 1.87966e-15 -1.16933e-15 1 N1 1.4538e-15 -1.67359e-15 1 N2 0.392564 -0.392564 0.831737
- txt003
-STRI
- V0 1.01701 -1.01701 2.4875 V1 1.2393 -0.727875 2.4875 V2 1.21396 -0.712995 2.49844
- N0 0.392564 -0.392564 0.831737 N1 0.480481 -0.278679 0.83155 N2 1.87966e-15 -1.16933e-15 1
- txt003
-STRI
- V0 0.996219 -0.996219 2.49844 V1 0.712995 -1.21396 2.49844 V2 0.727875 -1.2393 2.4875
- N0 1.4538e-15 -1.67359e-15 1 N1 8.74229e-16 -2.05298e-15 1 N2 0.278679 -0.480481 0.83155
- txt003
-STRI
- V0 0.727875 -1.2393 2.4875 V1 1.01701 -1.01701 2.4875 V2 0.996219 -0.996219 2.49844
- N0 0.278679 -0.480481 0.83155 N1 0.392564 -0.392564 0.831737 N2 1.4538e-15 -1.67359e-15 1
- txt003
-STRI
- V0 0.712995 -1.21396 2.49844 V1 0.376765 -1.35376 2.49844 V2 0.384628 -1.38201 2.4875
- N0 8.74229e-16 -2.05298e-15 1 N1 1.77072e-16 -2.25214e-15 1 N2 0.14476 -0.537012 0.831061
- txt003
-STRI
- V0 0.384628 -1.38201 2.4875 V1 0.727875 -1.2393 2.4875 V2 0.712995 -1.21396 2.49844
- N0 0.14476 -0.537012 0.831061 N1 0.278679 -0.480481 0.83155 N2 8.74229e-16 -2.05298e-15 1
- txt003
-STRI
- V0 0.376765 -1.35376 2.49844 V1 0 -1.40312 2.49844 V2 0 -1.43241 2.4875
- N0 1.77072e-16 -2.25214e-15 1 N1 -5.65179e-16 -2.22045e-15 1 N2 -4.5989e-16 -0.556738 0.830688
- txt003
-STRI
- V0 0 -1.43241 2.4875 V1 0.384628 -1.38201 2.4875 V2 0.376765 -1.35376 2.49844
- N0 -4.5989e-16 -0.556738 0.830688 N1 0.14476 -0.537012 0.831061 N2 1.77072e-16 -2.25214e-15 1
- txt003
-STRI
- V0 1.43241 0 2.4875 V1 1.38201 -0.384628 2.4875 V2 1.41495 -0.393796 2.45469
- N0 0.556738 0 0.830688 N1 0.537012 -0.14476 0.831061 N2 0.755869 -0.203756 0.622211
- txt003
-STRI
- V0 1.41495 -0.393796 2.45469 V1 1.46655 0 2.45469 V2 1.43241 0 2.4875
- N0 0.755869 -0.203756 0.622211 N1 0.783289 0 0.621658 N2 0.556738 0 0.830688
- txt003
-STRI
- V0 1.38201 -0.384628 2.4875 V1 1.2393 -0.727875 2.4875 V2 1.26884 -0.745225 2.45469
- N0 0.537012 -0.14476 0.831061 N1 0.480481 -0.278679 0.83155 N2 0.67669 -0.39248 0.622937
- txt003
-STRI
- V0 1.26884 -0.745225 2.45469 V1 1.41495 -0.393796 2.45469 V2 1.38201 -0.384628 2.4875
- N0 0.67669 -0.39248 0.622937 N1 0.755869 -0.203756 0.622211 N2 0.537012 -0.14476 0.831061
- txt003
-STRI
- V0 1.2393 -0.727875 2.4875 V1 1.01701 -1.01701 2.4875 V2 1.04125 -1.04125 2.45469
- N0 0.480481 -0.278679 0.83155 N1 0.392564 -0.392564 0.831737 N2 0.552993 -0.552993 0.623215
- txt003
-STRI
- V0 1.04125 -1.04125 2.45469 V1 1.26884 -0.745225 2.45469 V2 1.2393 -0.727875 2.4875
- N0 0.552993 -0.552993 0.623215 N1 0.67669 -0.39248 0.622937 N2 0.480481 -0.278679 0.83155
- txt003
-STRI
- V0 1.01701 -1.01701 2.4875 V1 0.727875 -1.2393 2.4875 V2 0.745225 -1.26884 2.45469
- N0 0.392564 -0.392564 0.831737 N1 0.278679 -0.480481 0.83155 N2 0.39248 -0.67669 0.622937
- txt003
-STRI
- V0 0.745225 -1.26884 2.45469 V1 1.04125 -1.04125 2.45469 V2 1.01701 -1.01701 2.4875
- N0 0.39248 -0.67669 0.622937 N1 0.552993 -0.552993 0.623215 N2 0.392564 -0.392564 0.831737
- txt003
-STRI
- V0 0.727875 -1.2393 2.4875 V1 0.384628 -1.38201 2.4875 V2 0.393796 -1.41495 2.45469
- N0 0.278679 -0.480481 0.83155 N1 0.14476 -0.537012 0.831061 N2 0.203756 -0.755869 0.622211
- txt003
-STRI
- V0 0.393796 -1.41495 2.45469 V1 0.745225 -1.26884 2.45469 V2 0.727875 -1.2393 2.4875
- N0 0.203756 -0.755869 0.622211 N1 0.39248 -0.67669 0.622937 N2 0.278679 -0.480481 0.83155
- txt003
-STRI
- V0 0.384628 -1.38201 2.4875 V1 0 -1.43241 2.4875 V2 0 -1.46655 2.45469
- N0 0.14476 -0.537012 0.831061 N1 -4.5989e-16 -0.556738 0.830688 N2 -1.94969e-16 -0.783289 0.621658
- txt003
-STRI
- V0 0 -1.46655 2.45469 V1 0.393796 -1.41495 2.45469 V2 0.384628 -1.38201 2.4875
- N0 -1.94969e-16 -0.783289 0.621658 N1 0.203756 -0.755869 0.622211 N2 0.14476 -0.537012 0.831061
- txt003
-STRI
- V0 1.46655 0 2.45469 V1 1.41495 -0.393796 2.45469 V2 1.44722 -0.402778 2.4
- N0 0.783289 0 0.621658 N1 0.755869 -0.203756 0.622211 N2 0.871509 -0.234929 0.430442
- txt003
-STRI
- V0 1.44722 -0.402778 2.4 V1 1.5 0 2.4 V2 1.46655 0 2.45469
- N0 0.871509 -0.234929 0.430442 N1 0.902861 0 0.429934 N2 0.783289 0 0.621658
- txt003
-STRI
- V0 1.41495 -0.393796 2.45469 V1 1.26884 -0.745225 2.45469 V2 1.29778 -0.762222 2.4
- N0 0.755869 -0.203756 0.622211 N1 0.67669 -0.39248 0.622937 N2 0.780517 -0.4527 0.43111
- txt003
-STRI
- V0 1.29778 -0.762222 2.4 V1 1.44722 -0.402778 2.4 V2 1.41495 -0.393796 2.45469
- N0 0.780517 -0.4527 0.43111 N1 0.871509 -0.234929 0.430442 N2 0.755869 -0.203756 0.622211
- txt003
-STRI
- V0 1.26884 -0.745225 2.45469 V1 1.04125 -1.04125 2.45469 V2 1.065 -1.065 2.4
- N0 0.67669 -0.39248 0.622937 N1 0.552993 -0.552993 0.623215 N2 0.637936 -0.637936 0.431366
- txt003
-STRI
- V0 1.065 -1.065 2.4 V1 1.29778 -0.762222 2.4 V2 1.26884 -0.745225 2.45469
- N0 0.637936 -0.637936 0.431366 N1 0.780517 -0.4527 0.43111 N2 0.67669 -0.39248 0.622937
- txt003
-STRI
- V0 1.04125 -1.04125 2.45469 V1 0.745225 -1.26884 2.45469 V2 0.762222 -1.29778 2.4
- N0 0.552993 -0.552993 0.623215 N1 0.39248 -0.67669 0.622937 N2 0.4527 -0.780517 0.43111
- txt003
-STRI
- V0 0.762222 -1.29778 2.4 V1 1.065 -1.065 2.4 V2 1.04125 -1.04125 2.45469
- N0 0.4527 -0.780517 0.43111 N1 0.637936 -0.637936 0.431366 N2 0.552993 -0.552993 0.623215
- txt003
-STRI
- V0 0.745225 -1.26884 2.45469 V1 0.393796 -1.41495 2.45469 V2 0.402778 -1.44722 2.4
- N0 0.39248 -0.67669 0.622937 N1 0.203756 -0.755869 0.622211 N2 0.234929 -0.871509 0.430442
- txt003
-STRI
- V0 0.402778 -1.44722 2.4 V1 0.762222 -1.29778 2.4 V2 0.745225 -1.26884 2.45469
- N0 0.234929 -0.871509 0.430442 N1 0.4527 -0.780517 0.43111 N2 0.39248 -0.67669 0.622937
- txt003
-STRI
- V0 0.393796 -1.41495 2.45469 V1 0 -1.46655 2.45469 V2 0 -1.5 2.4
- N0 0.203756 -0.755869 0.622211 N1 -1.94969e-16 -0.783289 0.621658 N2 -6.81889e-17 -0.902861 0.429934
- txt003
-STRI
- V0 0 -1.5 2.4 V1 0.402778 -1.44722 2.4 V2 0.393796 -1.41495 2.45469
- N0 -6.81889e-17 -0.902861 0.429934 N1 0.234929 -0.871509 0.430442 N2 0.203756 -0.755869 0.622211
- txt003
-STRI
- V0 0 -1.4 2.4 V1 -0.375926 -1.35074 2.4 V2 -0.370922 -1.33276 2.45469
- N0 0 0.902861 -0.429934 N1 0.234929 0.871509 -0.430442 N2 0.257047 0.953562 -0.156989
- txt003
-STRI
- V0 -0.370922 -1.33276 2.45469 V1 0 -1.38137 2.45469 V2 0 -1.4 2.4
- N0 0.257047 0.953562 -0.156989 N1 0 0.987636 -0.156768 N2 0 0.902861 -0.429934
- txt003
-STRI
- V0 -0.375926 -1.35074 2.4 V1 -0.711407 -1.21126 2.4 V2 -0.701938 -1.19514 2.45469
- N0 0.234929 0.871509 -0.430442 N1 0.4527 0.780517 -0.43111 N2 0.495474 0.854265 -0.157281
- txt003
-STRI
- V0 -0.701938 -1.19514 2.45469 V1 -0.370922 -1.33276 2.45469 V2 -0.375926 -1.35074 2.4
- N0 0.495474 0.854265 -0.157281 N1 0.257047 0.953562 -0.156989 N2 0.234929 0.871509 -0.430442
- txt003
-STRI
- V0 -0.711407 -1.21126 2.4 V1 -0.994 -0.994 2.4 V2 -0.98077 -0.98077 2.45469
- N0 0.4527 0.780517 -0.43111 N1 0.637936 0.637936 -0.431366 N2 0.698293 0.698293 -0.157393
- txt003
-STRI
- V0 -0.98077 -0.98077 2.45469 V1 -0.701938 -1.19514 2.45469 V2 -0.711407 -1.21126 2.4
- N0 0.698293 0.698293 -0.157393 N1 0.495474 0.854265 -0.157281 N2 0.4527 0.780517 -0.43111
- txt003
-STRI
- V0 -0.994 -0.994 2.4 V1 -1.21126 -0.711407 2.4 V2 -1.19514 -0.701938 2.45469
- N0 0.637936 0.637936 -0.431366 N1 0.780517 0.4527 -0.43111 N2 0.854265 0.495474 -0.157281
- txt003
-STRI
- V0 -1.19514 -0.701938 2.45469 V1 -0.98077 -0.98077 2.45469 V2 -0.994 -0.994 2.4
- N0 0.854265 0.495474 -0.157281 N1 0.698293 0.698293 -0.157393 N2 0.637936 0.637936 -0.431366
- txt003
-STRI
- V0 -1.21126 -0.711407 2.4 V1 -1.35074 -0.375926 2.4 V2 -1.33276 -0.370922 2.45469
- N0 0.780517 0.4527 -0.43111 N1 0.871509 0.234929 -0.430442 N2 0.953562 0.257047 -0.156989
- txt003
-STRI
- V0 -1.33276 -0.370922 2.45469 V1 -1.19514 -0.701938 2.45469 V2 -1.21126 -0.711407 2.4
- N0 0.953562 0.257047 -0.156989 N1 0.854265 0.495474 -0.157281 N2 0.780517 0.4527 -0.43111
- txt003
-STRI
- V0 -1.35074 -0.375926 2.4 V1 -1.4 0 2.4 V2 -1.38137 0 2.45469
- N0 0.871509 0.234929 -0.430442 N1 0.902861 -7.30595e-17 -0.429934 N2 0.987636 9.89971e-17 -0.156768
- txt003
-STRI
- V0 -1.38137 0 2.45469 V1 -1.33276 -0.370922 2.45469 V2 -1.35074 -0.375926 2.4
- N0 0.987636 9.89971e-17 -0.156768 N1 0.953562 0.257047 -0.156989 N2 0.871509 0.234929 -0.430442
- txt003
-STRI
- V0 0 -1.38137 2.45469 V1 -0.370922 -1.33276 2.45469 V2 -0.371699 -1.33555 2.4875
- N0 0 0.987636 -0.156768 N1 0.257047 0.953562 -0.156989 N2 0.228972 0.849414 0.475466
- txt003
-STRI
- V0 -0.371699 -1.33555 2.4875 V1 0 -1.38426 2.4875 V2 0 -1.38137 2.45469
- N0 0.228972 0.849414 0.475466 N1 0 0.880022 0.474933 N2 0 0.987636 -0.156768
- txt003
-STRI
- V0 -0.370922 -1.33276 2.45469 V1 -0.701938 -1.19514 2.45469 V2 -0.703409 -1.19764 2.4875
- N0 0.257047 0.953562 -0.156989 N1 0.495474 0.854265 -0.157281 N2 0.441188 0.760669 0.476167
- txt003
-STRI
- V0 -0.703409 -1.19764 2.4875 V1 -0.371699 -1.33555 2.4875 V2 -0.370922 -1.33276 2.45469
- N0 0.441188 0.760669 0.476167 N1 0.228972 0.849414 0.475466 N2 0.257047 0.953562 -0.156989
- txt003
-STRI
- V0 -0.701938 -1.19514 2.45469 V1 -0.98077 -0.98077 2.45469 V2 -0.982824 -0.982824 2.4875
- N0 0.495474 0.854265 -0.157281 N1 0.698293 0.698293 -0.157393 N2 0.621695 0.621695 0.476435
- txt003
-STRI
- V0 -0.982824 -0.982824 2.4875 V1 -0.703409 -1.19764 2.4875 V2 -0.701938 -1.19514 2.45469
- N0 0.621695 0.621695 0.476435 N1 0.441188 0.760669 0.476167 N2 0.495474 0.854265 -0.157281
- txt003
-STRI
- V0 -0.98077 -0.98077 2.45469 V1 -1.19514 -0.701938 2.45469 V2 -1.19764 -0.703409 2.4875
- N0 0.698293 0.698293 -0.157393 N1 0.854265 0.495474 -0.157281 N2 0.760669 0.441188 0.476167
- txt003
-STRI
- V0 -1.19764 -0.703409 2.4875 V1 -0.982824 -0.982824 2.4875 V2 -0.98077 -0.98077 2.45469
- N0 0.760669 0.441188 0.476167 N1 0.621695 0.621695 0.476435 N2 0.698293 0.698293 -0.157393
- txt003
-STRI
- V0 -1.19514 -0.701938 2.45469 V1 -1.33276 -0.370922 2.45469 V2 -1.33555 -0.371699 2.4875
- N0 0.854265 0.495474 -0.157281 N1 0.953562 0.257047 -0.156989 N2 0.849414 0.228972 0.475466
- txt003
-STRI
- V0 -1.33555 -0.371699 2.4875 V1 -1.19764 -0.703409 2.4875 V2 -1.19514 -0.701938 2.45469
- N0 0.849414 0.228972 0.475466 N1 0.760669 0.441188 0.476167 N2 0.854265 0.495474 -0.157281
- txt003
-STRI
- V0 -1.33276 -0.370922 2.45469 V1 -1.38137 0 2.45469 V2 -1.38426 0 2.4875
- N0 0.953562 0.257047 -0.156989 N1 0.987636 9.89971e-17 -0.156768 N2 0.880022 6.08179e-16 0.474933
- txt003
-STRI
- V0 -1.38426 0 2.4875 V1 -1.33555 -0.371699 2.4875 V2 -1.33276 -0.370922 2.45469
- N0 0.880022 6.08179e-16 0.474933 N1 0.849414 0.228972 0.475466 N2 0.953562 0.257047 -0.156989
- txt003
-STRI
- V0 0 -1.38426 2.4875 V1 -0.371699 -1.33555 2.4875 V2 -0.376765 -1.35376 2.49844
- N0 0 0.880022 0.474933 N1 0.228972 0.849414 0.475466 N2 -5.93089e-16 -2.13636e-15 1
- txt003
-STRI
- V0 -0.376765 -1.35376 2.49844 V1 0 -1.40312 2.49844 V2 0 -1.38426 2.4875
- N0 -5.93089e-16 -2.13636e-15 1 N1 0 -2.22045e-15 1 N2 0 0.880022 0.474933
- txt003
-STRI
- V0 -0.371699 -1.33555 2.4875 V1 -0.703409 -1.19764 2.4875 V2 -0.712995 -1.21396 2.49844
- N0 0.228972 0.849414 0.475466 N1 0.441188 0.760669 0.476167 N2 -1.16933e-15 -1.87966e-15 1
- txt003
-STRI
- V0 -0.712995 -1.21396 2.49844 V1 -0.376765 -1.35376 2.49844 V2 -0.371699 -1.33555 2.4875
- N0 -1.16933e-15 -1.87966e-15 1 N1 -5.93089e-16 -2.13636e-15 1 N2 0.228972 0.849414 0.475466
- txt003
-STRI
- V0 -0.703409 -1.19764 2.4875 V1 -0.982824 -0.982824 2.4875 V2 -0.996219 -0.996219 2.49844
- N0 0.441188 0.760669 0.476167 N1 0.621695 0.621695 0.476435 N2 -1.67359e-15 -1.4538e-15 1
- txt003
-STRI
- V0 -0.996219 -0.996219 2.49844 V1 -0.712995 -1.21396 2.49844 V2 -0.703409 -1.19764 2.4875
- N0 -1.67359e-15 -1.4538e-15 1 N1 -1.16933e-15 -1.87966e-15 1 N2 0.441188 0.760669 0.476167
- txt003
-STRI
- V0 -0.982824 -0.982824 2.4875 V1 -1.19764 -0.703409 2.4875 V2 -1.21396 -0.712995 2.49844
- N0 0.621695 0.621695 0.476435 N1 0.760669 0.441188 0.476167 N2 -2.05298e-15 -8.74229e-16 1
- txt003
-STRI
- V0 -1.21396 -0.712995 2.49844 V1 -0.996219 -0.996219 2.49844 V2 -0.982824 -0.982824 2.4875
- N0 -2.05298e-15 -8.74229e-16 1 N1 -1.67359e-15 -1.4538e-15 1 N2 0.621695 0.621695 0.476435
- txt003
-STRI
- V0 -1.19764 -0.703409 2.4875 V1 -1.33555 -0.371699 2.4875 V2 -1.35376 -0.376765 2.49844
- N0 0.760669 0.441188 0.476167 N1 0.849414 0.228972 0.475466 N2 -2.25214e-15 -1.77072e-16 1
- txt003
-STRI
- V0 -1.35376 -0.376765 2.49844 V1 -1.21396 -0.712995 2.49844 V2 -1.19764 -0.703409 2.4875
- N0 -2.25214e-15 -1.77072e-16 1 N1 -2.05298e-15 -8.74229e-16 1 N2 0.760669 0.441188 0.476167
- txt003
-STRI
- V0 -1.33555 -0.371699 2.4875 V1 -1.38426 0 2.4875 V2 -1.40312 0 2.49844
- N0 0.849414 0.228972 0.475466 N1 0.880022 6.08179e-16 0.474933 N2 -2.22045e-15 5.65179e-16 1
- txt003
-STRI
- V0 -1.40312 0 2.49844 V1 -1.35376 -0.376765 2.49844 V2 -1.33555 -0.371699 2.4875
- N0 -2.22045e-15 5.65179e-16 1 N1 -2.25214e-15 -1.77072e-16 1 N2 0.849414 0.228972 0.475466
- txt003
-STRI
- V0 0 -1.40312 2.49844 V1 -0.376765 -1.35376 2.49844 V2 -0.384628 -1.38201 2.4875
- N0 0 -2.22045e-15 1 N1 -5.93089e-16 -2.13636e-15 1 N2 -0.14476 -0.537012 0.831061
- txt003
-STRI
- V0 -0.384628 -1.38201 2.4875 V1 0 -1.43241 2.4875 V2 0 -1.40312 2.49844
- N0 -0.14476 -0.537012 0.831061 N1 0 -0.556738 0.830688 N2 0 -2.22045e-15 1
- txt003
-STRI
- V0 -0.376765 -1.35376 2.49844 V1 -0.712995 -1.21396 2.49844 V2 -0.727875 -1.2393 2.4875
- N0 -5.93089e-16 -2.13636e-15 1 N1 -1.16933e-15 -1.87966e-15 1 N2 -0.278679 -0.480481 0.83155
- txt003
-STRI
- V0 -0.727875 -1.2393 2.4875 V1 -0.384628 -1.38201 2.4875 V2 -0.376765 -1.35376 2.49844
- N0 -0.278679 -0.480481 0.83155 N1 -0.14476 -0.537012 0.831061 N2 -5.93089e-16 -2.13636e-15 1
- txt003
-STRI
- V0 -0.712995 -1.21396 2.49844 V1 -0.996219 -0.996219 2.49844 V2 -1.01701 -1.01701 2.4875
- N0 -1.16933e-15 -1.87966e-15 1 N1 -1.67359e-15 -1.4538e-15 1 N2 -0.392564 -0.392564 0.831737
- txt003
-STRI
- V0 -1.01701 -1.01701 2.4875 V1 -0.727875 -1.2393 2.4875 V2 -0.712995 -1.21396 2.49844
- N0 -0.392564 -0.392564 0.831737 N1 -0.278679 -0.480481 0.83155 N2 -1.16933e-15 -1.87966e-15 1
- txt003
-STRI
- V0 -0.996219 -0.996219 2.49844 V1 -1.21396 -0.712995 2.49844 V2 -1.2393 -0.727875 2.4875
- N0 -1.67359e-15 -1.4538e-15 1 N1 -2.05298e-15 -8.74229e-16 1 N2 -0.480481 -0.278679 0.83155
- txt003
-STRI
- V0 -1.2393 -0.727875 2.4875 V1 -1.01701 -1.01701 2.4875 V2 -0.996219 -0.996219 2.49844
- N0 -0.480481 -0.278679 0.83155 N1 -0.392564 -0.392564 0.831737 N2 -1.67359e-15 -1.4538e-15 1
- txt003
-STRI
- V0 -1.21396 -0.712995 2.49844 V1 -1.35376 -0.376765 2.49844 V2 -1.38201 -0.384628 2.4875
- N0 -2.05298e-15 -8.74229e-16 1 N1 -2.25214e-15 -1.77072e-16 1 N2 -0.537012 -0.14476 0.831061
- txt003
-STRI
- V0 -1.38201 -0.384628 2.4875 V1 -1.2393 -0.727875 2.4875 V2 -1.21396 -0.712995 2.49844
- N0 -0.537012 -0.14476 0.831061 N1 -0.480481 -0.278679 0.83155 N2 -2.05298e-15 -8.74229e-16 1
- txt003
-STRI
- V0 -1.35376 -0.376765 2.49844 V1 -1.40312 0 2.49844 V2 -1.43241 0 2.4875
- N0 -2.25214e-15 -1.77072e-16 1 N1 -2.22045e-15 5.65179e-16 1 N2 -0.556738 4.5989e-16 0.830688
- txt003
-STRI
- V0 -1.43241 0 2.4875 V1 -1.38201 -0.384628 2.4875 V2 -1.35376 -0.376765 2.49844
- N0 -0.556738 4.5989e-16 0.830688 N1 -0.537012 -0.14476 0.831061 N2 -2.25214e-15 -1.77072e-16 1
- txt003
-STRI
- V0 0 -1.43241 2.4875 V1 -0.384628 -1.38201 2.4875 V2 -0.393796 -1.41495 2.45469
- N0 0 -0.556738 0.830688 N1 -0.14476 -0.537012 0.831061 N2 -0.203756 -0.755869 0.622211
- txt003
-STRI
- V0 -0.393796 -1.41495 2.45469 V1 0 -1.46655 2.45469 V2 0 -1.43241 2.4875
- N0 -0.203756 -0.755869 0.622211 N1 0 -0.783289 0.621658 N2 0 -0.556738 0.830688
- txt003
-STRI
- V0 -0.384628 -1.38201 2.4875 V1 -0.727875 -1.2393 2.4875 V2 -0.745225 -1.26884 2.45469
- N0 -0.14476 -0.537012 0.831061 N1 -0.278679 -0.480481 0.83155 N2 -0.39248 -0.67669 0.622937
- txt003
-STRI
- V0 -0.745225 -1.26884 2.45469 V1 -0.393796 -1.41495 2.45469 V2 -0.384628 -1.38201 2.4875
- N0 -0.39248 -0.67669 0.622937 N1 -0.203756 -0.755869 0.622211 N2 -0.14476 -0.537012 0.831061
- txt003
-STRI
- V0 -0.727875 -1.2393 2.4875 V1 -1.01701 -1.01701 2.4875 V2 -1.04125 -1.04125 2.45469
- N0 -0.278679 -0.480481 0.83155 N1 -0.392564 -0.392564 0.831737 N2 -0.552993 -0.552993 0.623215
- txt003
-STRI
- V0 -1.04125 -1.04125 2.45469 V1 -0.745225 -1.26884 2.45469 V2 -0.727875 -1.2393 2.4875
- N0 -0.552993 -0.552993 0.623215 N1 -0.39248 -0.67669 0.622937 N2 -0.278679 -0.480481 0.83155
- txt003
-STRI
- V0 -1.01701 -1.01701 2.4875 V1 -1.2393 -0.727875 2.4875 V2 -1.26884 -0.745225 2.45469
- N0 -0.392564 -0.392564 0.831737 N1 -0.480481 -0.278679 0.83155 N2 -0.67669 -0.39248 0.622937
- txt003
-STRI
- V0 -1.26884 -0.745225 2.45469 V1 -1.04125 -1.04125 2.45469 V2 -1.01701 -1.01701 2.4875
- N0 -0.67669 -0.39248 0.622937 N1 -0.552993 -0.552993 0.623215 N2 -0.392564 -0.392564 0.831737
- txt003
-STRI
- V0 -1.2393 -0.727875 2.4875 V1 -1.38201 -0.384628 2.4875 V2 -1.41495 -0.393796 2.45469
- N0 -0.480481 -0.278679 0.83155 N1 -0.537012 -0.14476 0.831061 N2 -0.755869 -0.203756 0.622211
- txt003
-STRI
- V0 -1.41495 -0.393796 2.45469 V1 -1.26884 -0.745225 2.45469 V2 -1.2393 -0.727875 2.4875
- N0 -0.755869 -0.203756 0.622211 N1 -0.67669 -0.39248 0.622937 N2 -0.480481 -0.278679 0.83155
- txt003
-STRI
- V0 -1.38201 -0.384628 2.4875 V1 -1.43241 0 2.4875 V2 -1.46655 0 2.45469
- N0 -0.537012 -0.14476 0.831061 N1 -0.556738 4.5989e-16 0.830688 N2 -0.783289 1.94969e-16 0.621658
- txt003
-STRI
- V0 -1.46655 0 2.45469 V1 -1.41495 -0.393796 2.45469 V2 -1.38201 -0.384628 2.4875
- N0 -0.783289 1.94969e-16 0.621658 N1 -0.755869 -0.203756 0.622211 N2 -0.537012 -0.14476 0.831061
- txt003
-STRI
- V0 0 -1.46655 2.45469 V1 -0.393796 -1.41495 2.45469 V2 -0.402778 -1.44722 2.4
- N0 0 -0.783289 0.621658 N1 -0.203756 -0.755869 0.622211 N2 -0.234929 -0.871509 0.430442
- txt003
-STRI
- V0 -0.402778 -1.44722 2.4 V1 0 -1.5 2.4 V2 0 -1.46655 2.45469
- N0 -0.234929 -0.871509 0.430442 N1 0 -0.902861 0.429934 N2 0 -0.783289 0.621658
- txt003
-STRI
- V0 -0.393796 -1.41495 2.45469 V1 -0.745225 -1.26884 2.45469 V2 -0.762222 -1.29778 2.4
- N0 -0.203756 -0.755869 0.622211 N1 -0.39248 -0.67669 0.622937 N2 -0.4527 -0.780517 0.43111
- txt003
-STRI
- V0 -0.762222 -1.29778 2.4 V1 -0.402778 -1.44722 2.4 V2 -0.393796 -1.41495 2.45469
- N0 -0.4527 -0.780517 0.43111 N1 -0.234929 -0.871509 0.430442 N2 -0.203756 -0.755869 0.622211
- txt003
-STRI
- V0 -0.745225 -1.26884 2.45469 V1 -1.04125 -1.04125 2.45469 V2 -1.065 -1.065 2.4
- N0 -0.39248 -0.67669 0.622937 N1 -0.552993 -0.552993 0.623215 N2 -0.637936 -0.637936 0.431366
- txt003
-STRI
- V0 -1.065 -1.065 2.4 V1 -0.762222 -1.29778 2.4 V2 -0.745225 -1.26884 2.45469
- N0 -0.637936 -0.637936 0.431366 N1 -0.4527 -0.780517 0.43111 N2 -0.39248 -0.67669 0.622937
- txt003
-STRI
- V0 -1.04125 -1.04125 2.45469 V1 -1.26884 -0.745225 2.45469 V2 -1.29778 -0.762222 2.4
- N0 -0.552993 -0.552993 0.623215 N1 -0.67669 -0.39248 0.622937 N2 -0.780517 -0.4527 0.43111
- txt003
-STRI
- V0 -1.29778 -0.762222 2.4 V1 -1.065 -1.065 2.4 V2 -1.04125 -1.04125 2.45469
- N0 -0.780517 -0.4527 0.43111 N1 -0.637936 -0.637936 0.431366 N2 -0.552993 -0.552993 0.623215
- txt003
-STRI
- V0 -1.26884 -0.745225 2.45469 V1 -1.41495 -0.393796 2.45469 V2 -1.44722 -0.402778 2.4
- N0 -0.67669 -0.39248 0.622937 N1 -0.755869 -0.203756 0.622211 N2 -0.871509 -0.234929 0.430442
- txt003
-STRI
- V0 -1.44722 -0.402778 2.4 V1 -1.29778 -0.762222 2.4 V2 -1.26884 -0.745225 2.45469
- N0 -0.871509 -0.234929 0.430442 N1 -0.780517 -0.4527 0.43111 N2 -0.67669 -0.39248 0.622937
- txt003
-STRI
- V0 -1.41495 -0.393796 2.45469 V1 -1.46655 0 2.45469 V2 -1.5 0 2.4
- N0 -0.755869 -0.203756 0.622211 N1 -0.783289 1.94969e-16 0.621658 N2 -0.902861 6.81889e-17 0.429934
- txt003
-STRI
- V0 -1.5 0 2.4 V1 -1.44722 -0.402778 2.4 V2 -1.41495 -0.393796 2.45469
- N0 -0.902861 6.81889e-17 0.429934 N1 -0.871509 -0.234929 0.430442 N2 -0.755869 -0.203756 0.622211
- txt003
-STRI
- V0 -1.4 0 2.4 V1 -1.35074 0.375926 2.4 V2 -1.33276 0.370922 2.45469
- N0 0.902861 0 -0.429934 N1 0.871509 -0.234929 -0.430442 N2 0.953562 -0.257047 -0.156989
- txt003
-STRI
- V0 -1.33276 0.370922 2.45469 V1 -1.38137 0 2.45469 V2 -1.4 0 2.4
- N0 0.953562 -0.257047 -0.156989 N1 0.987636 0 -0.156768 N2 0.902861 0 -0.429934
- txt003
-STRI
- V0 -1.35074 0.375926 2.4 V1 -1.21126 0.711407 2.4 V2 -1.19514 0.701938 2.45469
- N0 0.871509 -0.234929 -0.430442 N1 0.780517 -0.4527 -0.43111 N2 0.854265 -0.495474 -0.157281
- txt003
-STRI
- V0 -1.19514 0.701938 2.45469 V1 -1.33276 0.370922 2.45469 V2 -1.35074 0.375926 2.4
- N0 0.854265 -0.495474 -0.157281 N1 0.953562 -0.257047 -0.156989 N2 0.871509 -0.234929 -0.430442
- txt003
-STRI
- V0 -1.21126 0.711407 2.4 V1 -0.994 0.994 2.4 V2 -0.98077 0.98077 2.45469
- N0 0.780517 -0.4527 -0.43111 N1 0.637936 -0.637936 -0.431366 N2 0.698293 -0.698293 -0.157393
- txt003
-STRI
- V0 -0.98077 0.98077 2.45469 V1 -1.19514 0.701938 2.45469 V2 -1.21126 0.711407 2.4
- N0 0.698293 -0.698293 -0.157393 N1 0.854265 -0.495474 -0.157281 N2 0.780517 -0.4527 -0.43111
- txt003
-STRI
- V0 -0.994 0.994 2.4 V1 -0.711407 1.21126 2.4 V2 -0.701938 1.19514 2.45469
- N0 0.637936 -0.637936 -0.431366 N1 0.4527 -0.780517 -0.43111 N2 0.495474 -0.854265 -0.157281
- txt003
-STRI
- V0 -0.701938 1.19514 2.45469 V1 -0.98077 0.98077 2.45469 V2 -0.994 0.994 2.4
- N0 0.495474 -0.854265 -0.157281 N1 0.698293 -0.698293 -0.157393 N2 0.637936 -0.637936 -0.431366
- txt003
-STRI
- V0 -0.711407 1.21126 2.4 V1 -0.375926 1.35074 2.4 V2 -0.370922 1.33276 2.45469
- N0 0.4527 -0.780517 -0.43111 N1 0.234929 -0.871509 -0.430442 N2 0.257047 -0.953562 -0.156989
- txt003
-STRI
- V0 -0.370922 1.33276 2.45469 V1 -0.701938 1.19514 2.45469 V2 -0.711407 1.21126 2.4
- N0 0.257047 -0.953562 -0.156989 N1 0.495474 -0.854265 -0.157281 N2 0.4527 -0.780517 -0.43111
- txt003
-STRI
- V0 -0.375926 1.35074 2.4 V1 0 1.4 2.4 V2 0 1.38137 2.45469
- N0 0.234929 -0.871509 -0.430442 N1 -7.30595e-17 -0.902861 -0.429934 N2 9.89971e-17 -0.987636 -0.156768
- txt003
-STRI
- V0 0 1.38137 2.45469 V1 -0.370922 1.33276 2.45469 V2 -0.375926 1.35074 2.4
- N0 9.89971e-17 -0.987636 -0.156768 N1 0.257047 -0.953562 -0.156989 N2 0.234929 -0.871509 -0.430442
- txt003
-STRI
- V0 -1.38137 0 2.45469 V1 -1.33276 0.370922 2.45469 V2 -1.33555 0.371699 2.4875
- N0 0.987636 0 -0.156768 N1 0.953562 -0.257047 -0.156989 N2 0.849414 -0.228972 0.475466
- txt003
-STRI
- V0 -1.33555 0.371699 2.4875 V1 -1.38426 0 2.4875 V2 -1.38137 0 2.45469
- N0 0.849414 -0.228972 0.475466 N1 0.880022 -0 0.474933 N2 0.987636 0 -0.156768
- txt003
-STRI
- V0 -1.33276 0.370922 2.45469 V1 -1.19514 0.701938 2.45469 V2 -1.19764 0.703409 2.4875
- N0 0.953562 -0.257047 -0.156989 N1 0.854265 -0.495474 -0.157281 N2 0.760669 -0.441188 0.476167
- txt003
-STRI
- V0 -1.19764 0.703409 2.4875 V1 -1.33555 0.371699 2.4875 V2 -1.33276 0.370922 2.45469
- N0 0.760669 -0.441188 0.476167 N1 0.849414 -0.228972 0.475466 N2 0.953562 -0.257047 -0.156989
- txt003
-STRI
- V0 -1.19514 0.701938 2.45469 V1 -0.98077 0.98077 2.45469 V2 -0.982824 0.982824 2.4875
- N0 0.854265 -0.495474 -0.157281 N1 0.698293 -0.698293 -0.157393 N2 0.621695 -0.621695 0.476435
- txt003
-STRI
- V0 -0.982824 0.982824 2.4875 V1 -1.19764 0.703409 2.4875 V2 -1.19514 0.701938 2.45469
- N0 0.621695 -0.621695 0.476435 N1 0.760669 -0.441188 0.476167 N2 0.854265 -0.495474 -0.157281
- txt003
-STRI
- V0 -0.98077 0.98077 2.45469 V1 -0.701938 1.19514 2.45469 V2 -0.703409 1.19764 2.4875
- N0 0.698293 -0.698293 -0.157393 N1 0.495474 -0.854265 -0.157281 N2 0.441188 -0.760669 0.476167
- txt003
-STRI
- V0 -0.703409 1.19764 2.4875 V1 -0.982824 0.982824 2.4875 V2 -0.98077 0.98077 2.45469
- N0 0.441188 -0.760669 0.476167 N1 0.621695 -0.621695 0.476435 N2 0.698293 -0.698293 -0.157393
- txt003
-STRI
- V0 -0.701938 1.19514 2.45469 V1 -0.370922 1.33276 2.45469 V2 -0.371699 1.33555 2.4875
- N0 0.495474 -0.854265 -0.157281 N1 0.257047 -0.953562 -0.156989 N2 0.228972 -0.849414 0.475466
- txt003
-STRI
- V0 -0.371699 1.33555 2.4875 V1 -0.703409 1.19764 2.4875 V2 -0.701938 1.19514 2.45469
- N0 0.228972 -0.849414 0.475466 N1 0.441188 -0.760669 0.476167 N2 0.495474 -0.854265 -0.157281
- txt003
-STRI
- V0 -0.370922 1.33276 2.45469 V1 0 1.38137 2.45469 V2 0 1.38426 2.4875
- N0 0.257047 -0.953562 -0.156989 N1 9.89971e-17 -0.987636 -0.156768 N2 6.08179e-16 -0.880022 0.474933
- txt003
-STRI
- V0 0 1.38426 2.4875 V1 -0.371699 1.33555 2.4875 V2 -0.370922 1.33276 2.45469
- N0 6.08179e-16 -0.880022 0.474933 N1 0.228972 -0.849414 0.475466 N2 0.257047 -0.953562 -0.156989
- txt003
-STRI
- V0 -1.38426 0 2.4875 V1 -1.33555 0.371699 2.4875 V2 -1.35376 0.376765 2.49844
- N0 0.880022 -0 0.474933 N1 0.849414 -0.228972 0.475466 N2 -2.13636e-15 5.93089e-16 1
- txt003
-STRI
- V0 -1.35376 0.376765 2.49844 V1 -1.40312 0 2.49844 V2 -1.38426 0 2.4875
- N0 -2.13636e-15 5.93089e-16 1 N1 -2.22045e-15 0 1 N2 0.880022 -0 0.474933
- txt003
-STRI
- V0 -1.33555 0.371699 2.4875 V1 -1.19764 0.703409 2.4875 V2 -1.21396 0.712995 2.49844
- N0 0.849414 -0.228972 0.475466 N1 0.760669 -0.441188 0.476167 N2 -1.87966e-15 1.16933e-15 1
- txt003
-STRI
- V0 -1.21396 0.712995 2.49844 V1 -1.35376 0.376765 2.49844 V2 -1.33555 0.371699 2.4875
- N0 -1.87966e-15 1.16933e-15 1 N1 -2.13636e-15 5.93089e-16 1 N2 0.849414 -0.228972 0.475466
- txt003
-STRI
- V0 -1.19764 0.703409 2.4875 V1 -0.982824 0.982824 2.4875 V2 -0.996219 0.996219 2.49844
- N0 0.760669 -0.441188 0.476167 N1 0.621695 -0.621695 0.476435 N2 -1.4538e-15 1.67359e-15 1
- txt003
-STRI
- V0 -0.996219 0.996219 2.49844 V1 -1.21396 0.712995 2.49844 V2 -1.19764 0.703409 2.4875
- N0 -1.4538e-15 1.67359e-15 1 N1 -1.87966e-15 1.16933e-15 1 N2 0.760669 -0.441188 0.476167
- txt003
-STRI
- V0 -0.982824 0.982824 2.4875 V1 -0.703409 1.19764 2.4875 V2 -0.712995 1.21396 2.49844
- N0 0.621695 -0.621695 0.476435 N1 0.441188 -0.760669 0.476167 N2 -8.74229e-16 2.05298e-15 1
- txt003
-STRI
- V0 -0.712995 1.21396 2.49844 V1 -0.996219 0.996219 2.49844 V2 -0.982824 0.982824 2.4875
- N0 -8.74229e-16 2.05298e-15 1 N1 -1.4538e-15 1.67359e-15 1 N2 0.621695 -0.621695 0.476435
- txt003
-STRI
- V0 -0.703409 1.19764 2.4875 V1 -0.371699 1.33555 2.4875 V2 -0.376765 1.35376 2.49844
- N0 0.441188 -0.760669 0.476167 N1 0.228972 -0.849414 0.475466 N2 -1.77072e-16 2.25214e-15 1
- txt003
-STRI
- V0 -0.376765 1.35376 2.49844 V1 -0.712995 1.21396 2.49844 V2 -0.703409 1.19764 2.4875
- N0 -1.77072e-16 2.25214e-15 1 N1 -8.74229e-16 2.05298e-15 1 N2 0.441188 -0.760669 0.476167
- txt003
-STRI
- V0 -0.371699 1.33555 2.4875 V1 0 1.38426 2.4875 V2 0 1.40312 2.49844
- N0 0.228972 -0.849414 0.475466 N1 6.08179e-16 -0.880022 0.474933 N2 5.65179e-16 2.22045e-15 1
- txt003
-STRI
- V0 0 1.40312 2.49844 V1 -0.376765 1.35376 2.49844 V2 -0.371699 1.33555 2.4875
- N0 5.65179e-16 2.22045e-15 1 N1 -1.77072e-16 2.25214e-15 1 N2 0.228972 -0.849414 0.475466
- txt003
-STRI
- V0 -1.40312 0 2.49844 V1 -1.35376 0.376765 2.49844 V2 -1.38201 0.384628 2.4875
- N0 -2.22045e-15 0 1 N1 -2.13636e-15 5.93089e-16 1 N2 -0.537012 0.14476 0.831061
- txt003
-STRI
- V0 -1.38201 0.384628 2.4875 V1 -1.43241 0 2.4875 V2 -1.40312 0 2.49844
- N0 -0.537012 0.14476 0.831061 N1 -0.556738 0 0.830688 N2 -2.22045e-15 0 1
- txt003
-STRI
- V0 -1.35376 0.376765 2.49844 V1 -1.21396 0.712995 2.49844 V2 -1.2393 0.727875 2.4875
- N0 -2.13636e-15 5.93089e-16 1 N1 -1.87966e-15 1.16933e-15 1 N2 -0.480481 0.278679 0.83155
- txt003
-STRI
- V0 -1.2393 0.727875 2.4875 V1 -1.38201 0.384628 2.4875 V2 -1.35376 0.376765 2.49844
- N0 -0.480481 0.278679 0.83155 N1 -0.537012 0.14476 0.831061 N2 -2.13636e-15 5.93089e-16 1
- txt003
-STRI
- V0 -1.21396 0.712995 2.49844 V1 -0.996219 0.996219 2.49844 V2 -1.01701 1.01701 2.4875
- N0 -1.87966e-15 1.16933e-15 1 N1 -1.4538e-15 1.67359e-15 1 N2 -0.392564 0.392564 0.831737
- txt003
-STRI
- V0 -1.01701 1.01701 2.4875 V1 -1.2393 0.727875 2.4875 V2 -1.21396 0.712995 2.49844
- N0 -0.392564 0.392564 0.831737 N1 -0.480481 0.278679 0.83155 N2 -1.87966e-15 1.16933e-15 1
- txt003
-STRI
- V0 -0.996219 0.996219 2.49844 V1 -0.712995 1.21396 2.49844 V2 -0.727875 1.2393 2.4875
- N0 -1.4538e-15 1.67359e-15 1 N1 -8.74229e-16 2.05298e-15 1 N2 -0.278679 0.480481 0.83155
- txt003
-STRI
- V0 -0.727875 1.2393 2.4875 V1 -1.01701 1.01701 2.4875 V2 -0.996219 0.996219 2.49844
- N0 -0.278679 0.480481 0.83155 N1 -0.392564 0.392564 0.831737 N2 -1.4538e-15 1.67359e-15 1
- txt003
-STRI
- V0 -0.712995 1.21396 2.49844 V1 -0.376765 1.35376 2.49844 V2 -0.384628 1.38201 2.4875
- N0 -8.74229e-16 2.05298e-15 1 N1 -1.77072e-16 2.25214e-15 1 N2 -0.14476 0.537012 0.831061
- txt003
-STRI
- V0 -0.384628 1.38201 2.4875 V1 -0.727875 1.2393 2.4875 V2 -0.712995 1.21396 2.49844
- N0 -0.14476 0.537012 0.831061 N1 -0.278679 0.480481 0.83155 N2 -8.74229e-16 2.05298e-15 1
- txt003
-STRI
- V0 -0.376765 1.35376 2.49844 V1 0 1.40312 2.49844 V2 0 1.43241 2.4875
- N0 -1.77072e-16 2.25214e-15 1 N1 5.65179e-16 2.22045e-15 1 N2 4.5989e-16 0.556738 0.830688
- txt003
-STRI
- V0 0 1.43241 2.4875 V1 -0.384628 1.38201 2.4875 V2 -0.376765 1.35376 2.49844
- N0 4.5989e-16 0.556738 0.830688 N1 -0.14476 0.537012 0.831061 N2 -1.77072e-16 2.25214e-15 1
- txt003
-STRI
- V0 -1.43241 0 2.4875 V1 -1.38201 0.384628 2.4875 V2 -1.41495 0.393796 2.45469
- N0 -0.556738 0 0.830688 N1 -0.537012 0.14476 0.831061 N2 -0.755869 0.203756 0.622211
- txt003
-STRI
- V0 -1.41495 0.393796 2.45469 V1 -1.46655 0 2.45469 V2 -1.43241 0 2.4875
- N0 -0.755869 0.203756 0.622211 N1 -0.783289 0 0.621658 N2 -0.556738 0 0.830688
- txt003
-STRI
- V0 -1.38201 0.384628 2.4875 V1 -1.2393 0.727875 2.4875 V2 -1.26884 0.745225 2.45469
- N0 -0.537012 0.14476 0.831061 N1 -0.480481 0.278679 0.83155 N2 -0.67669 0.39248 0.622937
- txt003
-STRI
- V0 -1.26884 0.745225 2.45469 V1 -1.41495 0.393796 2.45469 V2 -1.38201 0.384628 2.4875
- N0 -0.67669 0.39248 0.622937 N1 -0.755869 0.203756 0.622211 N2 -0.537012 0.14476 0.831061
- txt003
-STRI
- V0 -1.2393 0.727875 2.4875 V1 -1.01701 1.01701 2.4875 V2 -1.04125 1.04125 2.45469
- N0 -0.480481 0.278679 0.83155 N1 -0.392564 0.392564 0.831737 N2 -0.552993 0.552993 0.623215
- txt003
-STRI
- V0 -1.04125 1.04125 2.45469 V1 -1.26884 0.745225 2.45469 V2 -1.2393 0.727875 2.4875
- N0 -0.552993 0.552993 0.623215 N1 -0.67669 0.39248 0.622937 N2 -0.480481 0.278679 0.83155
- txt003
-STRI
- V0 -1.01701 1.01701 2.4875 V1 -0.727875 1.2393 2.4875 V2 -0.745225 1.26884 2.45469
- N0 -0.392564 0.392564 0.831737 N1 -0.278679 0.480481 0.83155 N2 -0.39248 0.67669 0.622937
- txt003
-STRI
- V0 -0.745225 1.26884 2.45469 V1 -1.04125 1.04125 2.45469 V2 -1.01701 1.01701 2.4875
- N0 -0.39248 0.67669 0.622937 N1 -0.552993 0.552993 0.623215 N2 -0.392564 0.392564 0.831737
- txt003
-STRI
- V0 -0.727875 1.2393 2.4875 V1 -0.384628 1.38201 2.4875 V2 -0.393796 1.41495 2.45469
- N0 -0.278679 0.480481 0.83155 N1 -0.14476 0.537012 0.831061 N2 -0.203756 0.755869 0.622211
- txt003
-STRI
- V0 -0.393796 1.41495 2.45469 V1 -0.745225 1.26884 2.45469 V2 -0.727875 1.2393 2.4875
- N0 -0.203756 0.755869 0.622211 N1 -0.39248 0.67669 0.622937 N2 -0.278679 0.480481 0.83155
- txt003
-STRI
- V0 -0.384628 1.38201 2.4875 V1 0 1.43241 2.4875 V2 0 1.46655 2.45469
- N0 -0.14476 0.537012 0.831061 N1 4.5989e-16 0.556738 0.830688 N2 1.94969e-16 0.783289 0.621658
- txt003
-STRI
- V0 0 1.46655 2.45469 V1 -0.393796 1.41495 2.45469 V2 -0.384628 1.38201 2.4875
- N0 1.94969e-16 0.783289 0.621658 N1 -0.203756 0.755869 0.622211 N2 -0.14476 0.537012 0.831061
- txt003
-STRI
- V0 -1.46655 0 2.45469 V1 -1.41495 0.393796 2.45469 V2 -1.44722 0.402778 2.4
- N0 -0.783289 0 0.621658 N1 -0.755869 0.203756 0.622211 N2 -0.871509 0.234929 0.430442
- txt003
-STRI
- V0 -1.44722 0.402778 2.4 V1 -1.5 0 2.4 V2 -1.46655 0 2.45469
- N0 -0.871509 0.234929 0.430442 N1 -0.902861 0 0.429934 N2 -0.783289 0 0.621658
- txt003
-STRI
- V0 -1.41495 0.393796 2.45469 V1 -1.26884 0.745225 2.45469 V2 -1.29778 0.762222 2.4
- N0 -0.755869 0.203756 0.622211 N1 -0.67669 0.39248 0.622937 N2 -0.780517 0.4527 0.43111
- txt003
-STRI
- V0 -1.29778 0.762222 2.4 V1 -1.44722 0.402778 2.4 V2 -1.41495 0.393796 2.45469
- N0 -0.780517 0.4527 0.43111 N1 -0.871509 0.234929 0.430442 N2 -0.755869 0.203756 0.622211
- txt003
-STRI
- V0 -1.26884 0.745225 2.45469 V1 -1.04125 1.04125 2.45469 V2 -1.065 1.065 2.4
- N0 -0.67669 0.39248 0.622937 N1 -0.552993 0.552993 0.623215 N2 -0.637936 0.637936 0.431366
- txt003
-STRI
- V0 -1.065 1.065 2.4 V1 -1.29778 0.762222 2.4 V2 -1.26884 0.745225 2.45469
- N0 -0.637936 0.637936 0.431366 N1 -0.780517 0.4527 0.43111 N2 -0.67669 0.39248 0.622937
- txt003
-STRI
- V0 -1.04125 1.04125 2.45469 V1 -0.745225 1.26884 2.45469 V2 -0.762222 1.29778 2.4
- N0 -0.552993 0.552993 0.623215 N1 -0.39248 0.67669 0.622937 N2 -0.4527 0.780517 0.43111
- txt003
-STRI
- V0 -0.762222 1.29778 2.4 V1 -1.065 1.065 2.4 V2 -1.04125 1.04125 2.45469
- N0 -0.4527 0.780517 0.43111 N1 -0.637936 0.637936 0.431366 N2 -0.552993 0.552993 0.623215
- txt003
-STRI
- V0 -0.745225 1.26884 2.45469 V1 -0.393796 1.41495 2.45469 V2 -0.402778 1.44722 2.4
- N0 -0.39248 0.67669 0.622937 N1 -0.203756 0.755869 0.622211 N2 -0.234929 0.871509 0.430442
- txt003
-STRI
- V0 -0.402778 1.44722 2.4 V1 -0.762222 1.29778 2.4 V2 -0.745225 1.26884 2.45469
- N0 -0.234929 0.871509 0.430442 N1 -0.4527 0.780517 0.43111 N2 -0.39248 0.67669 0.622937
- txt003
-STRI
- V0 -0.393796 1.41495 2.45469 V1 0 1.46655 2.45469 V2 0 1.5 2.4
- N0 -0.203756 0.755869 0.622211 N1 1.94969e-16 0.783289 0.621658 N2 6.81889e-17 0.902861 0.429934
- txt003
-STRI
- V0 0 1.5 2.4 V1 -0.402778 1.44722 2.4 V2 -0.393796 1.41495 2.45469
- N0 6.81889e-17 0.902861 0.429934 N1 -0.234929 0.871509 0.430442 N2 -0.203756 0.755869 0.622211
- txt003
-STRI
- V0 0 1.4 2.4 V1 0.375926 1.35074 2.4 V2 0.370922 1.33276 2.45469
- N0 0 -0.902861 -0.429934 N1 -0.234929 -0.871509 -0.430442 N2 -0.257047 -0.953562 -0.156989
- txt003
-STRI
- V0 0.370922 1.33276 2.45469 V1 0 1.38137 2.45469 V2 0 1.4 2.4
- N0 -0.257047 -0.953562 -0.156989 N1 0 -0.987636 -0.156768 N2 0 -0.902861 -0.429934
- txt003
-STRI
- V0 0.375926 1.35074 2.4 V1 0.711407 1.21126 2.4 V2 0.701938 1.19514 2.45469
- N0 -0.234929 -0.871509 -0.430442 N1 -0.4527 -0.780517 -0.43111 N2 -0.495474 -0.854265 -0.157281
- txt003
-STRI
- V0 0.701938 1.19514 2.45469 V1 0.370922 1.33276 2.45469 V2 0.375926 1.35074 2.4
- N0 -0.495474 -0.854265 -0.157281 N1 -0.257047 -0.953562 -0.156989 N2 -0.234929 -0.871509 -0.430442
- txt003
-STRI
- V0 0.711407 1.21126 2.4 V1 0.994 0.994 2.4 V2 0.98077 0.98077 2.45469
- N0 -0.4527 -0.780517 -0.43111 N1 -0.637936 -0.637936 -0.431366 N2 -0.698293 -0.698293 -0.157393
- txt003
-STRI
- V0 0.98077 0.98077 2.45469 V1 0.701938 1.19514 2.45469 V2 0.711407 1.21126 2.4
- N0 -0.698293 -0.698293 -0.157393 N1 -0.495474 -0.854265 -0.157281 N2 -0.4527 -0.780517 -0.43111
- txt003
-STRI
- V0 0.994 0.994 2.4 V1 1.21126 0.711407 2.4 V2 1.19514 0.701938 2.45469
- N0 -0.637936 -0.637936 -0.431366 N1 -0.780517 -0.4527 -0.43111 N2 -0.854265 -0.495474 -0.157281
- txt003
-STRI
- V0 1.19514 0.701938 2.45469 V1 0.98077 0.98077 2.45469 V2 0.994 0.994 2.4
- N0 -0.854265 -0.495474 -0.157281 N1 -0.698293 -0.698293 -0.157393 N2 -0.637936 -0.637936 -0.431366
- txt003
-STRI
- V0 1.21126 0.711407 2.4 V1 1.35074 0.375926 2.4 V2 1.33276 0.370922 2.45469
- N0 -0.780517 -0.4527 -0.43111 N1 -0.871509 -0.234929 -0.430442 N2 -0.953562 -0.257047 -0.156989
- txt003
-STRI
- V0 1.33276 0.370922 2.45469 V1 1.19514 0.701938 2.45469 V2 1.21126 0.711407 2.4
- N0 -0.953562 -0.257047 -0.156989 N1 -0.854265 -0.495474 -0.157281 N2 -0.780517 -0.4527 -0.43111
- txt003
-STRI
- V0 1.35074 0.375926 2.4 V1 1.4 0 2.4 V2 1.38137 0 2.45469
- N0 -0.871509 -0.234929 -0.430442 N1 -0.902861 7.30595e-17 -0.429934 N2 -0.987636 -9.89971e-17 -0.156768
- txt003
-STRI
- V0 1.38137 0 2.45469 V1 1.33276 0.370922 2.45469 V2 1.35074 0.375926 2.4
- N0 -0.987636 -9.89971e-17 -0.156768 N1 -0.953562 -0.257047 -0.156989 N2 -0.871509 -0.234929 -0.430442
- txt003
-STRI
- V0 0 1.38137 2.45469 V1 0.370922 1.33276 2.45469 V2 0.371699 1.33555 2.4875
- N0 0 -0.987636 -0.156768 N1 -0.257047 -0.953562 -0.156989 N2 -0.228972 -0.849414 0.475466
- txt003
-STRI
- V0 0.371699 1.33555 2.4875 V1 0 1.38426 2.4875 V2 0 1.38137 2.45469
- N0 -0.228972 -0.849414 0.475466 N1 0 -0.880022 0.474933 N2 0 -0.987636 -0.156768
- txt003
-STRI
- V0 0.370922 1.33276 2.45469 V1 0.701938 1.19514 2.45469 V2 0.703409 1.19764 2.4875
- N0 -0.257047 -0.953562 -0.156989 N1 -0.495474 -0.854265 -0.157281 N2 -0.441188 -0.760669 0.476167
- txt003
-STRI
- V0 0.703409 1.19764 2.4875 V1 0.371699 1.33555 2.4875 V2 0.370922 1.33276 2.45469
- N0 -0.441188 -0.760669 0.476167 N1 -0.228972 -0.849414 0.475466 N2 -0.257047 -0.953562 -0.156989
- txt003
-STRI
- V0 0.701938 1.19514 2.45469 V1 0.98077 0.98077 2.45469 V2 0.982824 0.982824 2.4875
- N0 -0.495474 -0.854265 -0.157281 N1 -0.698293 -0.698293 -0.157393 N2 -0.621695 -0.621695 0.476435
- txt003
-STRI
- V0 0.982824 0.982824 2.4875 V1 0.703409 1.19764 2.4875 V2 0.701938 1.19514 2.45469
- N0 -0.621695 -0.621695 0.476435 N1 -0.441188 -0.760669 0.476167 N2 -0.495474 -0.854265 -0.157281
- txt003
-STRI
- V0 0.98077 0.98077 2.45469 V1 1.19514 0.701938 2.45469 V2 1.19764 0.703409 2.4875
- N0 -0.698293 -0.698293 -0.157393 N1 -0.854265 -0.495474 -0.157281 N2 -0.760669 -0.441188 0.476167
- txt003
-STRI
- V0 1.19764 0.703409 2.4875 V1 0.982824 0.982824 2.4875 V2 0.98077 0.98077 2.45469
- N0 -0.760669 -0.441188 0.476167 N1 -0.621695 -0.621695 0.476435 N2 -0.698293 -0.698293 -0.157393
- txt003
-STRI
- V0 1.19514 0.701938 2.45469 V1 1.33276 0.370922 2.45469 V2 1.33555 0.371699 2.4875
- N0 -0.854265 -0.495474 -0.157281 N1 -0.953562 -0.257047 -0.156989 N2 -0.849414 -0.228972 0.475466
- txt003
-STRI
- V0 1.33555 0.371699 2.4875 V1 1.19764 0.703409 2.4875 V2 1.19514 0.701938 2.45469
- N0 -0.849414 -0.228972 0.475466 N1 -0.760669 -0.441188 0.476167 N2 -0.854265 -0.495474 -0.157281
- txt003
-STRI
- V0 1.33276 0.370922 2.45469 V1 1.38137 0 2.45469 V2 1.38426 0 2.4875
- N0 -0.953562 -0.257047 -0.156989 N1 -0.987636 -9.89971e-17 -0.156768 N2 -0.880022 -6.08179e-16 0.474933
- txt003
-STRI
- V0 1.38426 0 2.4875 V1 1.33555 0.371699 2.4875 V2 1.33276 0.370922 2.45469
- N0 -0.880022 -6.08179e-16 0.474933 N1 -0.849414 -0.228972 0.475466 N2 -0.953562 -0.257047 -0.156989
- txt003
-STRI
- V0 0 1.38426 2.4875 V1 0.371699 1.33555 2.4875 V2 0.376765 1.35376 2.49844
- N0 0 -0.880022 0.474933 N1 -0.228972 -0.849414 0.475466 N2 5.93089e-16 2.13636e-15 1
- txt003
-STRI
- V0 0.376765 1.35376 2.49844 V1 0 1.40312 2.49844 V2 0 1.38426 2.4875
- N0 5.93089e-16 2.13636e-15 1 N1 -0 2.22045e-15 1 N2 0 -0.880022 0.474933
- txt003
-STRI
- V0 0.371699 1.33555 2.4875 V1 0.703409 1.19764 2.4875 V2 0.712995 1.21396 2.49844
- N0 -0.228972 -0.849414 0.475466 N1 -0.441188 -0.760669 0.476167 N2 1.16933e-15 1.87966e-15 1
- txt003
-STRI
- V0 0.712995 1.21396 2.49844 V1 0.376765 1.35376 2.49844 V2 0.371699 1.33555 2.4875
- N0 1.16933e-15 1.87966e-15 1 N1 5.93089e-16 2.13636e-15 1 N2 -0.228972 -0.849414 0.475466
- txt003
-STRI
- V0 0.703409 1.19764 2.4875 V1 0.982824 0.982824 2.4875 V2 0.996219 0.996219 2.49844
- N0 -0.441188 -0.760669 0.476167 N1 -0.621695 -0.621695 0.476435 N2 1.67359e-15 1.4538e-15 1
- txt003
-STRI
- V0 0.996219 0.996219 2.49844 V1 0.712995 1.21396 2.49844 V2 0.703409 1.19764 2.4875
- N0 1.67359e-15 1.4538e-15 1 N1 1.16933e-15 1.87966e-15 1 N2 -0.441188 -0.760669 0.476167
- txt003
-STRI
- V0 0.982824 0.982824 2.4875 V1 1.19764 0.703409 2.4875 V2 1.21396 0.712995 2.49844
- N0 -0.621695 -0.621695 0.476435 N1 -0.760669 -0.441188 0.476167 N2 2.05298e-15 8.74229e-16 1
- txt003
-STRI
- V0 1.21396 0.712995 2.49844 V1 0.996219 0.996219 2.49844 V2 0.982824 0.982824 2.4875
- N0 2.05298e-15 8.74229e-16 1 N1 1.67359e-15 1.4538e-15 1 N2 -0.621695 -0.621695 0.476435
- txt003
-STRI
- V0 1.19764 0.703409 2.4875 V1 1.33555 0.371699 2.4875 V2 1.35376 0.376765 2.49844
- N0 -0.760669 -0.441188 0.476167 N1 -0.849414 -0.228972 0.475466 N2 2.25214e-15 1.77072e-16 1
- txt003
-STRI
- V0 1.35376 0.376765 2.49844 V1 1.21396 0.712995 2.49844 V2 1.19764 0.703409 2.4875
- N0 2.25214e-15 1.77072e-16 1 N1 2.05298e-15 8.74229e-16 1 N2 -0.760669 -0.441188 0.476167
- txt003
-STRI
- V0 1.33555 0.371699 2.4875 V1 1.38426 0 2.4875 V2 1.40312 0 2.49844
- N0 -0.849414 -0.228972 0.475466 N1 -0.880022 -6.08179e-16 0.474933 N2 2.22045e-15 -5.65179e-16 1
- txt003
-STRI
- V0 1.40312 0 2.49844 V1 1.35376 0.376765 2.49844 V2 1.33555 0.371699 2.4875
- N0 2.22045e-15 -5.65179e-16 1 N1 2.25214e-15 1.77072e-16 1 N2 -0.849414 -0.228972 0.475466
- txt003
-STRI
- V0 0 1.40312 2.49844 V1 0.376765 1.35376 2.49844 V2 0.384628 1.38201 2.4875
- N0 -0 2.22045e-15 1 N1 5.93089e-16 2.13636e-15 1 N2 0.14476 0.537012 0.831061
- txt003
-STRI
- V0 0.384628 1.38201 2.4875 V1 0 1.43241 2.4875 V2 0 1.40312 2.49844
- N0 0.14476 0.537012 0.831061 N1 -0 0.556738 0.830688 N2 -0 2.22045e-15 1
- txt003
-STRI
- V0 0.376765 1.35376 2.49844 V1 0.712995 1.21396 2.49844 V2 0.727875 1.2393 2.4875
- N0 5.93089e-16 2.13636e-15 1 N1 1.16933e-15 1.87966e-15 1 N2 0.278679 0.480481 0.83155
- txt003
-STRI
- V0 0.727875 1.2393 2.4875 V1 0.384628 1.38201 2.4875 V2 0.376765 1.35376 2.49844
- N0 0.278679 0.480481 0.83155 N1 0.14476 0.537012 0.831061 N2 5.93089e-16 2.13636e-15 1
- txt003
-STRI
- V0 0.712995 1.21396 2.49844 V1 0.996219 0.996219 2.49844 V2 1.01701 1.01701 2.4875
- N0 1.16933e-15 1.87966e-15 1 N1 1.67359e-15 1.4538e-15 1 N2 0.392564 0.392564 0.831737
- txt003
-STRI
- V0 1.01701 1.01701 2.4875 V1 0.727875 1.2393 2.4875 V2 0.712995 1.21396 2.49844
- N0 0.392564 0.392564 0.831737 N1 0.278679 0.480481 0.83155 N2 1.16933e-15 1.87966e-15 1
- txt003
-STRI
- V0 0.996219 0.996219 2.49844 V1 1.21396 0.712995 2.49844 V2 1.2393 0.727875 2.4875
- N0 1.67359e-15 1.4538e-15 1 N1 2.05298e-15 8.74229e-16 1 N2 0.480481 0.278679 0.83155
- txt003
-STRI
- V0 1.2393 0.727875 2.4875 V1 1.01701 1.01701 2.4875 V2 0.996219 0.996219 2.49844
- N0 0.480481 0.278679 0.83155 N1 0.392564 0.392564 0.831737 N2 1.67359e-15 1.4538e-15 1
- txt003
-STRI
- V0 1.21396 0.712995 2.49844 V1 1.35376 0.376765 2.49844 V2 1.38201 0.384628 2.4875
- N0 2.05298e-15 8.74229e-16 1 N1 2.25214e-15 1.77072e-16 1 N2 0.537012 0.14476 0.831061
- txt003
-STRI
- V0 1.38201 0.384628 2.4875 V1 1.2393 0.727875 2.4875 V2 1.21396 0.712995 2.49844
- N0 0.537012 0.14476 0.831061 N1 0.480481 0.278679 0.83155 N2 2.05298e-15 8.74229e-16 1
- txt003
-STRI
- V0 1.35376 0.376765 2.49844 V1 1.40312 0 2.49844 V2 1.43241 0 2.4875
- N0 2.25214e-15 1.77072e-16 1 N1 2.22045e-15 -5.65179e-16 1 N2 0.556738 -4.5989e-16 0.830688
- txt003
-STRI
- V0 1.43241 0 2.4875 V1 1.38201 0.384628 2.4875 V2 1.35376 0.376765 2.49844
- N0 0.556738 -4.5989e-16 0.830688 N1 0.537012 0.14476 0.831061 N2 2.25214e-15 1.77072e-16 1
- txt003
-STRI
- V0 0 1.43241 2.4875 V1 0.384628 1.38201 2.4875 V2 0.393796 1.41495 2.45469
- N0 -0 0.556738 0.830688 N1 0.14476 0.537012 0.831061 N2 0.203756 0.755869 0.622211
- txt003
-STRI
- V0 0.393796 1.41495 2.45469 V1 0 1.46655 2.45469 V2 0 1.43241 2.4875
- N0 0.203756 0.755869 0.622211 N1 -0 0.783289 0.621658 N2 -0 0.556738 0.830688
- txt003
-STRI
- V0 0.384628 1.38201 2.4875 V1 0.727875 1.2393 2.4875 V2 0.745225 1.26884 2.45469
- N0 0.14476 0.537012 0.831061 N1 0.278679 0.480481 0.83155 N2 0.39248 0.67669 0.622937
- txt003
-STRI
- V0 0.745225 1.26884 2.45469 V1 0.393796 1.41495 2.45469 V2 0.384628 1.38201 2.4875
- N0 0.39248 0.67669 0.622937 N1 0.203756 0.755869 0.622211 N2 0.14476 0.537012 0.831061
- txt003
-STRI
- V0 0.727875 1.2393 2.4875 V1 1.01701 1.01701 2.4875 V2 1.04125 1.04125 2.45469
- N0 0.278679 0.480481 0.83155 N1 0.392564 0.392564 0.831737 N2 0.552993 0.552993 0.623215
- txt003
-STRI
- V0 1.04125 1.04125 2.45469 V1 0.745225 1.26884 2.45469 V2 0.727875 1.2393 2.4875
- N0 0.552993 0.552993 0.623215 N1 0.39248 0.67669 0.622937 N2 0.278679 0.480481 0.83155
- txt003
-STRI
- V0 1.01701 1.01701 2.4875 V1 1.2393 0.727875 2.4875 V2 1.26884 0.745225 2.45469
- N0 0.392564 0.392564 0.831737 N1 0.480481 0.278679 0.83155 N2 0.67669 0.39248 0.622937
- txt003
-STRI
- V0 1.26884 0.745225 2.45469 V1 1.04125 1.04125 2.45469 V2 1.01701 1.01701 2.4875
- N0 0.67669 0.39248 0.622937 N1 0.552993 0.552993 0.623215 N2 0.392564 0.392564 0.831737
- txt003
-STRI
- V0 1.2393 0.727875 2.4875 V1 1.38201 0.384628 2.4875 V2 1.41495 0.393796 2.45469
- N0 0.480481 0.278679 0.83155 N1 0.537012 0.14476 0.831061 N2 0.755869 0.203756 0.622211
- txt003
-STRI
- V0 1.41495 0.393796 2.45469 V1 1.26884 0.745225 2.45469 V2 1.2393 0.727875 2.4875
- N0 0.755869 0.203756 0.622211 N1 0.67669 0.39248 0.622937 N2 0.480481 0.278679 0.83155
- txt003
-STRI
- V0 1.38201 0.384628 2.4875 V1 1.43241 0 2.4875 V2 1.46655 0 2.45469
- N0 0.537012 0.14476 0.831061 N1 0.556738 -4.5989e-16 0.830688 N2 0.783289 -1.94969e-16 0.621658
- txt003
-STRI
- V0 1.46655 0 2.45469 V1 1.41495 0.393796 2.45469 V2 1.38201 0.384628 2.4875
- N0 0.783289 -1.94969e-16 0.621658 N1 0.755869 0.203756 0.622211 N2 0.537012 0.14476 0.831061
- txt003
-STRI
- V0 0 1.46655 2.45469 V1 0.393796 1.41495 2.45469 V2 0.402778 1.44722 2.4
- N0 -0 0.783289 0.621658 N1 0.203756 0.755869 0.622211 N2 0.234929 0.871509 0.430442
- txt003
-STRI
- V0 0.402778 1.44722 2.4 V1 0 1.5 2.4 V2 0 1.46655 2.45469
- N0 0.234929 0.871509 0.430442 N1 -0 0.902861 0.429934 N2 -0 0.783289 0.621658
- txt003
-STRI
- V0 0.393796 1.41495 2.45469 V1 0.745225 1.26884 2.45469 V2 0.762222 1.29778 2.4
- N0 0.203756 0.755869 0.622211 N1 0.39248 0.67669 0.622937 N2 0.4527 0.780517 0.43111
- txt003
-STRI
- V0 0.762222 1.29778 2.4 V1 0.402778 1.44722 2.4 V2 0.393796 1.41495 2.45469
- N0 0.4527 0.780517 0.43111 N1 0.234929 0.871509 0.430442 N2 0.203756 0.755869 0.622211
- txt003
-STRI
- V0 0.745225 1.26884 2.45469 V1 1.04125 1.04125 2.45469 V2 1.065 1.065 2.4
- N0 0.39248 0.67669 0.622937 N1 0.552993 0.552993 0.623215 N2 0.637936 0.637936 0.431366
- txt003
-STRI
- V0 1.065 1.065 2.4 V1 0.762222 1.29778 2.4 V2 0.745225 1.26884 2.45469
- N0 0.637936 0.637936 0.431366 N1 0.4527 0.780517 0.43111 N2 0.39248 0.67669 0.622937
- txt003
-STRI
- V0 1.04125 1.04125 2.45469 V1 1.26884 0.745225 2.45469 V2 1.29778 0.762222 2.4
- N0 0.552993 0.552993 0.623215 N1 0.67669 0.39248 0.622937 N2 0.780517 0.4527 0.43111
- txt003
-STRI
- V0 1.29778 0.762222 2.4 V1 1.065 1.065 2.4 V2 1.04125 1.04125 2.45469
- N0 0.780517 0.4527 0.43111 N1 0.637936 0.637936 0.431366 N2 0.552993 0.552993 0.623215
- txt003
-STRI
- V0 1.26884 0.745225 2.45469 V1 1.41495 0.393796 2.45469 V2 1.44722 0.402778 2.4
- N0 0.67669 0.39248 0.622937 N1 0.755869 0.203756 0.622211 N2 0.871509 0.234929 0.430442
- txt003
-STRI
- V0 1.44722 0.402778 2.4 V1 1.29778 0.762222 2.4 V2 1.26884 0.745225 2.45469
- N0 0.871509 0.234929 0.430442 N1 0.780517 0.4527 0.43111 N2 0.67669 0.39248 0.622937
- txt003
-STRI
- V0 1.41495 0.393796 2.45469 V1 1.46655 0 2.45469 V2 1.5 0 2.4
- N0 0.755869 0.203756 0.622211 N1 0.783289 -1.94969e-16 0.621658 N2 0.902861 -6.81889e-17 0.429934
- txt003
-STRI
- V0 1.5 0 2.4 V1 1.44722 0.402778 2.4 V2 1.41495 0.393796 2.45469
- N0 0.902861 -6.81889e-17 0.429934 N1 0.871509 0.234929 0.430442 N2 0.755869 0.203756 0.622211
- txt003
-STRI
- V0 1.5 0 2.4 V1 1.44722 -0.402778 2.4 V2 1.56671 -0.436032 2.13785
- N0 0.902861 0 0.429934 N1 0.871509 -0.234929 0.430442 N2 0.875348 -0.235963 0.422003
- txt003
-STRI
- V0 1.56671 -0.436032 2.13785 V1 1.62384 0 2.13785 V2 1.5 0 2.4
- N0 0.875348 -0.235963 0.422003 N1 0.906828 0 0.4215 N2 0.902861 0 0.429934
- txt003
-STRI
- V0 1.44722 -0.402778 2.4 V1 1.29778 -0.762222 2.4 V2 1.40492 -0.825153 2.13785
- N0 0.871509 -0.234929 0.430442 N1 0.780517 -0.4527 0.43111 N2 0.783966 -0.4547 0.422664
- txt003
-STRI
- V0 1.40492 -0.825153 2.13785 V1 1.56671 -0.436032 2.13785 V2 1.44722 -0.402778 2.4
- N0 0.783966 -0.4547 0.422664 N1 0.875348 -0.235963 0.422003 N2 0.871509 -0.234929 0.430442
- txt003
-STRI
- V0 1.29778 -0.762222 2.4 V1 1.065 -1.065 2.4 V2 1.15293 -1.15293 2.13785
- N0 0.780517 -0.4527 0.43111 N1 0.637936 -0.637936 0.431366 N2 0.640758 -0.640758 0.422917
- txt003
-STRI
- V0 1.15293 -1.15293 2.13785 V1 1.40492 -0.825153 2.13785 V2 1.29778 -0.762222 2.4
- N0 0.640758 -0.640758 0.422917 N1 0.783966 -0.4547 0.422664 N2 0.780517 -0.4527 0.43111
- txt003
-STRI
- V0 1.065 -1.065 2.4 V1 0.762222 -1.29778 2.4 V2 0.825153 -1.40492 2.13785
- N0 0.637936 -0.637936 0.431366 N1 0.4527 -0.780517 0.43111 N2 0.4547 -0.783966 0.422664
- txt003
-STRI
- V0 0.825153 -1.40492 2.13785 V1 1.15293 -1.15293 2.13785 V2 1.065 -1.065 2.4
- N0 0.4547 -0.783966 0.422664 N1 0.640758 -0.640758 0.422917 N2 0.637936 -0.637936 0.431366
- txt003
-STRI
- V0 0.762222 -1.29778 2.4 V1 0.402778 -1.44722 2.4 V2 0.436032 -1.56671 2.13785
- N0 0.4527 -0.780517 0.43111 N1 0.234929 -0.871509 0.430442 N2 0.235963 -0.875348 0.422003
- txt003
-STRI
- V0 0.436032 -1.56671 2.13785 V1 0.825153 -1.40492 2.13785 V2 0.762222 -1.29778 2.4
- N0 0.235963 -0.875348 0.422003 N1 0.4547 -0.783966 0.422664 N2 0.4527 -0.780517 0.43111
- txt003
-STRI
- V0 0.402778 -1.44722 2.4 V1 0 -1.5 2.4 V2 2.22045e-16 -1.62384 2.13785
- N0 0.234929 -0.871509 0.430442 N1 -2.27296e-16 -0.902861 0.429934 N2 -2.05843e-16 -0.906828 0.4215
- txt003
-STRI
- V0 2.22045e-16 -1.62384 2.13785 V1 0.436032 -1.56671 2.13785 V2 0.402778 -1.44722 2.4
- N0 -2.05843e-16 -0.906828 0.4215 N1 0.235963 -0.875348 0.422003 N2 0.234929 -0.871509 0.430442
- txt003
-STRI
- V0 1.62384 0 2.13785 V1 1.56671 -0.436032 2.13785 V2 1.67949 -0.467421 1.87778
- N0 0.906828 0 0.4215 N1 0.875348 -0.235963 0.422003 N2 0.886771 -0.239043 0.395595
- txt003
-STRI
- V0 1.67949 -0.467421 1.87778 V1 1.74074 0 1.87778 V2 1.62384 0 2.13785
- N0 0.886771 -0.239043 0.395595 N1 0.918633 0 0.395111 N2 0.906828 0 0.4215
- txt003
-STRI
- V0 1.56671 -0.436032 2.13785 V1 1.40492 -0.825153 2.13785 V2 1.50606 -0.884554 1.87778
- N0 0.875348 -0.235963 0.422003 N1 0.783966 -0.4547 0.422664 N2 0.794229 -0.460653 0.39623
- txt003
-STRI
- V0 1.50606 -0.884554 1.87778 V1 1.67949 -0.467421 1.87778 V2 1.56671 -0.436032 2.13785
- N0 0.794229 -0.460653 0.39623 N1 0.886771 -0.239043 0.395595 N2 0.875348 -0.235963 0.422003
- txt003
-STRI
- V0 1.40492 -0.825153 2.13785 V1 1.15293 -1.15293 2.13785 V2 1.23593 -1.23593 1.87778
- N0 0.783966 -0.4547 0.422664 N1 0.640758 -0.640758 0.422917 N2 0.649156 -0.649156 0.396474
- txt003
-STRI
- V0 1.23593 -1.23593 1.87778 V1 1.50606 -0.884554 1.87778 V2 1.40492 -0.825153 2.13785
- N0 0.649156 -0.649156 0.396474 N1 0.794229 -0.460653 0.39623 N2 0.783966 -0.4547 0.422664
- txt003
-STRI
- V0 1.15293 -1.15293 2.13785 V1 0.825153 -1.40492 2.13785 V2 0.884554 -1.50606 1.87778
- N0 0.640758 -0.640758 0.422917 N1 0.4547 -0.783966 0.422664 N2 0.460653 -0.794229 0.39623
- txt003
-STRI
- V0 0.884554 -1.50606 1.87778 V1 1.23593 -1.23593 1.87778 V2 1.15293 -1.15293 2.13785
- N0 0.460653 -0.794229 0.39623 N1 0.649156 -0.649156 0.396474 N2 0.640758 -0.640758 0.422917
- txt003
-STRI
- V0 0.825153 -1.40492 2.13785 V1 0.436032 -1.56671 2.13785 V2 0.467421 -1.67949 1.87778
- N0 0.4547 -0.783966 0.422664 N1 0.235963 -0.875348 0.422003 N2 0.239043 -0.886771 0.395595
- txt003
-STRI
- V0 0.467421 -1.67949 1.87778 V1 0.884554 -1.50606 1.87778 V2 0.825153 -1.40492 2.13785
- N0 0.239043 -0.886771 0.395595 N1 0.460653 -0.794229 0.39623 N2 0.4547 -0.783966 0.422664
- txt003
-STRI
- V0 0.436032 -1.56671 2.13785 V1 2.22045e-16 -1.62384 2.13785 V2 0 -1.74074 1.87778
- N0 0.235963 -0.875348 0.422003 N1 -2.05843e-16 -0.906828 0.4215 N2 -1.79998e-16 -0.918633 0.395111
- txt003
-STRI
- V0 0 -1.74074 1.87778 V1 0.467421 -1.67949 1.87778 V2 0.436032 -1.56671 2.13785
- N0 -1.79998e-16 -0.918633 0.395111 N1 0.239043 -0.886771 0.395595 N2 0.235963 -0.875348 0.422003
- txt003
-STRI
- V0 1.74074 0 1.87778 V1 1.67949 -0.467421 1.87778 V2 1.77888 -0.495081 1.62188
- N0 0.918633 0 0.395111 N1 0.886771 -0.239043 0.395595 N2 0.90527 -0.244029 0.347757
- txt003
-STRI
- V0 1.77888 -0.495081 1.62188 V1 1.84375 0 1.62188 V2 1.74074 0 1.87778
- N0 0.90527 -0.244029 0.347757 N1 0.937749 0 0.347314 N2 0.918633 0 0.395111
- txt003
-STRI
- V0 1.67949 -0.467421 1.87778 V1 1.50606 -0.884554 1.87778 V2 1.59519 -0.936898 1.62188
- N0 0.886771 -0.239043 0.395595 N1 0.794229 -0.460653 0.39623 N2 0.810853 -0.470295 0.34834
- txt003
-STRI
- V0 1.59519 -0.936898 1.62188 V1 1.77888 -0.495081 1.62188 V2 1.67949 -0.467421 1.87778
- N0 0.810853 -0.470295 0.34834 N1 0.90527 -0.244029 0.347757 N2 0.886771 -0.239043 0.395595
- txt003
-STRI
- V0 1.50606 -0.884554 1.87778 V1 1.23593 -1.23593 1.87778 V2 1.30906 -1.30906 1.62188
- N0 0.794229 -0.460653 0.39623 N1 0.649156 -0.649156 0.396474 N2 0.662761 -0.662761 0.348563
- txt003
-STRI
- V0 1.30906 -1.30906 1.62188 V1 1.59519 -0.936898 1.62188 V2 1.50606 -0.884554 1.87778
- N0 0.662761 -0.662761 0.348563 N1 0.810853 -0.470295 0.34834 N2 0.794229 -0.460653 0.39623
- txt003
-STRI
- V0 1.23593 -1.23593 1.87778 V1 0.884554 -1.50606 1.87778 V2 0.936898 -1.59519 1.62187
- N0 0.649156 -0.649156 0.396474 N1 0.460653 -0.794229 0.39623 N2 0.470295 -0.810853 0.34834
- txt003
-STRI
- V0 0.936898 -1.59519 1.62187 V1 1.30906 -1.30906 1.62188 V2 1.23593 -1.23593 1.87778
- N0 0.470295 -0.810853 0.34834 N1 0.662761 -0.662761 0.348563 N2 0.649156 -0.649156 0.396474
- txt003
-STRI
- V0 0.884554 -1.50606 1.87778 V1 0.467421 -1.67949 1.87778 V2 0.495081 -1.77888 1.62187
- N0 0.460653 -0.794229 0.39623 N1 0.239043 -0.886771 0.395595 N2 0.244029 -0.90527 0.347757
- txt003
-STRI
- V0 0.495081 -1.77888 1.62187 V1 0.936898 -1.59519 1.62187 V2 0.884554 -1.50606 1.87778
- N0 0.244029 -0.90527 0.347757 N1 0.470295 -0.810853 0.34834 N2 0.460653 -0.794229 0.39623
- txt003
-STRI
- V0 0.467421 -1.67949 1.87778 V1 0 -1.74074 1.87778 V2 0 -1.84375 1.62187
- N0 0.239043 -0.886771 0.395595 N1 -1.79998e-16 -0.918633 0.395111 N2 -1.49384e-16 -0.937749 0.347314
- txt003
-STRI
- V0 0 -1.84375 1.62187 V1 0.495081 -1.77888 1.62187 V2 0.467421 -1.67949 1.87778
- N0 -1.49384e-16 -0.937749 0.347314 N1 0.244029 -0.90527 0.347757 N2 0.239043 -0.886771 0.395595
- txt003
-STRI
- V0 1.84375 0 1.62188 V1 1.77888 -0.495081 1.62188 V2 1.85816 -0.517147 1.37222
- N0 0.937749 0 0.347314 N1 0.90527 -0.244029 0.347757 N2 0.929073 -0.250446 0.272213
- txt003
-STRI
- V0 1.85816 -0.517147 1.37222 V1 1.92593 0 1.37222 V2 1.84375 0 1.62188
- N0 0.929073 -0.250446 0.272213 N1 0.96234 0 0.271848 N2 0.937749 0 0.347314
- txt003
-STRI
- V0 1.77888 -0.495081 1.62188 V1 1.59519 -0.936898 1.62188 V2 1.66628 -0.978656 1.37222
- N0 0.90527 -0.244029 0.347757 N1 0.810853 -0.470295 0.34834 N2 0.832247 -0.482704 0.272693
- txt003
-STRI
- V0 1.66628 -0.978656 1.37222 V1 1.85816 -0.517147 1.37222 V2 1.77888 -0.495081 1.62188
- N0 0.832247 -0.482704 0.272693 N1 0.929073 -0.250446 0.272213 N2 0.90527 -0.244029 0.347757
- txt003
-STRI
- V0 1.59519 -0.936898 1.62188 V1 1.30906 -1.30906 1.62188 V2 1.36741 -1.36741 1.37222
- N0 0.810853 -0.470295 0.34834 N1 0.662761 -0.662761 0.348563 N2 0.680271 -0.680271 0.272877
- txt003
-STRI
- V0 1.36741 -1.36741 1.37222 V1 1.66628 -0.978656 1.37222 V2 1.59519 -0.936898 1.62188
- N0 0.680271 -0.680271 0.272877 N1 0.832247 -0.482704 0.272693 N2 0.810853 -0.470295 0.34834
- txt003
-STRI
- V0 1.30906 -1.30906 1.62188 V1 0.936898 -1.59519 1.62187 V2 0.978656 -1.66628 1.37222
- N0 0.662761 -0.662761 0.348563 N1 0.470295 -0.810853 0.34834 N2 0.482704 -0.832247 0.272693
- txt003
-STRI
- V0 0.978656 -1.66628 1.37222 V1 1.36741 -1.36741 1.37222 V2 1.30906 -1.30906 1.62188
- N0 0.482704 -0.832247 0.272693 N1 0.680271 -0.680271 0.272877 N2 0.662761 -0.662761 0.348563
- txt003
-STRI
- V0 0.936898 -1.59519 1.62187 V1 0.495081 -1.77888 1.62187 V2 0.517147 -1.85816 1.37222
- N0 0.470295 -0.810853 0.34834 N1 0.244029 -0.90527 0.347757 N2 0.250446 -0.929073 0.272213
- txt003
-STRI
- V0 0.517147 -1.85816 1.37222 V1 0.978656 -1.66628 1.37222 V2 0.936898 -1.59519 1.62187
- N0 0.250446 -0.929073 0.272213 N1 0.482704 -0.832247 0.272693 N2 0.470295 -0.810853 0.34834
- txt003
-STRI
- V0 0.495081 -1.77888 1.62187 V1 0 -1.84375 1.62187 V2 2.22045e-16 -1.92593 1.37222
- N0 0.244029 -0.90527 0.347757 N1 -1.49384e-16 -0.937749 0.347314 N2 -1.11936e-16 -0.96234 0.271848
- txt003
-STRI
- V0 2.22045e-16 -1.92593 1.37222 V1 0.517147 -1.85816 1.37222 V2 0.495081 -1.77888 1.62187
- N0 -1.11936e-16 -0.96234 0.271848 N1 0.250446 -0.929073 0.272213 N2 0.244029 -0.90527 0.347757
- txt003
-STRI
- V0 1.92593 0 1.37222 V1 1.85816 -0.517147 1.37222 V2 1.91065 -0.531754 1.1309
- N0 0.96234 0 0.271848 N1 0.929073 -0.250446 0.272213 N2 0.953145 -0.256935 0.159686
- txt003
-STRI
- V0 1.91065 -0.531754 1.1309 V1 1.98032 0 1.1309 V2 1.92593 0 1.37222
- N0 0.953145 -0.256935 0.159686 N1 0.987204 0 0.15946 N2 0.96234 0 0.271848
- txt003
-STRI
- V0 1.85816 -0.517147 1.37222 V1 1.66628 -0.978656 1.37222 V2 1.71335 -1.0063 1.1309
- N0 0.929073 -0.250446 0.272213 N1 0.832247 -0.482704 0.272693 N2 0.853889 -0.495256 0.159982
- txt003
-STRI
- V0 1.71335 -1.0063 1.1309 V1 1.91065 -0.531754 1.1309 V2 1.85816 -0.517147 1.37222
- N0 0.853889 -0.495256 0.159982 N1 0.953145 -0.256935 0.159686 N2 0.929073 -0.250446 0.272213
- txt003
-STRI
- V0 1.66628 -0.978656 1.37222 V1 1.36741 -1.36741 1.37222 V2 1.40603 -1.40603 1.1309
- N0 0.832247 -0.482704 0.272693 N1 0.680271 -0.680271 0.272877 N2 0.697986 -0.697986 0.160096
- txt003
-STRI
- V0 1.40603 -1.40603 1.1309 V1 1.71335 -1.0063 1.1309 V2 1.66628 -0.978656 1.37222
- N0 0.697986 -0.697986 0.160096 N1 0.853889 -0.495256 0.159982 N2 0.832247 -0.482704 0.272693
- txt003
-STRI
- V0 1.36741 -1.36741 1.37222 V1 0.978656 -1.66628 1.37222 V2 1.0063 -1.71335 1.1309
- N0 0.680271 -0.680271 0.272877 N1 0.482704 -0.832247 0.272693 N2 0.495256 -0.853889 0.159982
- txt003
-STRI
- V0 1.0063 -1.71335 1.1309 V1 1.40603 -1.40603 1.1309 V2 1.36741 -1.36741 1.37222
- N0 0.495256 -0.853889 0.159982 N1 0.697986 -0.697986 0.160096 N2 0.680271 -0.680271 0.272877
- txt003
-STRI
- V0 0.978656 -1.66628 1.37222 V1 0.517147 -1.85816 1.37222 V2 0.531754 -1.91065 1.1309
- N0 0.482704 -0.832247 0.272693 N1 0.250446 -0.929073 0.272213 N2 0.256935 -0.953145 0.159686
- txt003
-STRI
- V0 0.531754 -1.91065 1.1309 V1 1.0063 -1.71335 1.1309 V2 0.978656 -1.66628 1.37222
- N0 0.256935 -0.953145 0.159686 N1 0.495256 -0.853889 0.159982 N2 0.482704 -0.832247 0.272693
- txt003
-STRI
- V0 0.517147 -1.85816 1.37222 V1 2.22045e-16 -1.92593 1.37222 V2 -2.22045e-16 -1.98032 1.1309
- N0 0.250446 -0.929073 0.272213 N1 -1.11936e-16 -0.96234 0.271848 N2 -6.38555e-17 -0.987204 0.15946
- txt003
-STRI
- V0 -2.22045e-16 -1.98032 1.1309 V1 0.531754 -1.91065 1.1309 V2 0.517147 -1.85816 1.37222
- N0 -6.38555e-17 -0.987204 0.15946 N1 0.256935 -0.953145 0.159686 N2 0.250446 -0.929073 0.272213
- txt003
-STRI
- V0 1.98032 0 1.1309 V1 1.91065 -0.531754 1.1309 V2 1.92963 -0.537037 0.9
- N0 0.987204 0 0.15946 N1 0.953145 -0.256935 0.159686 N2 0.965535 -0.260275 5.17854e-17
- txt003
-STRI
- V0 1.92963 -0.537037 0.9 V1 2 0 0.9 V2 1.98032 0 1.1309
- N0 0.965535 -0.260275 5.17854e-17 N1 1 0 0 N2 0.987204 0 0.15946
- txt003
-STRI
- V0 1.91065 -0.531754 1.1309 V1 1.71335 -1.0063 1.1309 V2 1.73037 -1.0163 0.9
- N0 0.953145 -0.256935 0.159686 N1 0.853889 -0.495256 0.159982 N2 0.865031 -0.501718 1.36587e-16
- txt003
-STRI
- V0 1.73037 -1.0163 0.9 V1 1.92963 -0.537037 0.9 V2 1.91065 -0.531754 1.1309
- N0 0.865031 -0.501718 1.36587e-16 N1 0.965535 -0.260275 5.17854e-17 N2 0.953145 -0.256935 0.159686
- txt003
-STRI
- V0 1.71335 -1.0063 1.1309 V1 1.40603 -1.40603 1.1309 V2 1.42 -1.42 0.9
- N0 0.853889 -0.495256 0.159982 N1 0.697986 -0.697986 0.160096 N2 0.707107 -0.707107 1.74455e-16
- txt003
-STRI
- V0 1.42 -1.42 0.9 V1 1.73037 -1.0163 0.9 V2 1.71335 -1.0063 1.1309
- N0 0.707107 -0.707107 1.74455e-16 N1 0.865031 -0.501718 1.36587e-16 N2 0.853889 -0.495256 0.159982
- txt003
-STRI
- V0 1.40603 -1.40603 1.1309 V1 1.0063 -1.71335 1.1309 V2 1.0163 -1.73037 0.9
- N0 0.697986 -0.697986 0.160096 N1 0.495256 -0.853889 0.159982 N2 0.501718 -0.865031 1.36587e-16
- txt003
-STRI
- V0 1.0163 -1.73037 0.9 V1 1.42 -1.42 0.9 V2 1.40603 -1.40603 1.1309
- N0 0.501718 -0.865031 1.36587e-16 N1 0.707107 -0.707107 1.74455e-16 N2 0.697986 -0.697986 0.160096
- txt003
-STRI
- V0 1.0063 -1.71335 1.1309 V1 0.531754 -1.91065 1.1309 V2 0.537037 -1.92963 0.9
- N0 0.495256 -0.853889 0.159982 N1 0.256935 -0.953145 0.159686 N2 0.260275 -0.965535 5.17854e-17
- txt003
-STRI
- V0 0.537037 -1.92963 0.9 V1 1.0163 -1.73037 0.9 V2 1.0063 -1.71335 1.1309
- N0 0.260275 -0.965535 5.17854e-17 N1 0.501718 -0.865031 1.36587e-16 N2 0.495256 -0.853889 0.159982
- txt003
-STRI
- V0 0.531754 -1.91065 1.1309 V1 -2.22045e-16 -1.98032 1.1309 V2 0 -2 0.9
- N0 0.256935 -0.953145 0.159686 N1 -6.38555e-17 -0.987204 0.15946 N2 0 -1 -0
- txt003
-STRI
- V0 0 -2 0.9 V1 0.537037 -1.92963 0.9 V2 0.531754 -1.91065 1.1309
- N0 0 -1 -0 N1 0.260275 -0.965535 5.17854e-17 N2 0.256935 -0.953145 0.159686
- txt003
-STRI
- V0 0 -1.5 2.4 V1 -0.402778 -1.44722 2.4 V2 -0.436032 -1.56671 2.13785
- N0 0 -0.902861 0.429934 N1 -0.234929 -0.871509 0.430442 N2 -0.235963 -0.875348 0.422003
- txt003
-STRI
- V0 -0.436032 -1.56671 2.13785 V1 0 -1.62384 2.13785 V2 0 -1.5 2.4
- N0 -0.235963 -0.875348 0.422003 N1 0 -0.906828 0.4215 N2 0 -0.902861 0.429934
- txt003
-STRI
- V0 -0.402778 -1.44722 2.4 V1 -0.762222 -1.29778 2.4 V2 -0.825153 -1.40492 2.13785
- N0 -0.234929 -0.871509 0.430442 N1 -0.4527 -0.780517 0.43111 N2 -0.4547 -0.783966 0.422664
- txt003
-STRI
- V0 -0.825153 -1.40492 2.13785 V1 -0.436032 -1.56671 2.13785 V2 -0.402778 -1.44722 2.4
- N0 -0.4547 -0.783966 0.422664 N1 -0.235963 -0.875348 0.422003 N2 -0.234929 -0.871509 0.430442
- txt003
-STRI
- V0 -0.762222 -1.29778 2.4 V1 -1.065 -1.065 2.4 V2 -1.15293 -1.15293 2.13785
- N0 -0.4527 -0.780517 0.43111 N1 -0.637936 -0.637936 0.431366 N2 -0.640758 -0.640758 0.422917
- txt003
-STRI
- V0 -1.15293 -1.15293 2.13785 V1 -0.825153 -1.40492 2.13785 V2 -0.762222 -1.29778 2.4
- N0 -0.640758 -0.640758 0.422917 N1 -0.4547 -0.783966 0.422664 N2 -0.4527 -0.780517 0.43111
- txt003
-STRI
- V0 -1.065 -1.065 2.4 V1 -1.29778 -0.762222 2.4 V2 -1.40492 -0.825153 2.13785
- N0 -0.637936 -0.637936 0.431366 N1 -0.780517 -0.4527 0.43111 N2 -0.783966 -0.4547 0.422664
- txt003
-STRI
- V0 -1.40492 -0.825153 2.13785 V1 -1.15293 -1.15293 2.13785 V2 -1.065 -1.065 2.4
- N0 -0.783966 -0.4547 0.422664 N1 -0.640758 -0.640758 0.422917 N2 -0.637936 -0.637936 0.431366
- txt003
-STRI
- V0 -1.29778 -0.762222 2.4 V1 -1.44722 -0.402778 2.4 V2 -1.56671 -0.436032 2.13785
- N0 -0.780517 -0.4527 0.43111 N1 -0.871509 -0.234929 0.430442 N2 -0.875348 -0.235963 0.422003
- txt003
-STRI
- V0 -1.56671 -0.436032 2.13785 V1 -1.40492 -0.825153 2.13785 V2 -1.29778 -0.762222 2.4
- N0 -0.875348 -0.235963 0.422003 N1 -0.783966 -0.4547 0.422664 N2 -0.780517 -0.4527 0.43111
- txt003
-STRI
- V0 -1.44722 -0.402778 2.4 V1 -1.5 0 2.4 V2 -1.62384 -2.22045e-16 2.13785
- N0 -0.871509 -0.234929 0.430442 N1 -0.902861 2.27296e-16 0.429934 N2 -0.906828 2.05843e-16 0.4215
- txt003
-STRI
- V0 -1.62384 -2.22045e-16 2.13785 V1 -1.56671 -0.436032 2.13785 V2 -1.44722 -0.402778 2.4
- N0 -0.906828 2.05843e-16 0.4215 N1 -0.875348 -0.235963 0.422003 N2 -0.871509 -0.234929 0.430442
- txt003
-STRI
- V0 0 -1.62384 2.13785 V1 -0.436032 -1.56671 2.13785 V2 -0.467421 -1.67949 1.87778
- N0 0 -0.906828 0.4215 N1 -0.235963 -0.875348 0.422003 N2 -0.239043 -0.886771 0.395595
- txt003
-STRI
- V0 -0.467421 -1.67949 1.87778 V1 0 -1.74074 1.87778 V2 0 -1.62384 2.13785
- N0 -0.239043 -0.886771 0.395595 N1 0 -0.918633 0.395111 N2 0 -0.906828 0.4215
- txt003
-STRI
- V0 -0.436032 -1.56671 2.13785 V1 -0.825153 -1.40492 2.13785 V2 -0.884554 -1.50606 1.87778
- N0 -0.235963 -0.875348 0.422003 N1 -0.4547 -0.783966 0.422664 N2 -0.460653 -0.794229 0.39623
- txt003
-STRI
- V0 -0.884554 -1.50606 1.87778 V1 -0.467421 -1.67949 1.87778 V2 -0.436032 -1.56671 2.13785
- N0 -0.460653 -0.794229 0.39623 N1 -0.239043 -0.886771 0.395595 N2 -0.235963 -0.875348 0.422003
- txt003
-STRI
- V0 -0.825153 -1.40492 2.13785 V1 -1.15293 -1.15293 2.13785 V2 -1.23593 -1.23593 1.87778
- N0 -0.4547 -0.783966 0.422664 N1 -0.640758 -0.640758 0.422917 N2 -0.649156 -0.649156 0.396474
- txt003
-STRI
- V0 -1.23593 -1.23593 1.87778 V1 -0.884554 -1.50606 1.87778 V2 -0.825153 -1.40492 2.13785
- N0 -0.649156 -0.649156 0.396474 N1 -0.460653 -0.794229 0.39623 N2 -0.4547 -0.783966 0.422664
- txt003
-STRI
- V0 -1.15293 -1.15293 2.13785 V1 -1.40492 -0.825153 2.13785 V2 -1.50606 -0.884554 1.87778
- N0 -0.640758 -0.640758 0.422917 N1 -0.783966 -0.4547 0.422664 N2 -0.794229 -0.460653 0.39623
- txt003
-STRI
- V0 -1.50606 -0.884554 1.87778 V1 -1.23593 -1.23593 1.87778 V2 -1.15293 -1.15293 2.13785
- N0 -0.794229 -0.460653 0.39623 N1 -0.649156 -0.649156 0.396474 N2 -0.640758 -0.640758 0.422917
- txt003
-STRI
- V0 -1.40492 -0.825153 2.13785 V1 -1.56671 -0.436032 2.13785 V2 -1.67949 -0.467421 1.87778
- N0 -0.783966 -0.4547 0.422664 N1 -0.875348 -0.235963 0.422003 N2 -0.886771 -0.239043 0.395595
- txt003
-STRI
- V0 -1.67949 -0.467421 1.87778 V1 -1.50606 -0.884554 1.87778 V2 -1.40492 -0.825153 2.13785
- N0 -0.886771 -0.239043 0.395595 N1 -0.794229 -0.460653 0.39623 N2 -0.783966 -0.4547 0.422664
- txt003
-STRI
- V0 -1.56671 -0.436032 2.13785 V1 -1.62384 -2.22045e-16 2.13785 V2 -1.74074 0 1.87778
- N0 -0.875348 -0.235963 0.422003 N1 -0.906828 2.05843e-16 0.4215 N2 -0.918633 1.79998e-16 0.395111
- txt003
-STRI
- V0 -1.74074 0 1.87778 V1 -1.67949 -0.467421 1.87778 V2 -1.56671 -0.436032 2.13785
- N0 -0.918633 1.79998e-16 0.395111 N1 -0.886771 -0.239043 0.395595 N2 -0.875348 -0.235963 0.422003
- txt003
-STRI
- V0 0 -1.74074 1.87778 V1 -0.467421 -1.67949 1.87778 V2 -0.495081 -1.77888 1.62188
- N0 0 -0.918633 0.395111 N1 -0.239043 -0.886771 0.395595 N2 -0.244029 -0.90527 0.347757
- txt003
-STRI
- V0 -0.495081 -1.77888 1.62188 V1 0 -1.84375 1.62188 V2 0 -1.74074 1.87778
- N0 -0.244029 -0.90527 0.347757 N1 0 -0.937749 0.347314 N2 0 -0.918633 0.395111
- txt003
-STRI
- V0 -0.467421 -1.67949 1.87778 V1 -0.884554 -1.50606 1.87778 V2 -0.936898 -1.59519 1.62188
- N0 -0.239043 -0.886771 0.395595 N1 -0.460653 -0.794229 0.39623 N2 -0.470295 -0.810853 0.34834
- txt003
-STRI
- V0 -0.936898 -1.59519 1.62188 V1 -0.495081 -1.77888 1.62188 V2 -0.467421 -1.67949 1.87778
- N0 -0.470295 -0.810853 0.34834 N1 -0.244029 -0.90527 0.347757 N2 -0.239043 -0.886771 0.395595
- txt003
-STRI
- V0 -0.884554 -1.50606 1.87778 V1 -1.23593 -1.23593 1.87778 V2 -1.30906 -1.30906 1.62188
- N0 -0.460653 -0.794229 0.39623 N1 -0.649156 -0.649156 0.396474 N2 -0.662761 -0.662761 0.348563
- txt003
-STRI
- V0 -1.30906 -1.30906 1.62188 V1 -0.936898 -1.59519 1.62188 V2 -0.884554 -1.50606 1.87778
- N0 -0.662761 -0.662761 0.348563 N1 -0.470295 -0.810853 0.34834 N2 -0.460653 -0.794229 0.39623
- txt003
-STRI
- V0 -1.23593 -1.23593 1.87778 V1 -1.50606 -0.884554 1.87778 V2 -1.59519 -0.936898 1.62187
- N0 -0.649156 -0.649156 0.396474 N1 -0.794229 -0.460653 0.39623 N2 -0.810853 -0.470295 0.34834
- txt003
-STRI
- V0 -1.59519 -0.936898 1.62187 V1 -1.30906 -1.30906 1.62188 V2 -1.23593 -1.23593 1.87778
- N0 -0.810853 -0.470295 0.34834 N1 -0.662761 -0.662761 0.348563 N2 -0.649156 -0.649156 0.396474
- txt003
-STRI
- V0 -1.50606 -0.884554 1.87778 V1 -1.67949 -0.467421 1.87778 V2 -1.77888 -0.495081 1.62187
- N0 -0.794229 -0.460653 0.39623 N1 -0.886771 -0.239043 0.395595 N2 -0.90527 -0.244029 0.347757
- txt003
-STRI
- V0 -1.77888 -0.495081 1.62187 V1 -1.59519 -0.936898 1.62187 V2 -1.50606 -0.884554 1.87778
- N0 -0.90527 -0.244029 0.347757 N1 -0.810853 -0.470295 0.34834 N2 -0.794229 -0.460653 0.39623
- txt003
-STRI
- V0 -1.67949 -0.467421 1.87778 V1 -1.74074 0 1.87778 V2 -1.84375 0 1.62187
- N0 -0.886771 -0.239043 0.395595 N1 -0.918633 1.79998e-16 0.395111 N2 -0.937749 1.49384e-16 0.347314
- txt003
-STRI
- V0 -1.84375 0 1.62187 V1 -1.77888 -0.495081 1.62187 V2 -1.67949 -0.467421 1.87778
- N0 -0.937749 1.49384e-16 0.347314 N1 -0.90527 -0.244029 0.347757 N2 -0.886771 -0.239043 0.395595
- txt003
-STRI
- V0 0 -1.84375 1.62188 V1 -0.495081 -1.77888 1.62188 V2 -0.517147 -1.85816 1.37222
- N0 0 -0.937749 0.347314 N1 -0.244029 -0.90527 0.347757 N2 -0.250446 -0.929073 0.272213
- txt003
-STRI
- V0 -0.517147 -1.85816 1.37222 V1 0 -1.92593 1.37222 V2 0 -1.84375 1.62188
- N0 -0.250446 -0.929073 0.272213 N1 0 -0.96234 0.271848 N2 0 -0.937749 0.347314
- txt003
-STRI
- V0 -0.495081 -1.77888 1.62188 V1 -0.936898 -1.59519 1.62188 V2 -0.978656 -1.66628 1.37222
- N0 -0.244029 -0.90527 0.347757 N1 -0.470295 -0.810853 0.34834 N2 -0.482704 -0.832247 0.272693
- txt003
-STRI
- V0 -0.978656 -1.66628 1.37222 V1 -0.517147 -1.85816 1.37222 V2 -0.495081 -1.77888 1.62188
- N0 -0.482704 -0.832247 0.272693 N1 -0.250446 -0.929073 0.272213 N2 -0.244029 -0.90527 0.347757
- txt003
-STRI
- V0 -0.936898 -1.59519 1.62188 V1 -1.30906 -1.30906 1.62188 V2 -1.36741 -1.36741 1.37222
- N0 -0.470295 -0.810853 0.34834 N1 -0.662761 -0.662761 0.348563 N2 -0.680271 -0.680271 0.272877
- txt003
-STRI
- V0 -1.36741 -1.36741 1.37222 V1 -0.978656 -1.66628 1.37222 V2 -0.936898 -1.59519 1.62188
- N0 -0.680271 -0.680271 0.272877 N1 -0.482704 -0.832247 0.272693 N2 -0.470295 -0.810853 0.34834
- txt003
-STRI
- V0 -1.30906 -1.30906 1.62188 V1 -1.59519 -0.936898 1.62187 V2 -1.66628 -0.978656 1.37222
- N0 -0.662761 -0.662761 0.348563 N1 -0.810853 -0.470295 0.34834 N2 -0.832247 -0.482704 0.272693
- txt003
-STRI
- V0 -1.66628 -0.978656 1.37222 V1 -1.36741 -1.36741 1.37222 V2 -1.30906 -1.30906 1.62188
- N0 -0.832247 -0.482704 0.272693 N1 -0.680271 -0.680271 0.272877 N2 -0.662761 -0.662761 0.348563
- txt003
-STRI
- V0 -1.59519 -0.936898 1.62187 V1 -1.77888 -0.495081 1.62187 V2 -1.85816 -0.517147 1.37222
- N0 -0.810853 -0.470295 0.34834 N1 -0.90527 -0.244029 0.347757 N2 -0.929073 -0.250446 0.272213
- txt003
-STRI
- V0 -1.85816 -0.517147 1.37222 V1 -1.66628 -0.978656 1.37222 V2 -1.59519 -0.936898 1.62187
- N0 -0.929073 -0.250446 0.272213 N1 -0.832247 -0.482704 0.272693 N2 -0.810853 -0.470295 0.34834
- txt003
-STRI
- V0 -1.77888 -0.495081 1.62187 V1 -1.84375 0 1.62187 V2 -1.92593 -2.22045e-16 1.37222
- N0 -0.90527 -0.244029 0.347757 N1 -0.937749 1.49384e-16 0.347314 N2 -0.96234 1.11936e-16 0.271848
- txt003
-STRI
- V0 -1.92593 -2.22045e-16 1.37222 V1 -1.85816 -0.517147 1.37222 V2 -1.77888 -0.495081 1.62187
- N0 -0.96234 1.11936e-16 0.271848 N1 -0.929073 -0.250446 0.272213 N2 -0.90527 -0.244029 0.347757
- txt003
-STRI
- V0 0 -1.92593 1.37222 V1 -0.517147 -1.85816 1.37222 V2 -0.531754 -1.91065 1.1309
- N0 0 -0.96234 0.271848 N1 -0.250446 -0.929073 0.272213 N2 -0.256935 -0.953145 0.159686
- txt003
-STRI
- V0 -0.531754 -1.91065 1.1309 V1 0 -1.98032 1.1309 V2 0 -1.92593 1.37222
- N0 -0.256935 -0.953145 0.159686 N1 0 -0.987204 0.15946 N2 0 -0.96234 0.271848
- txt003
-STRI
- V0 -0.517147 -1.85816 1.37222 V1 -0.978656 -1.66628 1.37222 V2 -1.0063 -1.71335 1.1309
- N0 -0.250446 -0.929073 0.272213 N1 -0.482704 -0.832247 0.272693 N2 -0.495256 -0.853889 0.159982
- txt003
-STRI
- V0 -1.0063 -1.71335 1.1309 V1 -0.531754 -1.91065 1.1309 V2 -0.517147 -1.85816 1.37222
- N0 -0.495256 -0.853889 0.159982 N1 -0.256935 -0.953145 0.159686 N2 -0.250446 -0.929073 0.272213
- txt003
-STRI
- V0 -0.978656 -1.66628 1.37222 V1 -1.36741 -1.36741 1.37222 V2 -1.40603 -1.40603 1.1309
- N0 -0.482704 -0.832247 0.272693 N1 -0.680271 -0.680271 0.272877 N2 -0.697986 -0.697986 0.160096
- txt003
-STRI
- V0 -1.40603 -1.40603 1.1309 V1 -1.0063 -1.71335 1.1309 V2 -0.978656 -1.66628 1.37222
- N0 -0.697986 -0.697986 0.160096 N1 -0.495256 -0.853889 0.159982 N2 -0.482704 -0.832247 0.272693
- txt003
-STRI
- V0 -1.36741 -1.36741 1.37222 V1 -1.66628 -0.978656 1.37222 V2 -1.71335 -1.0063 1.1309
- N0 -0.680271 -0.680271 0.272877 N1 -0.832247 -0.482704 0.272693 N2 -0.853889 -0.495256 0.159982
- txt003
-STRI
- V0 -1.71335 -1.0063 1.1309 V1 -1.40603 -1.40603 1.1309 V2 -1.36741 -1.36741 1.37222
- N0 -0.853889 -0.495256 0.159982 N1 -0.697986 -0.697986 0.160096 N2 -0.680271 -0.680271 0.272877
- txt003
-STRI
- V0 -1.66628 -0.978656 1.37222 V1 -1.85816 -0.517147 1.37222 V2 -1.91065 -0.531754 1.1309
- N0 -0.832247 -0.482704 0.272693 N1 -0.929073 -0.250446 0.272213 N2 -0.953145 -0.256935 0.159686
- txt003
-STRI
- V0 -1.91065 -0.531754 1.1309 V1 -1.71335 -1.0063 1.1309 V2 -1.66628 -0.978656 1.37222
- N0 -0.953145 -0.256935 0.159686 N1 -0.853889 -0.495256 0.159982 N2 -0.832247 -0.482704 0.272693
- txt003
-STRI
- V0 -1.85816 -0.517147 1.37222 V1 -1.92593 -2.22045e-16 1.37222 V2 -1.98032 2.22045e-16 1.1309
- N0 -0.929073 -0.250446 0.272213 N1 -0.96234 1.11936e-16 0.271848 N2 -0.987204 6.38555e-17 0.15946
- txt003
-STRI
- V0 -1.98032 2.22045e-16 1.1309 V1 -1.91065 -0.531754 1.1309 V2 -1.85816 -0.517147 1.37222
- N0 -0.987204 6.38555e-17 0.15946 N1 -0.953145 -0.256935 0.159686 N2 -0.929073 -0.250446 0.272213
- txt003
-STRI
- V0 0 -1.98032 1.1309 V1 -0.531754 -1.91065 1.1309 V2 -0.537037 -1.92963 0.9
- N0 0 -0.987204 0.15946 N1 -0.256935 -0.953145 0.159686 N2 -0.260275 -0.965535 5.17854e-17
- txt003
-STRI
- V0 -0.537037 -1.92963 0.9 V1 0 -2 0.9 V2 0 -1.98032 1.1309
- N0 -0.260275 -0.965535 5.17854e-17 N1 -0 -1 -0 N2 0 -0.987204 0.15946
- txt003
-STRI
- V0 -0.531754 -1.91065 1.1309 V1 -1.0063 -1.71335 1.1309 V2 -1.0163 -1.73037 0.9
- N0 -0.256935 -0.953145 0.159686 N1 -0.495256 -0.853889 0.159982 N2 -0.501718 -0.865031 1.36587e-16
- txt003
-STRI
- V0 -1.0163 -1.73037 0.9 V1 -0.537037 -1.92963 0.9 V2 -0.531754 -1.91065 1.1309
- N0 -0.501718 -0.865031 1.36587e-16 N1 -0.260275 -0.965535 5.17854e-17 N2 -0.256935 -0.953145 0.159686
- txt003
-STRI
- V0 -1.0063 -1.71335 1.1309 V1 -1.40603 -1.40603 1.1309 V2 -1.42 -1.42 0.9
- N0 -0.495256 -0.853889 0.159982 N1 -0.697986 -0.697986 0.160096 N2 -0.707107 -0.707107 1.74455e-16
- txt003
-STRI
- V0 -1.42 -1.42 0.9 V1 -1.0163 -1.73037 0.9 V2 -1.0063 -1.71335 1.1309
- N0 -0.707107 -0.707107 1.74455e-16 N1 -0.501718 -0.865031 1.36587e-16 N2 -0.495256 -0.853889 0.159982
- txt003
-STRI
- V0 -1.40603 -1.40603 1.1309 V1 -1.71335 -1.0063 1.1309 V2 -1.73037 -1.0163 0.9
- N0 -0.697986 -0.697986 0.160096 N1 -0.853889 -0.495256 0.159982 N2 -0.865031 -0.501718 1.36587e-16
- txt003
-STRI
- V0 -1.73037 -1.0163 0.9 V1 -1.42 -1.42 0.9 V2 -1.40603 -1.40603 1.1309
- N0 -0.865031 -0.501718 1.36587e-16 N1 -0.707107 -0.707107 1.74455e-16 N2 -0.697986 -0.697986 0.160096
- txt003
-STRI
- V0 -1.71335 -1.0063 1.1309 V1 -1.91065 -0.531754 1.1309 V2 -1.92963 -0.537037 0.9
- N0 -0.853889 -0.495256 0.159982 N1 -0.953145 -0.256935 0.159686 N2 -0.965535 -0.260275 5.17854e-17
- txt003
-STRI
- V0 -1.92963 -0.537037 0.9 V1 -1.73037 -1.0163 0.9 V2 -1.71335 -1.0063 1.1309
- N0 -0.965535 -0.260275 5.17854e-17 N1 -0.865031 -0.501718 1.36587e-16 N2 -0.853889 -0.495256 0.159982
- txt003
-STRI
- V0 -1.91065 -0.531754 1.1309 V1 -1.98032 2.22045e-16 1.1309 V2 -2 0 0.9
- N0 -0.953145 -0.256935 0.159686 N1 -0.987204 6.38555e-17 0.15946 N2 -1 0 0
- txt003
-STRI
- V0 -2 0 0.9 V1 -1.92963 -0.537037 0.9 V2 -1.91065 -0.531754 1.1309
- N0 -1 0 0 N1 -0.965535 -0.260275 5.17854e-17 N2 -0.953145 -0.256935 0.159686
- txt003
-STRI
- V0 -1.5 0 2.4 V1 -1.44722 0.402778 2.4 V2 -1.56671 0.436032 2.13785
- N0 -0.902861 0 0.429934 N1 -0.871509 0.234929 0.430442 N2 -0.875348 0.235963 0.422003
- txt003
-STRI
- V0 -1.56671 0.436032 2.13785 V1 -1.62384 0 2.13785 V2 -1.5 0 2.4
- N0 -0.875348 0.235963 0.422003 N1 -0.906828 0 0.4215 N2 -0.902861 0 0.429934
- txt003
-STRI
- V0 -1.44722 0.402778 2.4 V1 -1.29778 0.762222 2.4 V2 -1.40492 0.825153 2.13785
- N0 -0.871509 0.234929 0.430442 N1 -0.780517 0.4527 0.43111 N2 -0.783966 0.4547 0.422664
- txt003
-STRI
- V0 -1.40492 0.825153 2.13785 V1 -1.56671 0.436032 2.13785 V2 -1.44722 0.402778 2.4
- N0 -0.783966 0.4547 0.422664 N1 -0.875348 0.235963 0.422003 N2 -0.871509 0.234929 0.430442
- txt003
-STRI
- V0 -1.29778 0.762222 2.4 V1 -1.065 1.065 2.4 V2 -1.15293 1.15293 2.13785
- N0 -0.780517 0.4527 0.43111 N1 -0.637936 0.637936 0.431366 N2 -0.640758 0.640758 0.422917
- txt003
-STRI
- V0 -1.15293 1.15293 2.13785 V1 -1.40492 0.825153 2.13785 V2 -1.29778 0.762222 2.4
- N0 -0.640758 0.640758 0.422917 N1 -0.783966 0.4547 0.422664 N2 -0.780517 0.4527 0.43111
- txt003
-STRI
- V0 -1.065 1.065 2.4 V1 -0.762222 1.29778 2.4 V2 -0.825153 1.40492 2.13785
- N0 -0.637936 0.637936 0.431366 N1 -0.4527 0.780517 0.43111 N2 -0.4547 0.783966 0.422664
- txt003
-STRI
- V0 -0.825153 1.40492 2.13785 V1 -1.15293 1.15293 2.13785 V2 -1.065 1.065 2.4
- N0 -0.4547 0.783966 0.422664 N1 -0.640758 0.640758 0.422917 N2 -0.637936 0.637936 0.431366
- txt003
-STRI
- V0 -0.762222 1.29778 2.4 V1 -0.402778 1.44722 2.4 V2 -0.436032 1.56671 2.13785
- N0 -0.4527 0.780517 0.43111 N1 -0.234929 0.871509 0.430442 N2 -0.235963 0.875348 0.422003
- txt003
-STRI
- V0 -0.436032 1.56671 2.13785 V1 -0.825153 1.40492 2.13785 V2 -0.762222 1.29778 2.4
- N0 -0.235963 0.875348 0.422003 N1 -0.4547 0.783966 0.422664 N2 -0.4527 0.780517 0.43111
- txt003
-STRI
- V0 -0.402778 1.44722 2.4 V1 0 1.5 2.4 V2 -2.22045e-16 1.62384 2.13785
- N0 -0.234929 0.871509 0.430442 N1 2.27296e-16 0.902861 0.429934 N2 2.05843e-16 0.906828 0.4215
- txt003
-STRI
- V0 -2.22045e-16 1.62384 2.13785 V1 -0.436032 1.56671 2.13785 V2 -0.402778 1.44722 2.4
- N0 2.05843e-16 0.906828 0.4215 N1 -0.235963 0.875348 0.422003 N2 -0.234929 0.871509 0.430442
- txt003
-STRI
- V0 -1.62384 0 2.13785 V1 -1.56671 0.436032 2.13785 V2 -1.67949 0.467421 1.87778
- N0 -0.906828 0 0.4215 N1 -0.875348 0.235963 0.422003 N2 -0.886771 0.239043 0.395595
- txt003
-STRI
- V0 -1.67949 0.467421 1.87778 V1 -1.74074 0 1.87778 V2 -1.62384 0 2.13785
- N0 -0.886771 0.239043 0.395595 N1 -0.918633 0 0.395111 N2 -0.906828 0 0.4215
- txt003
-STRI
- V0 -1.56671 0.436032 2.13785 V1 -1.40492 0.825153 2.13785 V2 -1.50606 0.884554 1.87778
- N0 -0.875348 0.235963 0.422003 N1 -0.783966 0.4547 0.422664 N2 -0.794229 0.460653 0.39623
- txt003
-STRI
- V0 -1.50606 0.884554 1.87778 V1 -1.67949 0.467421 1.87778 V2 -1.56671 0.436032 2.13785
- N0 -0.794229 0.460653 0.39623 N1 -0.886771 0.239043 0.395595 N2 -0.875348 0.235963 0.422003
- txt003
-STRI
- V0 -1.40492 0.825153 2.13785 V1 -1.15293 1.15293 2.13785 V2 -1.23593 1.23593 1.87778
- N0 -0.783966 0.4547 0.422664 N1 -0.640758 0.640758 0.422917 N2 -0.649156 0.649156 0.396474
- txt003
-STRI
- V0 -1.23593 1.23593 1.87778 V1 -1.50606 0.884554 1.87778 V2 -1.40492 0.825153 2.13785
- N0 -0.649156 0.649156 0.396474 N1 -0.794229 0.460653 0.39623 N2 -0.783966 0.4547 0.422664
- txt003
-STRI
- V0 -1.15293 1.15293 2.13785 V1 -0.825153 1.40492 2.13785 V2 -0.884554 1.50606 1.87778
- N0 -0.640758 0.640758 0.422917 N1 -0.4547 0.783966 0.422664 N2 -0.460653 0.794229 0.39623
- txt003
-STRI
- V0 -0.884554 1.50606 1.87778 V1 -1.23593 1.23593 1.87778 V2 -1.15293 1.15293 2.13785
- N0 -0.460653 0.794229 0.39623 N1 -0.649156 0.649156 0.396474 N2 -0.640758 0.640758 0.422917
- txt003
-STRI
- V0 -0.825153 1.40492 2.13785 V1 -0.436032 1.56671 2.13785 V2 -0.467421 1.67949 1.87778
- N0 -0.4547 0.783966 0.422664 N1 -0.235963 0.875348 0.422003 N2 -0.239043 0.886771 0.395595
- txt003
-STRI
- V0 -0.467421 1.67949 1.87778 V1 -0.884554 1.50606 1.87778 V2 -0.825153 1.40492 2.13785
- N0 -0.239043 0.886771 0.395595 N1 -0.460653 0.794229 0.39623 N2 -0.4547 0.783966 0.422664
- txt003
-STRI
- V0 -0.436032 1.56671 2.13785 V1 -2.22045e-16 1.62384 2.13785 V2 0 1.74074 1.87778
- N0 -0.235963 0.875348 0.422003 N1 2.05843e-16 0.906828 0.4215 N2 1.79998e-16 0.918633 0.395111
- txt003
-STRI
- V0 0 1.74074 1.87778 V1 -0.467421 1.67949 1.87778 V2 -0.436032 1.56671 2.13785
- N0 1.79998e-16 0.918633 0.395111 N1 -0.239043 0.886771 0.395595 N2 -0.235963 0.875348 0.422003
- txt003
-STRI
- V0 -1.74074 0 1.87778 V1 -1.67949 0.467421 1.87778 V2 -1.77888 0.495081 1.62188
- N0 -0.918633 0 0.395111 N1 -0.886771 0.239043 0.395595 N2 -0.90527 0.244029 0.347757
- txt003
-STRI
- V0 -1.77888 0.495081 1.62188 V1 -1.84375 0 1.62188 V2 -1.74074 0 1.87778
- N0 -0.90527 0.244029 0.347757 N1 -0.937749 0 0.347314 N2 -0.918633 0 0.395111
- txt003
-STRI
- V0 -1.67949 0.467421 1.87778 V1 -1.50606 0.884554 1.87778 V2 -1.59519 0.936898 1.62188
- N0 -0.886771 0.239043 0.395595 N1 -0.794229 0.460653 0.39623 N2 -0.810853 0.470295 0.34834
- txt003
-STRI
- V0 -1.59519 0.936898 1.62188 V1 -1.77888 0.495081 1.62188 V2 -1.67949 0.467421 1.87778
- N0 -0.810853 0.470295 0.34834 N1 -0.90527 0.244029 0.347757 N2 -0.886771 0.239043 0.395595
- txt003
-STRI
- V0 -1.50606 0.884554 1.87778 V1 -1.23593 1.23593 1.87778 V2 -1.30906 1.30906 1.62188
- N0 -0.794229 0.460653 0.39623 N1 -0.649156 0.649156 0.396474 N2 -0.662761 0.662761 0.348563
- txt003
-STRI
- V0 -1.30906 1.30906 1.62188 V1 -1.59519 0.936898 1.62188 V2 -1.50606 0.884554 1.87778
- N0 -0.662761 0.662761 0.348563 N1 -0.810853 0.470295 0.34834 N2 -0.794229 0.460653 0.39623
- txt003
-STRI
- V0 -1.23593 1.23593 1.87778 V1 -0.884554 1.50606 1.87778 V2 -0.936898 1.59519 1.62187
- N0 -0.649156 0.649156 0.396474 N1 -0.460653 0.794229 0.39623 N2 -0.470295 0.810853 0.34834
- txt003
-STRI
- V0 -0.936898 1.59519 1.62187 V1 -1.30906 1.30906 1.62188 V2 -1.23593 1.23593 1.87778
- N0 -0.470295 0.810853 0.34834 N1 -0.662761 0.662761 0.348563 N2 -0.649156 0.649156 0.396474
- txt003
-STRI
- V0 -0.884554 1.50606 1.87778 V1 -0.467421 1.67949 1.87778 V2 -0.495081 1.77888 1.62187
- N0 -0.460653 0.794229 0.39623 N1 -0.239043 0.886771 0.395595 N2 -0.244029 0.90527 0.347757
- txt003
-STRI
- V0 -0.495081 1.77888 1.62187 V1 -0.936898 1.59519 1.62187 V2 -0.884554 1.50606 1.87778
- N0 -0.244029 0.90527 0.347757 N1 -0.470295 0.810853 0.34834 N2 -0.460653 0.794229 0.39623
- txt003
-STRI
- V0 -0.467421 1.67949 1.87778 V1 0 1.74074 1.87778 V2 0 1.84375 1.62187
- N0 -0.239043 0.886771 0.395595 N1 1.79998e-16 0.918633 0.395111 N2 1.49384e-16 0.937749 0.347314
- txt003
-STRI
- V0 0 1.84375 1.62187 V1 -0.495081 1.77888 1.62187 V2 -0.467421 1.67949 1.87778
- N0 1.49384e-16 0.937749 0.347314 N1 -0.244029 0.90527 0.347757 N2 -0.239043 0.886771 0.395595
- txt003
-STRI
- V0 -1.84375 0 1.62188 V1 -1.77888 0.495081 1.62188 V2 -1.85816 0.517147 1.37222
- N0 -0.937749 0 0.347314 N1 -0.90527 0.244029 0.347757 N2 -0.929073 0.250446 0.272213
- txt003
-STRI
- V0 -1.85816 0.517147 1.37222 V1 -1.92593 0 1.37222 V2 -1.84375 0 1.62188
- N0 -0.929073 0.250446 0.272213 N1 -0.96234 0 0.271848 N2 -0.937749 0 0.347314
- txt003
-STRI
- V0 -1.77888 0.495081 1.62188 V1 -1.59519 0.936898 1.62188 V2 -1.66628 0.978656 1.37222
- N0 -0.90527 0.244029 0.347757 N1 -0.810853 0.470295 0.34834 N2 -0.832247 0.482704 0.272693
- txt003
-STRI
- V0 -1.66628 0.978656 1.37222 V1 -1.85816 0.517147 1.37222 V2 -1.77888 0.495081 1.62188
- N0 -0.832247 0.482704 0.272693 N1 -0.929073 0.250446 0.272213 N2 -0.90527 0.244029 0.347757
- txt003
-STRI
- V0 -1.59519 0.936898 1.62188 V1 -1.30906 1.30906 1.62188 V2 -1.36741 1.36741 1.37222
- N0 -0.810853 0.470295 0.34834 N1 -0.662761 0.662761 0.348563 N2 -0.680271 0.680271 0.272877
- txt003
-STRI
- V0 -1.36741 1.36741 1.37222 V1 -1.66628 0.978656 1.37222 V2 -1.59519 0.936898 1.62188
- N0 -0.680271 0.680271 0.272877 N1 -0.832247 0.482704 0.272693 N2 -0.810853 0.470295 0.34834
- txt003
-STRI
- V0 -1.30906 1.30906 1.62188 V1 -0.936898 1.59519 1.62187 V2 -0.978656 1.66628 1.37222
- N0 -0.662761 0.662761 0.348563 N1 -0.470295 0.810853 0.34834 N2 -0.482704 0.832247 0.272693
- txt003
-STRI
- V0 -0.978656 1.66628 1.37222 V1 -1.36741 1.36741 1.37222 V2 -1.30906 1.30906 1.62188
- N0 -0.482704 0.832247 0.272693 N1 -0.680271 0.680271 0.272877 N2 -0.662761 0.662761 0.348563
- txt003
-STRI
- V0 -0.936898 1.59519 1.62187 V1 -0.495081 1.77888 1.62187 V2 -0.517147 1.85816 1.37222
- N0 -0.470295 0.810853 0.34834 N1 -0.244029 0.90527 0.347757 N2 -0.250446 0.929073 0.272213
- txt003
-STRI
- V0 -0.517147 1.85816 1.37222 V1 -0.978656 1.66628 1.37222 V2 -0.936898 1.59519 1.62187
- N0 -0.250446 0.929073 0.272213 N1 -0.482704 0.832247 0.272693 N2 -0.470295 0.810853 0.34834
- txt003
-STRI
- V0 -0.495081 1.77888 1.62187 V1 0 1.84375 1.62187 V2 -2.22045e-16 1.92593 1.37222
- N0 -0.244029 0.90527 0.347757 N1 1.49384e-16 0.937749 0.347314 N2 1.11936e-16 0.96234 0.271848
- txt003
-STRI
- V0 -2.22045e-16 1.92593 1.37222 V1 -0.517147 1.85816 1.37222 V2 -0.495081 1.77888 1.62187
- N0 1.11936e-16 0.96234 0.271848 N1 -0.250446 0.929073 0.272213 N2 -0.244029 0.90527 0.347757
- txt003
-STRI
- V0 -1.92593 0 1.37222 V1 -1.85816 0.517147 1.37222 V2 -1.91065 0.531754 1.1309
- N0 -0.96234 0 0.271848 N1 -0.929073 0.250446 0.272213 N2 -0.953145 0.256935 0.159686
- txt003
-STRI
- V0 -1.91065 0.531754 1.1309 V1 -1.98032 0 1.1309 V2 -1.92593 0 1.37222
- N0 -0.953145 0.256935 0.159686 N1 -0.987204 0 0.15946 N2 -0.96234 0 0.271848
- txt003
-STRI
- V0 -1.85816 0.517147 1.37222 V1 -1.66628 0.978656 1.37222 V2 -1.71335 1.0063 1.1309
- N0 -0.929073 0.250446 0.272213 N1 -0.832247 0.482704 0.272693 N2 -0.853889 0.495256 0.159982
- txt003
-STRI
- V0 -1.71335 1.0063 1.1309 V1 -1.91065 0.531754 1.1309 V2 -1.85816 0.517147 1.37222
- N0 -0.853889 0.495256 0.159982 N1 -0.953145 0.256935 0.159686 N2 -0.929073 0.250446 0.272213
- txt003
-STRI
- V0 -1.66628 0.978656 1.37222 V1 -1.36741 1.36741 1.37222 V2 -1.40603 1.40603 1.1309
- N0 -0.832247 0.482704 0.272693 N1 -0.680271 0.680271 0.272877 N2 -0.697986 0.697986 0.160096
- txt003
-STRI
- V0 -1.40603 1.40603 1.1309 V1 -1.71335 1.0063 1.1309 V2 -1.66628 0.978656 1.37222
- N0 -0.697986 0.697986 0.160096 N1 -0.853889 0.495256 0.159982 N2 -0.832247 0.482704 0.272693
- txt003
-STRI
- V0 -1.36741 1.36741 1.37222 V1 -0.978656 1.66628 1.37222 V2 -1.0063 1.71335 1.1309
- N0 -0.680271 0.680271 0.272877 N1 -0.482704 0.832247 0.272693 N2 -0.495256 0.853889 0.159982
- txt003
-STRI
- V0 -1.0063 1.71335 1.1309 V1 -1.40603 1.40603 1.1309 V2 -1.36741 1.36741 1.37222
- N0 -0.495256 0.853889 0.159982 N1 -0.697986 0.697986 0.160096 N2 -0.680271 0.680271 0.272877
- txt003
-STRI
- V0 -0.978656 1.66628 1.37222 V1 -0.517147 1.85816 1.37222 V2 -0.531754 1.91065 1.1309
- N0 -0.482704 0.832247 0.272693 N1 -0.250446 0.929073 0.272213 N2 -0.256935 0.953145 0.159686
- txt003
-STRI
- V0 -0.531754 1.91065 1.1309 V1 -1.0063 1.71335 1.1309 V2 -0.978656 1.66628 1.37222
- N0 -0.256935 0.953145 0.159686 N1 -0.495256 0.853889 0.159982 N2 -0.482704 0.832247 0.272693
- txt003
-STRI
- V0 -0.517147 1.85816 1.37222 V1 -2.22045e-16 1.92593 1.37222 V2 2.22045e-16 1.98032 1.1309
- N0 -0.250446 0.929073 0.272213 N1 1.11936e-16 0.96234 0.271848 N2 6.38555e-17 0.987204 0.15946
- txt003
-STRI
- V0 2.22045e-16 1.98032 1.1309 V1 -0.531754 1.91065 1.1309 V2 -0.517147 1.85816 1.37222
- N0 6.38555e-17 0.987204 0.15946 N1 -0.256935 0.953145 0.159686 N2 -0.250446 0.929073 0.272213
- txt003
-STRI
- V0 -1.98032 0 1.1309 V1 -1.91065 0.531754 1.1309 V2 -1.92963 0.537037 0.9
- N0 -0.987204 0 0.15946 N1 -0.953145 0.256935 0.159686 N2 -0.965535 0.260275 5.17854e-17
- txt003
-STRI
- V0 -1.92963 0.537037 0.9 V1 -2 0 0.9 V2 -1.98032 0 1.1309
- N0 -0.965535 0.260275 5.17854e-17 N1 -1 0 0 N2 -0.987204 0 0.15946
- txt003
-STRI
- V0 -1.91065 0.531754 1.1309 V1 -1.71335 1.0063 1.1309 V2 -1.73037 1.0163 0.9
- N0 -0.953145 0.256935 0.159686 N1 -0.853889 0.495256 0.159982 N2 -0.865031 0.501718 1.36587e-16
- txt003
-STRI
- V0 -1.73037 1.0163 0.9 V1 -1.92963 0.537037 0.9 V2 -1.91065 0.531754 1.1309
- N0 -0.865031 0.501718 1.36587e-16 N1 -0.965535 0.260275 5.17854e-17 N2 -0.953145 0.256935 0.159686
- txt003
-STRI
- V0 -1.71335 1.0063 1.1309 V1 -1.40603 1.40603 1.1309 V2 -1.42 1.42 0.9
- N0 -0.853889 0.495256 0.159982 N1 -0.697986 0.697986 0.160096 N2 -0.707107 0.707107 1.74455e-16
- txt003
-STRI
- V0 -1.42 1.42 0.9 V1 -1.73037 1.0163 0.9 V2 -1.71335 1.0063 1.1309
- N0 -0.707107 0.707107 1.74455e-16 N1 -0.865031 0.501718 1.36587e-16 N2 -0.853889 0.495256 0.159982
- txt003
-STRI
- V0 -1.40603 1.40603 1.1309 V1 -1.0063 1.71335 1.1309 V2 -1.0163 1.73037 0.9
- N0 -0.697986 0.697986 0.160096 N1 -0.495256 0.853889 0.159982 N2 -0.501718 0.865031 1.36587e-16
- txt003
-STRI
- V0 -1.0163 1.73037 0.9 V1 -1.42 1.42 0.9 V2 -1.40603 1.40603 1.1309
- N0 -0.501718 0.865031 1.36587e-16 N1 -0.707107 0.707107 1.74455e-16 N2 -0.697986 0.697986 0.160096
- txt003
-STRI
- V0 -1.0063 1.71335 1.1309 V1 -0.531754 1.91065 1.1309 V2 -0.537037 1.92963 0.9
- N0 -0.495256 0.853889 0.159982 N1 -0.256935 0.953145 0.159686 N2 -0.260275 0.965535 5.17854e-17
- txt003
-STRI
- V0 -0.537037 1.92963 0.9 V1 -1.0163 1.73037 0.9 V2 -1.0063 1.71335 1.1309
- N0 -0.260275 0.965535 5.17854e-17 N1 -0.501718 0.865031 1.36587e-16 N2 -0.495256 0.853889 0.159982
- txt003
-STRI
- V0 -0.531754 1.91065 1.1309 V1 2.22045e-16 1.98032 1.1309 V2 0 2 0.9
- N0 -0.256935 0.953145 0.159686 N1 6.38555e-17 0.987204 0.15946 N2 0 1 0
- txt003
-STRI
- V0 0 2 0.9 V1 -0.537037 1.92963 0.9 V2 -0.531754 1.91065 1.1309
- N0 0 1 0 N1 -0.260275 0.965535 5.17854e-17 N2 -0.256935 0.953145 0.159686
- txt003
-STRI
- V0 0 1.5 2.4 V1 0.402778 1.44722 2.4 V2 0.436032 1.56671 2.13785
- N0 -0 0.902861 0.429934 N1 0.234929 0.871509 0.430442 N2 0.235963 0.875348 0.422003
- txt003
-STRI
- V0 0.436032 1.56671 2.13785 V1 0 1.62384 2.13785 V2 0 1.5 2.4
- N0 0.235963 0.875348 0.422003 N1 -0 0.906828 0.4215 N2 -0 0.902861 0.429934
- txt003
-STRI
- V0 0.402778 1.44722 2.4 V1 0.762222 1.29778 2.4 V2 0.825153 1.40492 2.13785
- N0 0.234929 0.871509 0.430442 N1 0.4527 0.780517 0.43111 N2 0.4547 0.783966 0.422664
- txt003
-STRI
- V0 0.825153 1.40492 2.13785 V1 0.436032 1.56671 2.13785 V2 0.402778 1.44722 2.4
- N0 0.4547 0.783966 0.422664 N1 0.235963 0.875348 0.422003 N2 0.234929 0.871509 0.430442
- txt003
-STRI
- V0 0.762222 1.29778 2.4 V1 1.065 1.065 2.4 V2 1.15293 1.15293 2.13785
- N0 0.4527 0.780517 0.43111 N1 0.637936 0.637936 0.431366 N2 0.640758 0.640758 0.422917
- txt003
-STRI
- V0 1.15293 1.15293 2.13785 V1 0.825153 1.40492 2.13785 V2 0.762222 1.29778 2.4
- N0 0.640758 0.640758 0.422917 N1 0.4547 0.783966 0.422664 N2 0.4527 0.780517 0.43111
- txt003
-STRI
- V0 1.065 1.065 2.4 V1 1.29778 0.762222 2.4 V2 1.40492 0.825153 2.13785
- N0 0.637936 0.637936 0.431366 N1 0.780517 0.4527 0.43111 N2 0.783966 0.4547 0.422664
- txt003
-STRI
- V0 1.40492 0.825153 2.13785 V1 1.15293 1.15293 2.13785 V2 1.065 1.065 2.4
- N0 0.783966 0.4547 0.422664 N1 0.640758 0.640758 0.422917 N2 0.637936 0.637936 0.431366
- txt003
-STRI
- V0 1.29778 0.762222 2.4 V1 1.44722 0.402778 2.4 V2 1.56671 0.436032 2.13785
- N0 0.780517 0.4527 0.43111 N1 0.871509 0.234929 0.430442 N2 0.875348 0.235963 0.422003
- txt003
-STRI
- V0 1.56671 0.436032 2.13785 V1 1.40492 0.825153 2.13785 V2 1.29778 0.762222 2.4
- N0 0.875348 0.235963 0.422003 N1 0.783966 0.4547 0.422664 N2 0.780517 0.4527 0.43111
- txt003
-STRI
- V0 1.44722 0.402778 2.4 V1 1.5 0 2.4 V2 1.62384 2.22045e-16 2.13785
- N0 0.871509 0.234929 0.430442 N1 0.902861 -2.27296e-16 0.429934 N2 0.906828 -2.05843e-16 0.4215
- txt003
-STRI
- V0 1.62384 2.22045e-16 2.13785 V1 1.56671 0.436032 2.13785 V2 1.44722 0.402778 2.4
- N0 0.906828 -2.05843e-16 0.4215 N1 0.875348 0.235963 0.422003 N2 0.871509 0.234929 0.430442
- txt003
-STRI
- V0 0 1.62384 2.13785 V1 0.436032 1.56671 2.13785 V2 0.467421 1.67949 1.87778
- N0 -0 0.906828 0.4215 N1 0.235963 0.875348 0.422003 N2 0.239043 0.886771 0.395595
- txt003
-STRI
- V0 0.467421 1.67949 1.87778 V1 0 1.74074 1.87778 V2 0 1.62384 2.13785
- N0 0.239043 0.886771 0.395595 N1 -0 0.918633 0.395111 N2 -0 0.906828 0.4215
- txt003
-STRI
- V0 0.436032 1.56671 2.13785 V1 0.825153 1.40492 2.13785 V2 0.884554 1.50606 1.87778
- N0 0.235963 0.875348 0.422003 N1 0.4547 0.783966 0.422664 N2 0.460653 0.794229 0.39623
- txt003
-STRI
- V0 0.884554 1.50606 1.87778 V1 0.467421 1.67949 1.87778 V2 0.436032 1.56671 2.13785
- N0 0.460653 0.794229 0.39623 N1 0.239043 0.886771 0.395595 N2 0.235963 0.875348 0.422003
- txt003
-STRI
- V0 0.825153 1.40492 2.13785 V1 1.15293 1.15293 2.13785 V2 1.23593 1.23593 1.87778
- N0 0.4547 0.783966 0.422664 N1 0.640758 0.640758 0.422917 N2 0.649156 0.649156 0.396474
- txt003
-STRI
- V0 1.23593 1.23593 1.87778 V1 0.884554 1.50606 1.87778 V2 0.825153 1.40492 2.13785
- N0 0.649156 0.649156 0.396474 N1 0.460653 0.794229 0.39623 N2 0.4547 0.783966 0.422664
- txt003
-STRI
- V0 1.15293 1.15293 2.13785 V1 1.40492 0.825153 2.13785 V2 1.50606 0.884554 1.87778
- N0 0.640758 0.640758 0.422917 N1 0.783966 0.4547 0.422664 N2 0.794229 0.460653 0.39623
- txt003
-STRI
- V0 1.50606 0.884554 1.87778 V1 1.23593 1.23593 1.87778 V2 1.15293 1.15293 2.13785
- N0 0.794229 0.460653 0.39623 N1 0.649156 0.649156 0.396474 N2 0.640758 0.640758 0.422917
- txt003
-STRI
- V0 1.40492 0.825153 2.13785 V1 1.56671 0.436032 2.13785 V2 1.67949 0.467421 1.87778
- N0 0.783966 0.4547 0.422664 N1 0.875348 0.235963 0.422003 N2 0.886771 0.239043 0.395595
- txt003
-STRI
- V0 1.67949 0.467421 1.87778 V1 1.50606 0.884554 1.87778 V2 1.40492 0.825153 2.13785
- N0 0.886771 0.239043 0.395595 N1 0.794229 0.460653 0.39623 N2 0.783966 0.4547 0.422664
- txt003
-STRI
- V0 1.56671 0.436032 2.13785 V1 1.62384 2.22045e-16 2.13785 V2 1.74074 0 1.87778
- N0 0.875348 0.235963 0.422003 N1 0.906828 -2.05843e-16 0.4215 N2 0.918633 -1.79998e-16 0.395111
- txt003
-STRI
- V0 1.74074 0 1.87778 V1 1.67949 0.467421 1.87778 V2 1.56671 0.436032 2.13785
- N0 0.918633 -1.79998e-16 0.395111 N1 0.886771 0.239043 0.395595 N2 0.875348 0.235963 0.422003
- txt003
-STRI
- V0 0 1.74074 1.87778 V1 0.467421 1.67949 1.87778 V2 0.495081 1.77888 1.62188
- N0 -0 0.918633 0.395111 N1 0.239043 0.886771 0.395595 N2 0.244029 0.90527 0.347757
- txt003
-STRI
- V0 0.495081 1.77888 1.62188 V1 0 1.84375 1.62188 V2 0 1.74074 1.87778
- N0 0.244029 0.90527 0.347757 N1 -0 0.937749 0.347314 N2 -0 0.918633 0.395111
- txt003
-STRI
- V0 0.467421 1.67949 1.87778 V1 0.884554 1.50606 1.87778 V2 0.936898 1.59519 1.62188
- N0 0.239043 0.886771 0.395595 N1 0.460653 0.794229 0.39623 N2 0.470295 0.810853 0.34834
- txt003
-STRI
- V0 0.936898 1.59519 1.62188 V1 0.495081 1.77888 1.62188 V2 0.467421 1.67949 1.87778
- N0 0.470295 0.810853 0.34834 N1 0.244029 0.90527 0.347757 N2 0.239043 0.886771 0.395595
- txt003
-STRI
- V0 0.884554 1.50606 1.87778 V1 1.23593 1.23593 1.87778 V2 1.30906 1.30906 1.62188
- N0 0.460653 0.794229 0.39623 N1 0.649156 0.649156 0.396474 N2 0.662761 0.662761 0.348563
- txt003
-STRI
- V0 1.30906 1.30906 1.62188 V1 0.936898 1.59519 1.62188 V2 0.884554 1.50606 1.87778
- N0 0.662761 0.662761 0.348563 N1 0.470295 0.810853 0.34834 N2 0.460653 0.794229 0.39623
- txt003
-STRI
- V0 1.23593 1.23593 1.87778 V1 1.50606 0.884554 1.87778 V2 1.59519 0.936898 1.62187
- N0 0.649156 0.649156 0.396474 N1 0.794229 0.460653 0.39623 N2 0.810853 0.470295 0.34834
- txt003
-STRI
- V0 1.59519 0.936898 1.62187 V1 1.30906 1.30906 1.62188 V2 1.23593 1.23593 1.87778
- N0 0.810853 0.470295 0.34834 N1 0.662761 0.662761 0.348563 N2 0.649156 0.649156 0.396474
- txt003
-STRI
- V0 1.50606 0.884554 1.87778 V1 1.67949 0.467421 1.87778 V2 1.77888 0.495081 1.62187
- N0 0.794229 0.460653 0.39623 N1 0.886771 0.239043 0.395595 N2 0.90527 0.244029 0.347757
- txt003
-STRI
- V0 1.77888 0.495081 1.62187 V1 1.59519 0.936898 1.62187 V2 1.50606 0.884554 1.87778
- N0 0.90527 0.244029 0.347757 N1 0.810853 0.470295 0.34834 N2 0.794229 0.460653 0.39623
- txt003
-STRI
- V0 1.67949 0.467421 1.87778 V1 1.74074 0 1.87778 V2 1.84375 0 1.62187
- N0 0.886771 0.239043 0.395595 N1 0.918633 -1.79998e-16 0.395111 N2 0.937749 -1.49384e-16 0.347314
- txt003
-STRI
- V0 1.84375 0 1.62187 V1 1.77888 0.495081 1.62187 V2 1.67949 0.467421 1.87778
- N0 0.937749 -1.49384e-16 0.347314 N1 0.90527 0.244029 0.347757 N2 0.886771 0.239043 0.395595
- txt003
-STRI
- V0 0 1.84375 1.62188 V1 0.495081 1.77888 1.62188 V2 0.517147 1.85816 1.37222
- N0 -0 0.937749 0.347314 N1 0.244029 0.90527 0.347757 N2 0.250446 0.929073 0.272213
- txt003
-STRI
- V0 0.517147 1.85816 1.37222 V1 0 1.92593 1.37222 V2 0 1.84375 1.62188
- N0 0.250446 0.929073 0.272213 N1 -0 0.96234 0.271848 N2 -0 0.937749 0.347314
- txt003
-STRI
- V0 0.495081 1.77888 1.62188 V1 0.936898 1.59519 1.62188 V2 0.978656 1.66628 1.37222
- N0 0.244029 0.90527 0.347757 N1 0.470295 0.810853 0.34834 N2 0.482704 0.832247 0.272693
- txt003
-STRI
- V0 0.978656 1.66628 1.37222 V1 0.517147 1.85816 1.37222 V2 0.495081 1.77888 1.62188
- N0 0.482704 0.832247 0.272693 N1 0.250446 0.929073 0.272213 N2 0.244029 0.90527 0.347757
- txt003
-STRI
- V0 0.936898 1.59519 1.62188 V1 1.30906 1.30906 1.62188 V2 1.36741 1.36741 1.37222
- N0 0.470295 0.810853 0.34834 N1 0.662761 0.662761 0.348563 N2 0.680271 0.680271 0.272877
- txt003
-STRI
- V0 1.36741 1.36741 1.37222 V1 0.978656 1.66628 1.37222 V2 0.936898 1.59519 1.62188
- N0 0.680271 0.680271 0.272877 N1 0.482704 0.832247 0.272693 N2 0.470295 0.810853 0.34834
- txt003
-STRI
- V0 1.30906 1.30906 1.62188 V1 1.59519 0.936898 1.62187 V2 1.66628 0.978656 1.37222
- N0 0.662761 0.662761 0.348563 N1 0.810853 0.470295 0.34834 N2 0.832247 0.482704 0.272693
- txt003
-STRI
- V0 1.66628 0.978656 1.37222 V1 1.36741 1.36741 1.37222 V2 1.30906 1.30906 1.62188
- N0 0.832247 0.482704 0.272693 N1 0.680271 0.680271 0.272877 N2 0.662761 0.662761 0.348563
- txt003
-STRI
- V0 1.59519 0.936898 1.62187 V1 1.77888 0.495081 1.62187 V2 1.85816 0.517147 1.37222
- N0 0.810853 0.470295 0.34834 N1 0.90527 0.244029 0.347757 N2 0.929073 0.250446 0.272213
- txt003
-STRI
- V0 1.85816 0.517147 1.37222 V1 1.66628 0.978656 1.37222 V2 1.59519 0.936898 1.62187
- N0 0.929073 0.250446 0.272213 N1 0.832247 0.482704 0.272693 N2 0.810853 0.470295 0.34834
- txt003
-STRI
- V0 1.77888 0.495081 1.62187 V1 1.84375 0 1.62187 V2 1.92593 2.22045e-16 1.37222
- N0 0.90527 0.244029 0.347757 N1 0.937749 -1.49384e-16 0.347314 N2 0.96234 -1.11936e-16 0.271848
- txt003
-STRI
- V0 1.92593 2.22045e-16 1.37222 V1 1.85816 0.517147 1.37222 V2 1.77888 0.495081 1.62187
- N0 0.96234 -1.11936e-16 0.271848 N1 0.929073 0.250446 0.272213 N2 0.90527 0.244029 0.347757
- txt003
-STRI
- V0 0 1.92593 1.37222 V1 0.517147 1.85816 1.37222 V2 0.531754 1.91065 1.1309
- N0 -0 0.96234 0.271848 N1 0.250446 0.929073 0.272213 N2 0.256935 0.953145 0.159686
- txt003
-STRI
- V0 0.531754 1.91065 1.1309 V1 0 1.98032 1.1309 V2 0 1.92593 1.37222
- N0 0.256935 0.953145 0.159686 N1 -0 0.987204 0.15946 N2 -0 0.96234 0.271848
- txt003
-STRI
- V0 0.517147 1.85816 1.37222 V1 0.978656 1.66628 1.37222 V2 1.0063 1.71335 1.1309
- N0 0.250446 0.929073 0.272213 N1 0.482704 0.832247 0.272693 N2 0.495256 0.853889 0.159982
- txt003
-STRI
- V0 1.0063 1.71335 1.1309 V1 0.531754 1.91065 1.1309 V2 0.517147 1.85816 1.37222
- N0 0.495256 0.853889 0.159982 N1 0.256935 0.953145 0.159686 N2 0.250446 0.929073 0.272213
- txt003
-STRI
- V0 0.978656 1.66628 1.37222 V1 1.36741 1.36741 1.37222 V2 1.40603 1.40603 1.1309
- N0 0.482704 0.832247 0.272693 N1 0.680271 0.680271 0.272877 N2 0.697986 0.697986 0.160096
- txt003
-STRI
- V0 1.40603 1.40603 1.1309 V1 1.0063 1.71335 1.1309 V2 0.978656 1.66628 1.37222
- N0 0.697986 0.697986 0.160096 N1 0.495256 0.853889 0.159982 N2 0.482704 0.832247 0.272693
- txt003
-STRI
- V0 1.36741 1.36741 1.37222 V1 1.66628 0.978656 1.37222 V2 1.71335 1.0063 1.1309
- N0 0.680271 0.680271 0.272877 N1 0.832247 0.482704 0.272693 N2 0.853889 0.495256 0.159982
- txt003
-STRI
- V0 1.71335 1.0063 1.1309 V1 1.40603 1.40603 1.1309 V2 1.36741 1.36741 1.37222
- N0 0.853889 0.495256 0.159982 N1 0.697986 0.697986 0.160096 N2 0.680271 0.680271 0.272877
- txt003
-STRI
- V0 1.66628 0.978656 1.37222 V1 1.85816 0.517147 1.37222 V2 1.91065 0.531754 1.1309
- N0 0.832247 0.482704 0.272693 N1 0.929073 0.250446 0.272213 N2 0.953145 0.256935 0.159686
- txt003
-STRI
- V0 1.91065 0.531754 1.1309 V1 1.71335 1.0063 1.1309 V2 1.66628 0.978656 1.37222
- N0 0.953145 0.256935 0.159686 N1 0.853889 0.495256 0.159982 N2 0.832247 0.482704 0.272693
- txt003
-STRI
- V0 1.85816 0.517147 1.37222 V1 1.92593 2.22045e-16 1.37222 V2 1.98032 -2.22045e-16 1.1309
- N0 0.929073 0.250446 0.272213 N1 0.96234 -1.11936e-16 0.271848 N2 0.987204 -6.38555e-17 0.15946
- txt003
-STRI
- V0 1.98032 -2.22045e-16 1.1309 V1 1.91065 0.531754 1.1309 V2 1.85816 0.517147 1.37222
- N0 0.987204 -6.38555e-17 0.15946 N1 0.953145 0.256935 0.159686 N2 0.929073 0.250446 0.272213
- txt003
-STRI
- V0 0 1.98032 1.1309 V1 0.531754 1.91065 1.1309 V2 0.537037 1.92963 0.9
- N0 -0 0.987204 0.15946 N1 0.256935 0.953145 0.159686 N2 0.260275 0.965535 5.17854e-17
- txt003
-STRI
- V0 0.537037 1.92963 0.9 V1 0 2 0.9 V2 0 1.98032 1.1309
- N0 0.260275 0.965535 5.17854e-17 N1 -0 1 0 N2 -0 0.987204 0.15946
- txt003
-STRI
- V0 0.531754 1.91065 1.1309 V1 1.0063 1.71335 1.1309 V2 1.0163 1.73037 0.9
- N0 0.256935 0.953145 0.159686 N1 0.495256 0.853889 0.159982 N2 0.501718 0.865031 1.36587e-16
- txt003
-STRI
- V0 1.0163 1.73037 0.9 V1 0.537037 1.92963 0.9 V2 0.531754 1.91065 1.1309
- N0 0.501718 0.865031 1.36587e-16 N1 0.260275 0.965535 5.17854e-17 N2 0.256935 0.953145 0.159686
- txt003
-STRI
- V0 1.0063 1.71335 1.1309 V1 1.40603 1.40603 1.1309 V2 1.42 1.42 0.9
- N0 0.495256 0.853889 0.159982 N1 0.697986 0.697986 0.160096 N2 0.707107 0.707107 1.74455e-16
- txt003
-STRI
- V0 1.42 1.42 0.9 V1 1.0163 1.73037 0.9 V2 1.0063 1.71335 1.1309
- N0 0.707107 0.707107 1.74455e-16 N1 0.501718 0.865031 1.36587e-16 N2 0.495256 0.853889 0.159982
- txt003
-STRI
- V0 1.40603 1.40603 1.1309 V1 1.71335 1.0063 1.1309 V2 1.73037 1.0163 0.9
- N0 0.697986 0.697986 0.160096 N1 0.853889 0.495256 0.159982 N2 0.865031 0.501718 1.36587e-16
- txt003
-STRI
- V0 1.73037 1.0163 0.9 V1 1.42 1.42 0.9 V2 1.40603 1.40603 1.1309
- N0 0.865031 0.501718 1.36587e-16 N1 0.707107 0.707107 1.74455e-16 N2 0.697986 0.697986 0.160096
- txt003
-STRI
- V0 1.71335 1.0063 1.1309 V1 1.91065 0.531754 1.1309 V2 1.92963 0.537037 0.9
- N0 0.853889 0.495256 0.159982 N1 0.953145 0.256935 0.159686 N2 0.965535 0.260275 5.17854e-17
- txt003
-STRI
- V0 1.92963 0.537037 0.9 V1 1.73037 1.0163 0.9 V2 1.71335 1.0063 1.1309
- N0 0.965535 0.260275 5.17854e-17 N1 0.865031 0.501718 1.36587e-16 N2 0.853889 0.495256 0.159982
- txt003
-STRI
- V0 1.91065 0.531754 1.1309 V1 1.98032 -2.22045e-16 1.1309 V2 2 0 0.9
- N0 0.953145 0.256935 0.159686 N1 0.987204 -6.38555e-17 0.15946 N2 1 0 0
- txt003
-STRI
- V0 2 0 0.9 V1 1.92963 0.537037 0.9 V2 1.91065 0.531754 1.1309
- N0 1 0 0 N1 0.965535 0.260275 5.17854e-17 N2 0.953145 0.256935 0.159686
- txt003
-STRI
- V0 2 0 0.9 V1 1.92963 -0.537037 0.9 V2 1.8939 -0.527092 0.693403
- N0 1 0 0 N1 0.965535 -0.260275 0 N2 0.905874 -0.244192 -0.346067
- txt003
-STRI
- V0 1.8939 -0.527092 0.693403 V1 1.96296 0 0.693403 V2 2 0 0.9
- N0 0.905874 -0.244192 -0.346067 N1 0.938373 0 -0.345625 N2 1 0 0
- txt003
-STRI
- V0 1.92963 -0.537037 0.9 V1 1.73037 -1.0163 0.9 V2 1.69833 -0.997476 0.693403
- N0 0.965535 -0.260275 0 N1 0.865031 -0.501718 0 N2 0.811395 -0.470609 -0.346647
- txt003
-STRI
- V0 1.69833 -0.997476 0.693403 V1 1.8939 -0.527092 0.693403 V2 1.92963 -0.537037 0.9
- N0 0.811395 -0.470609 -0.346647 N1 0.905874 -0.244192 -0.346067 N2 0.965535 -0.260275 0
- txt003
-STRI
- V0 1.73037 -1.0163 0.9 V1 1.42 -1.42 0.9 V2 1.3937 -1.3937 0.693403
- N0 0.865031 -0.501718 0 N1 0.707107 -0.707107 0 N2 0.663205 -0.663205 -0.34687
- txt003
-STRI
- V0 1.3937 -1.3937 0.693403 V1 1.69833 -0.997476 0.693403 V2 1.73037 -1.0163 0.9
- N0 0.663205 -0.663205 -0.34687 N1 0.811395 -0.470609 -0.346647 N2 0.865031 -0.501718 0
- txt003
-STRI
- V0 1.42 -1.42 0.9 V1 1.0163 -1.73037 0.9 V2 0.997476 -1.69833 0.693403
- N0 0.707107 -0.707107 0 N1 0.501718 -0.865031 0 N2 0.470609 -0.811395 -0.346647
- txt003
-STRI
- V0 0.997476 -1.69833 0.693403 V1 1.3937 -1.3937 0.693403 V2 1.42 -1.42 0.9
- N0 0.470609 -0.811395 -0.346647 N1 0.663205 -0.663205 -0.34687 N2 0.707107 -0.707107 0
- txt003
-STRI
- V0 1.0163 -1.73037 0.9 V1 0.537037 -1.92963 0.9 V2 0.527092 -1.8939 0.693403
- N0 0.501718 -0.865031 0 N1 0.260275 -0.965535 0 N2 0.244192 -0.905874 -0.346067
- txt003
-STRI
- V0 0.527092 -1.8939 0.693403 V1 0.997476 -1.69833 0.693403 V2 1.0163 -1.73037 0.9
- N0 0.244192 -0.905874 -0.346067 N1 0.470609 -0.811395 -0.346647 N2 0.501718 -0.865031 0
- txt003
-STRI
- V0 0.537037 -1.92963 0.9 V1 0 -2 0.9 V2 2.22045e-16 -1.96296 0.693403
- N0 0.260275 -0.965535 0 N1 -0 -1 -0 N2 -3.49072e-17 -0.938373 -0.345625
- txt003
-STRI
- V0 2.22045e-16 -1.96296 0.693403 V1 0.527092 -1.8939 0.693403 V2 0.537037 -1.92963 0.9
- N0 -3.49072e-17 -0.938373 -0.345625 N1 0.244192 -0.905874 -0.346067 N2 0.260275 -0.965535 0
- txt003
-STRI
- V0 1.96296 0 0.693403 V1 1.8939 -0.527092 0.693403 V2 1.80456 -0.502229 0.522222
- N0 0.938373 0 -0.345625 N1 0.905874 -0.244192 -0.346067 N2 0.782908 -0.211045 -0.585248
- txt003
-STRI
- V0 1.80456 -0.502229 0.522222 V1 1.87037 0 0.522222 V2 1.96296 0 0.693403
- N0 0.782908 -0.211045 -0.585248 N1 0.811257 0 -0.58469 N2 0.938373 0 -0.345625
- txt003
-STRI
- V0 1.8939 -0.527092 0.693403 V1 1.69833 -0.997476 0.693403 V2 1.61822 -0.950425 0.522222
- N0 0.905874 -0.244192 -0.346067 N1 0.811395 -0.470609 -0.346647 N2 0.700957 -0.406555 -0.58598
- txt003
-STRI
- V0 1.61822 -0.950425 0.522222 V1 1.80456 -0.502229 0.522222 V2 1.8939 -0.527092 0.693403
- N0 0.700957 -0.406555 -0.58598 N1 0.782908 -0.211045 -0.585248 N2 0.905874 -0.244192 -0.346067
- txt003
-STRI
- V0 1.69833 -0.997476 0.693403 V1 1.3937 -1.3937 0.693403 V2 1.32796 -1.32796 0.522222
- N0 0.811395 -0.470609 -0.346647 N1 0.663205 -0.663205 -0.34687 N2 0.572843 -0.572843 -0.586261
- txt003
-STRI
- V0 1.32796 -1.32796 0.522222 V1 1.61822 -0.950425 0.522222 V2 1.69833 -0.997476 0.693403
- N0 0.572843 -0.572843 -0.586261 N1 0.700957 -0.406555 -0.58598 N2 0.811395 -0.470609 -0.346647
- txt003
-STRI
- V0 1.3937 -1.3937 0.693403 V1 0.997476 -1.69833 0.693403 V2 0.950425 -1.61822 0.522222
- N0 0.663205 -0.663205 -0.34687 N1 0.470609 -0.811395 -0.346647 N2 0.406555 -0.700957 -0.58598
- txt003
-STRI
- V0 0.950425 -1.61822 0.522222 V1 1.32796 -1.32796 0.522222 V2 1.3937 -1.3937 0.693403
- N0 0.406555 -0.700957 -0.58598 N1 0.572843 -0.572843 -0.586261 N2 0.663205 -0.663205 -0.34687
- txt003
-STRI
- V0 0.997476 -1.69833 0.693403 V1 0.527092 -1.8939 0.693403 V2 0.502229 -1.80456 0.522222
- N0 0.470609 -0.811395 -0.346647 N1 0.244192 -0.905874 -0.346067 N2 0.211045 -0.782908 -0.585248
- txt003
-STRI
- V0 0.502229 -1.80456 0.522222 V1 0.950425 -1.61822 0.522222 V2 0.997476 -1.69833 0.693403
- N0 0.211045 -0.782908 -0.585248 N1 0.406555 -0.700957 -0.58598 N2 0.470609 -0.811395 -0.346647
- txt003
-STRI
- V0 0.527092 -1.8939 0.693403 V1 2.22045e-16 -1.96296 0.693403 V2 2.22045e-16 -1.87037 0.522222
- N0 0.244192 -0.905874 -0.346067 N1 -3.49072e-17 -0.938373 -0.345625 N2 -6.19755e-17 -0.811257 -0.58469
- txt003
-STRI
- V0 2.22045e-16 -1.87037 0.522222 V1 0.502229 -1.80456 0.522222 V2 0.527092 -1.8939 0.693403
- N0 -6.19755e-17 -0.811257 -0.58469 N1 0.211045 -0.782908 -0.585248 N2 0.244192 -0.905874 -0.346067
- txt003
-STRI
- V0 1.87037 0 0.522222 V1 1.80456 -0.502229 0.522222 V2 1.68843 -0.469907 0.384375
- N0 0.811257 0 -0.58469 N1 0.782908 -0.211045 -0.585248 N2 0.673539 -0.181563 -0.716506
- txt003
-STRI
- V0 1.68843 -0.469907 0.384375 V1 1.75 0 0.384375 V2 1.87037 0 0.522222
- N0 0.673539 -0.181563 -0.716506 N1 0.6981 0 -0.716 N2 0.811257 0 -0.58469
- txt003
-STRI
- V0 1.80456 -0.502229 0.522222 V1 1.61822 -0.950425 0.522222 V2 1.51407 -0.889259 0.384375
- N0 0.782908 -0.211045 -0.585248 N1 0.700957 -0.406555 -0.58598 N2 0.602839 -0.349647 -0.717169
- txt003
-STRI
- V0 1.51407 -0.889259 0.384375 V1 1.68843 -0.469907 0.384375 V2 1.80456 -0.502229 0.522222
- N0 0.602839 -0.349647 -0.717169 N1 0.673539 -0.181563 -0.716506 N2 0.782908 -0.211045 -0.585248
- txt003
-STRI
- V0 1.61822 -0.950425 0.522222 V1 1.32796 -1.32796 0.522222 V2 1.2425 -1.2425 0.384375
- N0 0.700957 -0.406555 -0.58598 N1 0.572843 -0.572843 -0.586261 N2 0.492597 -0.492597 -0.717423
- txt003
-STRI
- V0 1.2425 -1.2425 0.384375 V1 1.51407 -0.889259 0.384375 V2 1.61822 -0.950425 0.522222
- N0 0.492597 -0.492597 -0.717423 N1 0.602839 -0.349647 -0.717169 N2 0.700957 -0.406555 -0.58598
- txt003
-STRI
- V0 1.32796 -1.32796 0.522222 V1 0.950425 -1.61822 0.522222 V2 0.889259 -1.51407 0.384375
- N0 0.572843 -0.572843 -0.586261 N1 0.406555 -0.700957 -0.58598 N2 0.349647 -0.602839 -0.717169
- txt003
-STRI
- V0 0.889259 -1.51407 0.384375 V1 1.2425 -1.2425 0.384375 V2 1.32796 -1.32796 0.522222
- N0 0.349647 -0.602839 -0.717169 N1 0.492597 -0.492597 -0.717423 N2 0.572843 -0.572843 -0.586261
- txt003
-STRI
- V0 0.950425 -1.61822 0.522222 V1 0.502229 -1.80456 0.522222 V2 0.469907 -1.68843 0.384375
- N0 0.406555 -0.700957 -0.58598 N1 0.211045 -0.782908 -0.585248 N2 0.181563 -0.673539 -0.716506
- txt003
-STRI
- V0 0.469907 -1.68843 0.384375 V1 0.889259 -1.51407 0.384375 V2 0.950425 -1.61822 0.522222
- N0 0.181563 -0.673539 -0.716506 N1 0.349647 -0.602839 -0.717169 N2 0.406555 -0.700957 -0.58598
- txt003
-STRI
- V0 0.502229 -1.80456 0.522222 V1 2.22045e-16 -1.87037 0.522222 V2 2.22045e-16 -1.75 0.384375
- N0 0.211045 -0.782908 -0.585248 N1 -6.19755e-17 -0.811257 -0.58469 N2 -8.11143e-17 -0.6981 -0.716
- txt003
-STRI
- V0 2.22045e-16 -1.75 0.384375 V1 0.469907 -1.68843 0.384375 V2 0.502229 -1.80456 0.522222
- N0 -8.11143e-17 -0.6981 -0.716 N1 0.181563 -0.673539 -0.716506 N2 0.211045 -0.782908 -0.585248
- txt003
-STRI
- V0 1.75 0 0.384375 V1 1.68843 -0.469907 0.384375 V2 1.57229 -0.437586 0.277778
- N0 0.6981 0 -0.716 N1 0.673539 -0.181563 -0.716506 N2 0.61392 -0.165491 -0.771826
- txt003
-STRI
- V0 1.57229 -0.437586 0.277778 V1 1.62963 0 0.277778 V2 1.75 0 0.384375
- N0 0.61392 -0.165491 -0.771826 N1 0.636383 0 -0.771373 N2 0.6981 0 -0.716
- txt003
-STRI
- V0 1.68843 -0.469907 0.384375 V1 1.51407 -0.889259 0.384375 V2 1.40993 -0.828093 0.277778
- N0 0.673539 -0.181563 -0.716506 N1 0.602839 -0.349647 -0.717169 N2 0.549392 -0.318647 -0.77242
- txt003
-STRI
- V0 1.40993 -0.828093 0.277778 V1 1.57229 -0.437586 0.277778 V2 1.68843 -0.469907 0.384375
- N0 0.549392 -0.318647 -0.77242 N1 0.61392 -0.165491 -0.771826 N2 0.673539 -0.181563 -0.716506
- txt003
-STRI
- V0 1.51407 -0.889259 0.384375 V1 1.2425 -1.2425 0.384375 V2 1.15704 -1.15704 0.277778
- N0 0.602839 -0.349647 -0.717169 N1 0.492597 -0.492597 -0.717423 N2 0.448897 -0.448897 -0.772647
- txt003
-STRI
- V0 1.15704 -1.15704 0.277778 V1 1.40993 -0.828093 0.277778 V2 1.51407 -0.889259 0.384375
- N0 0.448897 -0.448897 -0.772647 N1 0.549392 -0.318647 -0.77242 N2 0.602839 -0.349647 -0.717169
- txt003
-STRI
- V0 1.2425 -1.2425 0.384375 V1 0.889259 -1.51407 0.384375 V2 0.828093 -1.40993 0.277778
- N0 0.492597 -0.492597 -0.717423 N1 0.349647 -0.602839 -0.717169 N2 0.318647 -0.549392 -0.77242
- txt003
-STRI
- V0 0.828093 -1.40993 0.277778 V1 1.15704 -1.15704 0.277778 V2 1.2425 -1.2425 0.384375
- N0 0.318647 -0.549392 -0.77242 N1 0.448897 -0.448897 -0.772647 N2 0.492597 -0.492597 -0.717423
- txt003
-STRI
- V0 0.889259 -1.51407 0.384375 V1 0.469907 -1.68843 0.384375 V2 0.437586 -1.57229 0.277778
- N0 0.349647 -0.602839 -0.717169 N1 0.181563 -0.673539 -0.716506 N2 0.165491 -0.61392 -0.771826
- txt003
-STRI
- V0 0.437586 -1.57229 0.277778 V1 0.828093 -1.40993 0.277778 V2 0.889259 -1.51407 0.384375
- N0 0.165491 -0.61392 -0.771826 N1 0.318647 -0.549392 -0.77242 N2 0.349647 -0.602839 -0.717169
- txt003
-STRI
- V0 0.469907 -1.68843 0.384375 V1 2.22045e-16 -1.75 0.384375 V2 0 -1.62963 0.277778
- N0 0.181563 -0.673539 -0.716506 N1 -8.11143e-17 -0.6981 -0.716 N2 -1.97068e-16 -0.636383 -0.771373
- txt003
-STRI
- V0 0 -1.62963 0.277778 V1 0.437586 -1.57229 0.277778 V2 0.469907 -1.68843 0.384375
- N0 -1.97068e-16 -0.636383 -0.771373 N1 0.165491 -0.61392 -0.771826 N2 0.181563 -0.673539 -0.716506
- txt003
-STRI
- V0 1.62963 0 0.277778 V1 1.57229 -0.437586 0.277778 V2 1.48296 -0.412723 0.200347
- N0 0.636383 0 -0.771373 N1 0.61392 -0.165491 -0.771826 N2 0.651276 -0.175561 -0.738253
- txt003
-STRI
- V0 1.48296 -0.412723 0.200347 V1 1.53704 0 0.200347 V2 1.62963 0 0.277778
- N0 0.651276 -0.175561 -0.738253 N1 0.675056 0 -0.737766 N2 0.636383 0 -0.771373
- txt003
-STRI
- V0 1.57229 -0.437586 0.277778 V1 1.40993 -0.828093 0.277778 V2 1.32982 -0.781043 0.200347
- N0 0.61392 -0.165491 -0.771826 N1 0.549392 -0.318647 -0.77242 N2 0.582878 -0.338069 -0.738893
- txt003
-STRI
- V0 1.32982 -0.781043 0.200347 V1 1.48296 -0.412723 0.200347 V2 1.57229 -0.437586 0.277778
- N0 0.582878 -0.338069 -0.738893 N1 0.651276 -0.175561 -0.738253 N2 0.61392 -0.165491 -0.771826
- txt003
-STRI
- V0 1.40993 -0.828093 0.277778 V1 1.15704 -1.15704 0.277778 V2 1.0913 -1.0913 0.200347
- N0 0.549392 -0.318647 -0.77242 N1 0.448897 -0.448897 -0.772647 N2 0.476275 -0.476275 -0.739137
- txt003
-STRI
- V0 1.0913 -1.0913 0.200347 V1 1.32982 -0.781043 0.200347 V2 1.40993 -0.828093 0.277778
- N0 0.476275 -0.476275 -0.739137 N1 0.582878 -0.338069 -0.738893 N2 0.549392 -0.318647 -0.77242
- txt003
-STRI
- V0 1.15704 -1.15704 0.277778 V1 0.828093 -1.40993 0.277778 V2 0.781043 -1.32982 0.200347
- N0 0.448897 -0.448897 -0.772647 N1 0.318647 -0.549392 -0.77242 N2 0.338069 -0.582878 -0.738893
- txt003
-STRI
- V0 0.781043 -1.32982 0.200347 V1 1.0913 -1.0913 0.200347 V2 1.15704 -1.15704 0.277778
- N0 0.338069 -0.582878 -0.738893 N1 0.476275 -0.476275 -0.739137 N2 0.448897 -0.448897 -0.772647
- txt003
-STRI
- V0 0.828093 -1.40993 0.277778 V1 0.437586 -1.57229 0.277778 V2 0.412723 -1.48296 0.200347
- N0 0.318647 -0.549392 -0.77242 N1 0.165491 -0.61392 -0.771826 N2 0.175561 -0.651276 -0.738253
- txt003
-STRI
- V0 0.412723 -1.48296 0.200347 V1 0.781043 -1.32982 0.200347 V2 0.828093 -1.40993 0.277778
- N0 0.175561 -0.651276 -0.738253 N1 0.338069 -0.582878 -0.738893 N2 0.318647 -0.549392 -0.77242
- txt003
-STRI
- V0 0.437586 -1.57229 0.277778 V1 0 -1.62963 0.277778 V2 0 -1.53704 0.200347
- N0 0.165491 -0.61392 -0.771826 N1 -1.97068e-16 -0.636383 -0.771373 N2 -9.51605e-17 -0.675056 -0.737766
- txt003
-STRI
- V0 0 -1.53704 0.200347 V1 0.412723 -1.48296 0.200347 V2 0.437586 -1.57229 0.277778
- N0 -9.51605e-17 -0.675056 -0.737766 N1 0.175561 -0.651276 -0.738253 N2 0.165491 -0.61392 -0.771826
- txt003
-STRI
- V0 1.53704 0 0.200347 V1 1.48296 -0.412723 0.200347 V2 1.44722 -0.402778 0.15
- N0 0.675056 0 -0.737766 N1 0.651276 -0.175561 -0.738253 N2 0.965535 -0.260275 0
- txt003
-STRI
- V0 1.44722 -0.402778 0.15 V1 1.5 0 0.15 V2 1.53704 0 0.200347
- N0 0.965535 -0.260275 0 N1 1 0 0 N2 0.675056 0 -0.737766
- txt003
-STRI
- V0 1.48296 -0.412723 0.200347 V1 1.32982 -0.781043 0.200347 V2 1.29778 -0.762222 0.15
- N0 0.651276 -0.175561 -0.738253 N1 0.582878 -0.338069 -0.738893 N2 0.865031 -0.501718 0
- txt003
-STRI
- V0 1.29778 -0.762222 0.15 V1 1.44722 -0.402778 0.15 V2 1.48296 -0.412723 0.200347
- N0 0.865031 -0.501718 0 N1 0.965535 -0.260275 0 N2 0.651276 -0.175561 -0.738253
- txt003
-STRI
- V0 1.32982 -0.781043 0.200347 V1 1.0913 -1.0913 0.200347 V2 1.065 -1.065 0.15
- N0 0.582878 -0.338069 -0.738893 N1 0.476275 -0.476275 -0.739137 N2 0.707107 -0.707107 0
- txt003
-STRI
- V0 1.065 -1.065 0.15 V1 1.29778 -0.762222 0.15 V2 1.32982 -0.781043 0.200347
- N0 0.707107 -0.707107 0 N1 0.865031 -0.501718 0 N2 0.582878 -0.338069 -0.738893
- txt003
-STRI
- V0 1.0913 -1.0913 0.200347 V1 0.781043 -1.32982 0.200347 V2 0.762222 -1.29778 0.15
- N0 0.476275 -0.476275 -0.739137 N1 0.338069 -0.582878 -0.738893 N2 0.501718 -0.865031 0
- txt003
-STRI
- V0 0.762222 -1.29778 0.15 V1 1.065 -1.065 0.15 V2 1.0913 -1.0913 0.200347
- N0 0.501718 -0.865031 0 N1 0.707107 -0.707107 0 N2 0.476275 -0.476275 -0.739137
- txt003
-STRI
- V0 0.781043 -1.32982 0.200347 V1 0.412723 -1.48296 0.200347 V2 0.402778 -1.44722 0.15
- N0 0.338069 -0.582878 -0.738893 N1 0.175561 -0.651276 -0.738253 N2 0.260275 -0.965535 0
- txt003
-STRI
- V0 0.402778 -1.44722 0.15 V1 0.762222 -1.29778 0.15 V2 0.781043 -1.32982 0.200347
- N0 0.260275 -0.965535 0 N1 0.501718 -0.865031 0 N2 0.338069 -0.582878 -0.738893
- txt003
-STRI
- V0 0.412723 -1.48296 0.200347 V1 0 -1.53704 0.200347 V2 0 -1.5 0.15
- N0 0.175561 -0.651276 -0.738253 N1 -9.51605e-17 -0.675056 -0.737766 N2 -0 -1 -0
- txt003
-STRI
- V0 0 -1.5 0.15 V1 0.402778 -1.44722 0.15 V2 0.412723 -1.48296 0.200347
- N0 -0 -1 -0 N1 0.260275 -0.965535 0 N2 0.175561 -0.651276 -0.738253
- txt003
-STRI
- V0 0 -2 0.9 V1 -0.537037 -1.92963 0.9 V2 -0.527092 -1.8939 0.693403
- N0 -0 -1 -0 N1 -0.260275 -0.965535 -0 N2 -0.244192 -0.905874 -0.346067
- txt003
-STRI
- V0 -0.527092 -1.8939 0.693403 V1 0 -1.96296 0.693403 V2 0 -2 0.9
- N0 -0.244192 -0.905874 -0.346067 N1 -0 -0.938373 -0.345625 N2 -0 -1 -0
- txt003
-STRI
- V0 -0.537037 -1.92963 0.9 V1 -1.0163 -1.73037 0.9 V2 -0.997476 -1.69833 0.693403
- N0 -0.260275 -0.965535 -0 N1 -0.501718 -0.865031 -0 N2 -0.470609 -0.811395 -0.346647
- txt003
-STRI
- V0 -0.997476 -1.69833 0.693403 V1 -0.527092 -1.8939 0.693403 V2 -0.537037 -1.92963 0.9
- N0 -0.470609 -0.811395 -0.346647 N1 -0.244192 -0.905874 -0.346067 N2 -0.260275 -0.965535 -0
- txt003
-STRI
- V0 -1.0163 -1.73037 0.9 V1 -1.42 -1.42 0.9 V2 -1.3937 -1.3937 0.693403
- N0 -0.501718 -0.865031 -0 N1 -0.707107 -0.707107 -0 N2 -0.663205 -0.663205 -0.34687
- txt003
-STRI
- V0 -1.3937 -1.3937 0.693403 V1 -0.997476 -1.69833 0.693403 V2 -1.0163 -1.73037 0.9
- N0 -0.663205 -0.663205 -0.34687 N1 -0.470609 -0.811395 -0.346647 N2 -0.501718 -0.865031 -0
- txt003
-STRI
- V0 -1.42 -1.42 0.9 V1 -1.73037 -1.0163 0.9 V2 -1.69833 -0.997476 0.693403
- N0 -0.707107 -0.707107 -0 N1 -0.865031 -0.501718 -0 N2 -0.811395 -0.470609 -0.346647
- txt003
-STRI
- V0 -1.69833 -0.997476 0.693403 V1 -1.3937 -1.3937 0.693403 V2 -1.42 -1.42 0.9
- N0 -0.811395 -0.470609 -0.346647 N1 -0.663205 -0.663205 -0.34687 N2 -0.707107 -0.707107 -0
- txt003
-STRI
- V0 -1.73037 -1.0163 0.9 V1 -1.92963 -0.537037 0.9 V2 -1.8939 -0.527092 0.693403
- N0 -0.865031 -0.501718 -0 N1 -0.965535 -0.260275 -0 N2 -0.905874 -0.244192 -0.346067
- txt003
-STRI
- V0 -1.8939 -0.527092 0.693403 V1 -1.69833 -0.997476 0.693403 V2 -1.73037 -1.0163 0.9
- N0 -0.905874 -0.244192 -0.346067 N1 -0.811395 -0.470609 -0.346647 N2 -0.865031 -0.501718 -0
- txt003
-STRI
- V0 -1.92963 -0.537037 0.9 V1 -2 0 0.9 V2 -1.96296 -2.22045e-16 0.693403
- N0 -0.965535 -0.260275 -0 N1 -1 0 0 N2 -0.938373 3.49072e-17 -0.345625
- txt003
-STRI
- V0 -1.96296 -2.22045e-16 0.693403 V1 -1.8939 -0.527092 0.693403 V2 -1.92963 -0.537037 0.9
- N0 -0.938373 3.49072e-17 -0.345625 N1 -0.905874 -0.244192 -0.346067 N2 -0.965535 -0.260275 -0
- txt003
-STRI
- V0 0 -1.96296 0.693403 V1 -0.527092 -1.8939 0.693403 V2 -0.502229 -1.80456 0.522222
- N0 -0 -0.938373 -0.345625 N1 -0.244192 -0.905874 -0.346067 N2 -0.211045 -0.782908 -0.585248
- txt003
-STRI
- V0 -0.502229 -1.80456 0.522222 V1 0 -1.87037 0.522222 V2 0 -1.96296 0.693403
- N0 -0.211045 -0.782908 -0.585248 N1 -0 -0.811257 -0.58469 N2 -0 -0.938373 -0.345625
- txt003
-STRI
- V0 -0.527092 -1.8939 0.693403 V1 -0.997476 -1.69833 0.693403 V2 -0.950425 -1.61822 0.522222
- N0 -0.244192 -0.905874 -0.346067 N1 -0.470609 -0.811395 -0.346647 N2 -0.406555 -0.700957 -0.58598
- txt003
-STRI
- V0 -0.950425 -1.61822 0.522222 V1 -0.502229 -1.80456 0.522222 V2 -0.527092 -1.8939 0.693403
- N0 -0.406555 -0.700957 -0.58598 N1 -0.211045 -0.782908 -0.585248 N2 -0.244192 -0.905874 -0.346067
- txt003
-STRI
- V0 -0.997476 -1.69833 0.693403 V1 -1.3937 -1.3937 0.693403 V2 -1.32796 -1.32796 0.522222
- N0 -0.470609 -0.811395 -0.346647 N1 -0.663205 -0.663205 -0.34687 N2 -0.572843 -0.572843 -0.586261
- txt003
-STRI
- V0 -1.32796 -1.32796 0.522222 V1 -0.950425 -1.61822 0.522222 V2 -0.997476 -1.69833 0.693403
- N0 -0.572843 -0.572843 -0.586261 N1 -0.406555 -0.700957 -0.58598 N2 -0.470609 -0.811395 -0.346647
- txt003
-STRI
- V0 -1.3937 -1.3937 0.693403 V1 -1.69833 -0.997476 0.693403 V2 -1.61822 -0.950425 0.522222
- N0 -0.663205 -0.663205 -0.34687 N1 -0.811395 -0.470609 -0.346647 N2 -0.700957 -0.406555 -0.58598
- txt003
-STRI
- V0 -1.61822 -0.950425 0.522222 V1 -1.32796 -1.32796 0.522222 V2 -1.3937 -1.3937 0.693403
- N0 -0.700957 -0.406555 -0.58598 N1 -0.572843 -0.572843 -0.586261 N2 -0.663205 -0.663205 -0.34687
- txt003
-STRI
- V0 -1.69833 -0.997476 0.693403 V1 -1.8939 -0.527092 0.693403 V2 -1.80456 -0.502229 0.522222
- N0 -0.811395 -0.470609 -0.346647 N1 -0.905874 -0.244192 -0.346067 N2 -0.782908 -0.211045 -0.585248
- txt003
-STRI
- V0 -1.80456 -0.502229 0.522222 V1 -1.61822 -0.950425 0.522222 V2 -1.69833 -0.997476 0.693403
- N0 -0.782908 -0.211045 -0.585248 N1 -0.700957 -0.406555 -0.58598 N2 -0.811395 -0.470609 -0.346647
- txt003
-STRI
- V0 -1.8939 -0.527092 0.693403 V1 -1.96296 -2.22045e-16 0.693403 V2 -1.87037 -2.22045e-16 0.522222
- N0 -0.905874 -0.244192 -0.346067 N1 -0.938373 3.49072e-17 -0.345625 N2 -0.811257 6.19755e-17 -0.58469
- txt003
-STRI
- V0 -1.87037 -2.22045e-16 0.522222 V1 -1.80456 -0.502229 0.522222 V2 -1.8939 -0.527092 0.693403
- N0 -0.811257 6.19755e-17 -0.58469 N1 -0.782908 -0.211045 -0.585248 N2 -0.905874 -0.244192 -0.346067
- txt003
-STRI
- V0 0 -1.87037 0.522222 V1 -0.502229 -1.80456 0.522222 V2 -0.469907 -1.68843 0.384375
- N0 -0 -0.811257 -0.58469 N1 -0.211045 -0.782908 -0.585248 N2 -0.181563 -0.673539 -0.716506
- txt003
-STRI
- V0 -0.469907 -1.68843 0.384375 V1 0 -1.75 0.384375 V2 0 -1.87037 0.522222
- N0 -0.181563 -0.673539 -0.716506 N1 -0 -0.6981 -0.716 N2 -0 -0.811257 -0.58469
- txt003
-STRI
- V0 -0.502229 -1.80456 0.522222 V1 -0.950425 -1.61822 0.522222 V2 -0.889259 -1.51407 0.384375
- N0 -0.211045 -0.782908 -0.585248 N1 -0.406555 -0.700957 -0.58598 N2 -0.349647 -0.602839 -0.717169
- txt003
-STRI
- V0 -0.889259 -1.51407 0.384375 V1 -0.469907 -1.68843 0.384375 V2 -0.502229 -1.80456 0.522222
- N0 -0.349647 -0.602839 -0.717169 N1 -0.181563 -0.673539 -0.716506 N2 -0.211045 -0.782908 -0.585248
- txt003
-STRI
- V0 -0.950425 -1.61822 0.522222 V1 -1.32796 -1.32796 0.522222 V2 -1.2425 -1.2425 0.384375
- N0 -0.406555 -0.700957 -0.58598 N1 -0.572843 -0.572843 -0.586261 N2 -0.492597 -0.492597 -0.717423
- txt003
-STRI
- V0 -1.2425 -1.2425 0.384375 V1 -0.889259 -1.51407 0.384375 V2 -0.950425 -1.61822 0.522222
- N0 -0.492597 -0.492597 -0.717423 N1 -0.349647 -0.602839 -0.717169 N2 -0.406555 -0.700957 -0.58598
- txt003
-STRI
- V0 -1.32796 -1.32796 0.522222 V1 -1.61822 -0.950425 0.522222 V2 -1.51407 -0.889259 0.384375
- N0 -0.572843 -0.572843 -0.586261 N1 -0.700957 -0.406555 -0.58598 N2 -0.602839 -0.349647 -0.717169
- txt003
-STRI
- V0 -1.51407 -0.889259 0.384375 V1 -1.2425 -1.2425 0.384375 V2 -1.32796 -1.32796 0.522222
- N0 -0.602839 -0.349647 -0.717169 N1 -0.492597 -0.492597 -0.717423 N2 -0.572843 -0.572843 -0.586261
- txt003
-STRI
- V0 -1.61822 -0.950425 0.522222 V1 -1.80456 -0.502229 0.522222 V2 -1.68843 -0.469907 0.384375
- N0 -0.700957 -0.406555 -0.58598 N1 -0.782908 -0.211045 -0.585248 N2 -0.673539 -0.181563 -0.716506
- txt003
-STRI
- V0 -1.68843 -0.469907 0.384375 V1 -1.51407 -0.889259 0.384375 V2 -1.61822 -0.950425 0.522222
- N0 -0.673539 -0.181563 -0.716506 N1 -0.602839 -0.349647 -0.717169 N2 -0.700957 -0.406555 -0.58598
- txt003
-STRI
- V0 -1.80456 -0.502229 0.522222 V1 -1.87037 -2.22045e-16 0.522222 V2 -1.75 -2.22045e-16 0.384375
- N0 -0.782908 -0.211045 -0.585248 N1 -0.811257 6.19755e-17 -0.58469 N2 -0.6981 8.11143e-17 -0.716
- txt003
-STRI
- V0 -1.75 -2.22045e-16 0.384375 V1 -1.68843 -0.469907 0.384375 V2 -1.80456 -0.502229 0.522222
- N0 -0.6981 8.11143e-17 -0.716 N1 -0.673539 -0.181563 -0.716506 N2 -0.782908 -0.211045 -0.585248
- txt003
-STRI
- V0 0 -1.75 0.384375 V1 -0.469907 -1.68843 0.384375 V2 -0.437586 -1.57229 0.277778
- N0 -0 -0.6981 -0.716 N1 -0.181563 -0.673539 -0.716506 N2 -0.165491 -0.61392 -0.771826
- txt003
-STRI
- V0 -0.437586 -1.57229 0.277778 V1 0 -1.62963 0.277778 V2 0 -1.75 0.384375
- N0 -0.165491 -0.61392 -0.771826 N1 -0 -0.636383 -0.771373 N2 -0 -0.6981 -0.716
- txt003
-STRI
- V0 -0.469907 -1.68843 0.384375 V1 -0.889259 -1.51407 0.384375 V2 -0.828093 -1.40993 0.277778
- N0 -0.181563 -0.673539 -0.716506 N1 -0.349647 -0.602839 -0.717169 N2 -0.318647 -0.549392 -0.77242
- txt003
-STRI
- V0 -0.828093 -1.40993 0.277778 V1 -0.437586 -1.57229 0.277778 V2 -0.469907 -1.68843 0.384375
- N0 -0.318647 -0.549392 -0.77242 N1 -0.165491 -0.61392 -0.771826 N2 -0.181563 -0.673539 -0.716506
- txt003
-STRI
- V0 -0.889259 -1.51407 0.384375 V1 -1.2425 -1.2425 0.384375 V2 -1.15704 -1.15704 0.277778
- N0 -0.349647 -0.602839 -0.717169 N1 -0.492597 -0.492597 -0.717423 N2 -0.448897 -0.448897 -0.772647
- txt003
-STRI
- V0 -1.15704 -1.15704 0.277778 V1 -0.828093 -1.40993 0.277778 V2 -0.889259 -1.51407 0.384375
- N0 -0.448897 -0.448897 -0.772647 N1 -0.318647 -0.549392 -0.77242 N2 -0.349647 -0.602839 -0.717169
- txt003
-STRI
- V0 -1.2425 -1.2425 0.384375 V1 -1.51407 -0.889259 0.384375 V2 -1.40993 -0.828093 0.277778
- N0 -0.492597 -0.492597 -0.717423 N1 -0.602839 -0.349647 -0.717169 N2 -0.549392 -0.318647 -0.77242
- txt003
-STRI
- V0 -1.40993 -0.828093 0.277778 V1 -1.15704 -1.15704 0.277778 V2 -1.2425 -1.2425 0.384375
- N0 -0.549392 -0.318647 -0.77242 N1 -0.448897 -0.448897 -0.772647 N2 -0.492597 -0.492597 -0.717423
- txt003
-STRI
- V0 -1.51407 -0.889259 0.384375 V1 -1.68843 -0.469907 0.384375 V2 -1.57229 -0.437586 0.277778
- N0 -0.602839 -0.349647 -0.717169 N1 -0.673539 -0.181563 -0.716506 N2 -0.61392 -0.165491 -0.771826
- txt003
-STRI
- V0 -1.57229 -0.437586 0.277778 V1 -1.40993 -0.828093 0.277778 V2 -1.51407 -0.889259 0.384375
- N0 -0.61392 -0.165491 -0.771826 N1 -0.549392 -0.318647 -0.77242 N2 -0.602839 -0.349647 -0.717169
- txt003
-STRI
- V0 -1.68843 -0.469907 0.384375 V1 -1.75 -2.22045e-16 0.384375 V2 -1.62963 0 0.277778
- N0 -0.673539 -0.181563 -0.716506 N1 -0.6981 8.11143e-17 -0.716 N2 -0.636383 1.97068e-16 -0.771373
- txt003
-STRI
- V0 -1.62963 0 0.277778 V1 -1.57229 -0.437586 0.277778 V2 -1.68843 -0.469907 0.384375
- N0 -0.636383 1.97068e-16 -0.771373 N1 -0.61392 -0.165491 -0.771826 N2 -0.673539 -0.181563 -0.716506
- txt003
-STRI
- V0 0 -1.62963 0.277778 V1 -0.437586 -1.57229 0.277778 V2 -0.412723 -1.48296 0.200347
- N0 -0 -0.636383 -0.771373 N1 -0.165491 -0.61392 -0.771826 N2 -0.175561 -0.651276 -0.738253
- txt003
-STRI
- V0 -0.412723 -1.48296 0.200347 V1 0 -1.53704 0.200347 V2 0 -1.62963 0.277778
- N0 -0.175561 -0.651276 -0.738253 N1 -0 -0.675056 -0.737766 N2 -0 -0.636383 -0.771373
- txt003
-STRI
- V0 -0.437586 -1.57229 0.277778 V1 -0.828093 -1.40993 0.277778 V2 -0.781043 -1.32982 0.200347
- N0 -0.165491 -0.61392 -0.771826 N1 -0.318647 -0.549392 -0.77242 N2 -0.338069 -0.582878 -0.738893
- txt003
-STRI
- V0 -0.781043 -1.32982 0.200347 V1 -0.412723 -1.48296 0.200347 V2 -0.437586 -1.57229 0.277778
- N0 -0.338069 -0.582878 -0.738893 N1 -0.175561 -0.651276 -0.738253 N2 -0.165491 -0.61392 -0.771826
- txt003
-STRI
- V0 -0.828093 -1.40993 0.277778 V1 -1.15704 -1.15704 0.277778 V2 -1.0913 -1.0913 0.200347
- N0 -0.318647 -0.549392 -0.77242 N1 -0.448897 -0.448897 -0.772647 N2 -0.476275 -0.476275 -0.739137
- txt003
-STRI
- V0 -1.0913 -1.0913 0.200347 V1 -0.781043 -1.32982 0.200347 V2 -0.828093 -1.40993 0.277778
- N0 -0.476275 -0.476275 -0.739137 N1 -0.338069 -0.582878 -0.738893 N2 -0.318647 -0.549392 -0.77242
- txt003
-STRI
- V0 -1.15704 -1.15704 0.277778 V1 -1.40993 -0.828093 0.277778 V2 -1.32982 -0.781043 0.200347
- N0 -0.448897 -0.448897 -0.772647 N1 -0.549392 -0.318647 -0.77242 N2 -0.582878 -0.338069 -0.738893
- txt003
-STRI
- V0 -1.32982 -0.781043 0.200347 V1 -1.0913 -1.0913 0.200347 V2 -1.15704 -1.15704 0.277778
- N0 -0.582878 -0.338069 -0.738893 N1 -0.476275 -0.476275 -0.739137 N2 -0.448897 -0.448897 -0.772647
- txt003
-STRI
- V0 -1.40993 -0.828093 0.277778 V1 -1.57229 -0.437586 0.277778 V2 -1.48296 -0.412723 0.200347
- N0 -0.549392 -0.318647 -0.77242 N1 -0.61392 -0.165491 -0.771826 N2 -0.651276 -0.175561 -0.738253
- txt003
-STRI
- V0 -1.48296 -0.412723 0.200347 V1 -1.32982 -0.781043 0.200347 V2 -1.40993 -0.828093 0.277778
- N0 -0.651276 -0.175561 -0.738253 N1 -0.582878 -0.338069 -0.738893 N2 -0.549392 -0.318647 -0.77242
- txt003
-STRI
- V0 -1.57229 -0.437586 0.277778 V1 -1.62963 0 0.277778 V2 -1.53704 0 0.200347
- N0 -0.61392 -0.165491 -0.771826 N1 -0.636383 1.97068e-16 -0.771373 N2 -0.675056 9.51605e-17 -0.737766
- txt003
-STRI
- V0 -1.53704 0 0.200347 V1 -1.48296 -0.412723 0.200347 V2 -1.57229 -0.437586 0.277778
- N0 -0.675056 9.51605e-17 -0.737766 N1 -0.651276 -0.175561 -0.738253 N2 -0.61392 -0.165491 -0.771826
- txt003
-STRI
- V0 0 -1.53704 0.200347 V1 -0.412723 -1.48296 0.200347 V2 -0.402778 -1.44722 0.15
- N0 -0 -0.675056 -0.737766 N1 -0.175561 -0.651276 -0.738253 N2 -0.260275 -0.965535 -0
- txt003
-STRI
- V0 -0.402778 -1.44722 0.15 V1 0 -1.5 0.15 V2 0 -1.53704 0.200347
- N0 -0.260275 -0.965535 -0 N1 -0 -1 -0 N2 -0 -0.675056 -0.737766
- txt003
-STRI
- V0 -0.412723 -1.48296 0.200347 V1 -0.781043 -1.32982 0.200347 V2 -0.762222 -1.29778 0.15
- N0 -0.175561 -0.651276 -0.738253 N1 -0.338069 -0.582878 -0.738893 N2 -0.501718 -0.865031 -0
- txt003
-STRI
- V0 -0.762222 -1.29778 0.15 V1 -0.402778 -1.44722 0.15 V2 -0.412723 -1.48296 0.200347
- N0 -0.501718 -0.865031 -0 N1 -0.260275 -0.965535 -0 N2 -0.175561 -0.651276 -0.738253
- txt003
-STRI
- V0 -0.781043 -1.32982 0.200347 V1 -1.0913 -1.0913 0.200347 V2 -1.065 -1.065 0.15
- N0 -0.338069 -0.582878 -0.738893 N1 -0.476275 -0.476275 -0.739137 N2 -0.707107 -0.707107 -0
- txt003
-STRI
- V0 -1.065 -1.065 0.15 V1 -0.762222 -1.29778 0.15 V2 -0.781043 -1.32982 0.200347
- N0 -0.707107 -0.707107 -0 N1 -0.501718 -0.865031 -0 N2 -0.338069 -0.582878 -0.738893
- txt003
-STRI
- V0 -1.0913 -1.0913 0.200347 V1 -1.32982 -0.781043 0.200347 V2 -1.29778 -0.762222 0.15
- N0 -0.476275 -0.476275 -0.739137 N1 -0.582878 -0.338069 -0.738893 N2 -0.865031 -0.501718 -0
- txt003
-STRI
- V0 -1.29778 -0.762222 0.15 V1 -1.065 -1.065 0.15 V2 -1.0913 -1.0913 0.200347
- N0 -0.865031 -0.501718 -0 N1 -0.707107 -0.707107 -0 N2 -0.476275 -0.476275 -0.739137
- txt003
-STRI
- V0 -1.32982 -0.781043 0.200347 V1 -1.48296 -0.412723 0.200347 V2 -1.44722 -0.402778 0.15
- N0 -0.582878 -0.338069 -0.738893 N1 -0.651276 -0.175561 -0.738253 N2 -0.965535 -0.260275 -0
- txt003
-STRI
- V0 -1.44722 -0.402778 0.15 V1 -1.29778 -0.762222 0.15 V2 -1.32982 -0.781043 0.200347
- N0 -0.965535 -0.260275 -0 N1 -0.865031 -0.501718 -0 N2 -0.582878 -0.338069 -0.738893
- txt003
-STRI
- V0 -1.48296 -0.412723 0.200347 V1 -1.53704 0 0.200347 V2 -1.5 0 0.15
- N0 -0.651276 -0.175561 -0.738253 N1 -0.675056 9.51605e-17 -0.737766 N2 -1 0 0
- txt003
-STRI
- V0 -1.5 0 0.15 V1 -1.44722 -0.402778 0.15 V2 -1.48296 -0.412723 0.200347
- N0 -1 0 0 N1 -0.965535 -0.260275 -0 N2 -0.651276 -0.175561 -0.738253
- txt003
-STRI
- V0 -2 0 0.9 V1 -1.92963 0.537037 0.9 V2 -1.8939 0.527092 0.693403
- N0 -1 0 0 N1 -0.965535 0.260275 0 N2 -0.905874 0.244192 -0.346067
- txt003
-STRI
- V0 -1.8939 0.527092 0.693403 V1 -1.96296 0 0.693403 V2 -2 0 0.9
- N0 -0.905874 0.244192 -0.346067 N1 -0.938373 0 -0.345625 N2 -1 0 0
- txt003
-STRI
- V0 -1.92963 0.537037 0.9 V1 -1.73037 1.0163 0.9 V2 -1.69833 0.997476 0.693403
- N0 -0.965535 0.260275 0 N1 -0.865031 0.501718 0 N2 -0.811395 0.470609 -0.346647
- txt003
-STRI
- V0 -1.69833 0.997476 0.693403 V1 -1.8939 0.527092 0.693403 V2 -1.92963 0.537037 0.9
- N0 -0.811395 0.470609 -0.346647 N1 -0.905874 0.244192 -0.346067 N2 -0.965535 0.260275 0
- txt003
-STRI
- V0 -1.73037 1.0163 0.9 V1 -1.42 1.42 0.9 V2 -1.3937 1.3937 0.693403
- N0 -0.865031 0.501718 0 N1 -0.707107 0.707107 0 N2 -0.663205 0.663205 -0.34687
- txt003
-STRI
- V0 -1.3937 1.3937 0.693403 V1 -1.69833 0.997476 0.693403 V2 -1.73037 1.0163 0.9
- N0 -0.663205 0.663205 -0.34687 N1 -0.811395 0.470609 -0.346647 N2 -0.865031 0.501718 0
- txt003
-STRI
- V0 -1.42 1.42 0.9 V1 -1.0163 1.73037 0.9 V2 -0.997476 1.69833 0.693403
- N0 -0.707107 0.707107 0 N1 -0.501718 0.865031 0 N2 -0.470609 0.811395 -0.346647
- txt003
-STRI
- V0 -0.997476 1.69833 0.693403 V1 -1.3937 1.3937 0.693403 V2 -1.42 1.42 0.9
- N0 -0.470609 0.811395 -0.346647 N1 -0.663205 0.663205 -0.34687 N2 -0.707107 0.707107 0
- txt003
-STRI
- V0 -1.0163 1.73037 0.9 V1 -0.537037 1.92963 0.9 V2 -0.527092 1.8939 0.693403
- N0 -0.501718 0.865031 0 N1 -0.260275 0.965535 0 N2 -0.244192 0.905874 -0.346067
- txt003
-STRI
- V0 -0.527092 1.8939 0.693403 V1 -0.997476 1.69833 0.693403 V2 -1.0163 1.73037 0.9
- N0 -0.244192 0.905874 -0.346067 N1 -0.470609 0.811395 -0.346647 N2 -0.501718 0.865031 0
- txt003
-STRI
- V0 -0.537037 1.92963 0.9 V1 0 2 0.9 V2 -2.22045e-16 1.96296 0.693403
- N0 -0.260275 0.965535 0 N1 -0 1 0 N2 3.49072e-17 0.938373 -0.345625
- txt003
-STRI
- V0 -2.22045e-16 1.96296 0.693403 V1 -0.527092 1.8939 0.693403 V2 -0.537037 1.92963 0.9
- N0 3.49072e-17 0.938373 -0.345625 N1 -0.244192 0.905874 -0.346067 N2 -0.260275 0.965535 0
- txt003
-STRI
- V0 -1.96296 0 0.693403 V1 -1.8939 0.527092 0.693403 V2 -1.80456 0.502229 0.522222
- N0 -0.938373 0 -0.345625 N1 -0.905874 0.244192 -0.346067 N2 -0.782908 0.211045 -0.585248
- txt003
-STRI
- V0 -1.80456 0.502229 0.522222 V1 -1.87037 0 0.522222 V2 -1.96296 0 0.693403
- N0 -0.782908 0.211045 -0.585248 N1 -0.811257 0 -0.58469 N2 -0.938373 0 -0.345625
- txt003
-STRI
- V0 -1.8939 0.527092 0.693403 V1 -1.69833 0.997476 0.693403 V2 -1.61822 0.950425 0.522222
- N0 -0.905874 0.244192 -0.346067 N1 -0.811395 0.470609 -0.346647 N2 -0.700957 0.406555 -0.58598
- txt003
-STRI
- V0 -1.61822 0.950425 0.522222 V1 -1.80456 0.502229 0.522222 V2 -1.8939 0.527092 0.693403
- N0 -0.700957 0.406555 -0.58598 N1 -0.782908 0.211045 -0.585248 N2 -0.905874 0.244192 -0.346067
- txt003
-STRI
- V0 -1.69833 0.997476 0.693403 V1 -1.3937 1.3937 0.693403 V2 -1.32796 1.32796 0.522222
- N0 -0.811395 0.470609 -0.346647 N1 -0.663205 0.663205 -0.34687 N2 -0.572843 0.572843 -0.586261
- txt003
-STRI
- V0 -1.32796 1.32796 0.522222 V1 -1.61822 0.950425 0.522222 V2 -1.69833 0.997476 0.693403
- N0 -0.572843 0.572843 -0.586261 N1 -0.700957 0.406555 -0.58598 N2 -0.811395 0.470609 -0.346647
- txt003
-STRI
- V0 -1.3937 1.3937 0.693403 V1 -0.997476 1.69833 0.693403 V2 -0.950425 1.61822 0.522222
- N0 -0.663205 0.663205 -0.34687 N1 -0.470609 0.811395 -0.346647 N2 -0.406555 0.700957 -0.58598
- txt003
-STRI
- V0 -0.950425 1.61822 0.522222 V1 -1.32796 1.32796 0.522222 V2 -1.3937 1.3937 0.693403
- N0 -0.406555 0.700957 -0.58598 N1 -0.572843 0.572843 -0.586261 N2 -0.663205 0.663205 -0.34687
- txt003
-STRI
- V0 -0.997476 1.69833 0.693403 V1 -0.527092 1.8939 0.693403 V2 -0.502229 1.80456 0.522222
- N0 -0.470609 0.811395 -0.346647 N1 -0.244192 0.905874 -0.346067 N2 -0.211045 0.782908 -0.585248
- txt003
-STRI
- V0 -0.502229 1.80456 0.522222 V1 -0.950425 1.61822 0.522222 V2 -0.997476 1.69833 0.693403
- N0 -0.211045 0.782908 -0.585248 N1 -0.406555 0.700957 -0.58598 N2 -0.470609 0.811395 -0.346647
- txt003
-STRI
- V0 -0.527092 1.8939 0.693403 V1 -2.22045e-16 1.96296 0.693403 V2 -2.22045e-16 1.87037 0.522222
- N0 -0.244192 0.905874 -0.346067 N1 3.49072e-17 0.938373 -0.345625 N2 6.19755e-17 0.811257 -0.58469
- txt003
-STRI
- V0 -2.22045e-16 1.87037 0.522222 V1 -0.502229 1.80456 0.522222 V2 -0.527092 1.8939 0.693403
- N0 6.19755e-17 0.811257 -0.58469 N1 -0.211045 0.782908 -0.585248 N2 -0.244192 0.905874 -0.346067
- txt003
-STRI
- V0 -1.87037 0 0.522222 V1 -1.80456 0.502229 0.522222 V2 -1.68843 0.469907 0.384375
- N0 -0.811257 0 -0.58469 N1 -0.782908 0.211045 -0.585248 N2 -0.673539 0.181563 -0.716506
- txt003
-STRI
- V0 -1.68843 0.469907 0.384375 V1 -1.75 0 0.384375 V2 -1.87037 0 0.522222
- N0 -0.673539 0.181563 -0.716506 N1 -0.6981 0 -0.716 N2 -0.811257 0 -0.58469
- txt003
-STRI
- V0 -1.80456 0.502229 0.522222 V1 -1.61822 0.950425 0.522222 V2 -1.51407 0.889259 0.384375
- N0 -0.782908 0.211045 -0.585248 N1 -0.700957 0.406555 -0.58598 N2 -0.602839 0.349647 -0.717169
- txt003
-STRI
- V0 -1.51407 0.889259 0.384375 V1 -1.68843 0.469907 0.384375 V2 -1.80456 0.502229 0.522222
- N0 -0.602839 0.349647 -0.717169 N1 -0.673539 0.181563 -0.716506 N2 -0.782908 0.211045 -0.585248
- txt003
-STRI
- V0 -1.61822 0.950425 0.522222 V1 -1.32796 1.32796 0.522222 V2 -1.2425 1.2425 0.384375
- N0 -0.700957 0.406555 -0.58598 N1 -0.572843 0.572843 -0.586261 N2 -0.492597 0.492597 -0.717423
- txt003
-STRI
- V0 -1.2425 1.2425 0.384375 V1 -1.51407 0.889259 0.384375 V2 -1.61822 0.950425 0.522222
- N0 -0.492597 0.492597 -0.717423 N1 -0.602839 0.349647 -0.717169 N2 -0.700957 0.406555 -0.58598
- txt003
-STRI
- V0 -1.32796 1.32796 0.522222 V1 -0.950425 1.61822 0.522222 V2 -0.889259 1.51407 0.384375
- N0 -0.572843 0.572843 -0.586261 N1 -0.406555 0.700957 -0.58598 N2 -0.349647 0.602839 -0.717169
- txt003
-STRI
- V0 -0.889259 1.51407 0.384375 V1 -1.2425 1.2425 0.384375 V2 -1.32796 1.32796 0.522222
- N0 -0.349647 0.602839 -0.717169 N1 -0.492597 0.492597 -0.717423 N2 -0.572843 0.572843 -0.586261
- txt003
-STRI
- V0 -0.950425 1.61822 0.522222 V1 -0.502229 1.80456 0.522222 V2 -0.469907 1.68843 0.384375
- N0 -0.406555 0.700957 -0.58598 N1 -0.211045 0.782908 -0.585248 N2 -0.181563 0.673539 -0.716506
- txt003
-STRI
- V0 -0.469907 1.68843 0.384375 V1 -0.889259 1.51407 0.384375 V2 -0.950425 1.61822 0.522222
- N0 -0.181563 0.673539 -0.716506 N1 -0.349647 0.602839 -0.717169 N2 -0.406555 0.700957 -0.58598
- txt003
-STRI
- V0 -0.502229 1.80456 0.522222 V1 -2.22045e-16 1.87037 0.522222 V2 -2.22045e-16 1.75 0.384375
- N0 -0.211045 0.782908 -0.585248 N1 6.19755e-17 0.811257 -0.58469 N2 8.11143e-17 0.6981 -0.716
- txt003
-STRI
- V0 -2.22045e-16 1.75 0.384375 V1 -0.469907 1.68843 0.384375 V2 -0.502229 1.80456 0.522222
- N0 8.11143e-17 0.6981 -0.716 N1 -0.181563 0.673539 -0.716506 N2 -0.211045 0.782908 -0.585248
- txt003
-STRI
- V0 -1.75 0 0.384375 V1 -1.68843 0.469907 0.384375 V2 -1.57229 0.437586 0.277778
- N0 -0.6981 0 -0.716 N1 -0.673539 0.181563 -0.716506 N2 -0.61392 0.165491 -0.771826
- txt003
-STRI
- V0 -1.57229 0.437586 0.277778 V1 -1.62963 0 0.277778 V2 -1.75 0 0.384375
- N0 -0.61392 0.165491 -0.771826 N1 -0.636383 0 -0.771373 N2 -0.6981 0 -0.716
- txt003
-STRI
- V0 -1.68843 0.469907 0.384375 V1 -1.51407 0.889259 0.384375 V2 -1.40993 0.828093 0.277778
- N0 -0.673539 0.181563 -0.716506 N1 -0.602839 0.349647 -0.717169 N2 -0.549392 0.318647 -0.77242
- txt003
-STRI
- V0 -1.40993 0.828093 0.277778 V1 -1.57229 0.437586 0.277778 V2 -1.68843 0.469907 0.384375
- N0 -0.549392 0.318647 -0.77242 N1 -0.61392 0.165491 -0.771826 N2 -0.673539 0.181563 -0.716506
- txt003
-STRI
- V0 -1.51407 0.889259 0.384375 V1 -1.2425 1.2425 0.384375 V2 -1.15704 1.15704 0.277778
- N0 -0.602839 0.349647 -0.717169 N1 -0.492597 0.492597 -0.717423 N2 -0.448897 0.448897 -0.772647
- txt003
-STRI
- V0 -1.15704 1.15704 0.277778 V1 -1.40993 0.828093 0.277778 V2 -1.51407 0.889259 0.384375
- N0 -0.448897 0.448897 -0.772647 N1 -0.549392 0.318647 -0.77242 N2 -0.602839 0.349647 -0.717169
- txt003
-STRI
- V0 -1.2425 1.2425 0.384375 V1 -0.889259 1.51407 0.384375 V2 -0.828093 1.40993 0.277778
- N0 -0.492597 0.492597 -0.717423 N1 -0.349647 0.602839 -0.717169 N2 -0.318647 0.549392 -0.77242
- txt003
-STRI
- V0 -0.828093 1.40993 0.277778 V1 -1.15704 1.15704 0.277778 V2 -1.2425 1.2425 0.384375
- N0 -0.318647 0.549392 -0.77242 N1 -0.448897 0.448897 -0.772647 N2 -0.492597 0.492597 -0.717423
- txt003
-STRI
- V0 -0.889259 1.51407 0.384375 V1 -0.469907 1.68843 0.384375 V2 -0.437586 1.57229 0.277778
- N0 -0.349647 0.602839 -0.717169 N1 -0.181563 0.673539 -0.716506 N2 -0.165491 0.61392 -0.771826
- txt003
-STRI
- V0 -0.437586 1.57229 0.277778 V1 -0.828093 1.40993 0.277778 V2 -0.889259 1.51407 0.384375
- N0 -0.165491 0.61392 -0.771826 N1 -0.318647 0.549392 -0.77242 N2 -0.349647 0.602839 -0.717169
- txt003
-STRI
- V0 -0.469907 1.68843 0.384375 V1 -2.22045e-16 1.75 0.384375 V2 0 1.62963 0.277778
- N0 -0.181563 0.673539 -0.716506 N1 8.11143e-17 0.6981 -0.716 N2 1.97068e-16 0.636383 -0.771373
- txt003
-STRI
- V0 0 1.62963 0.277778 V1 -0.437586 1.57229 0.277778 V2 -0.469907 1.68843 0.384375
- N0 1.97068e-16 0.636383 -0.771373 N1 -0.165491 0.61392 -0.771826 N2 -0.181563 0.673539 -0.716506
- txt003
-STRI
- V0 -1.62963 0 0.277778 V1 -1.57229 0.437586 0.277778 V2 -1.48296 0.412723 0.200347
- N0 -0.636383 0 -0.771373 N1 -0.61392 0.165491 -0.771826 N2 -0.651276 0.175561 -0.738253
- txt003
-STRI
- V0 -1.48296 0.412723 0.200347 V1 -1.53704 0 0.200347 V2 -1.62963 0 0.277778
- N0 -0.651276 0.175561 -0.738253 N1 -0.675056 0 -0.737766 N2 -0.636383 0 -0.771373
- txt003
-STRI
- V0 -1.57229 0.437586 0.277778 V1 -1.40993 0.828093 0.277778 V2 -1.32982 0.781043 0.200347
- N0 -0.61392 0.165491 -0.771826 N1 -0.549392 0.318647 -0.77242 N2 -0.582878 0.338069 -0.738893
- txt003
-STRI
- V0 -1.32982 0.781043 0.200347 V1 -1.48296 0.412723 0.200347 V2 -1.57229 0.437586 0.277778
- N0 -0.582878 0.338069 -0.738893 N1 -0.651276 0.175561 -0.738253 N2 -0.61392 0.165491 -0.771826
- txt003
-STRI
- V0 -1.40993 0.828093 0.277778 V1 -1.15704 1.15704 0.277778 V2 -1.0913 1.0913 0.200347
- N0 -0.549392 0.318647 -0.77242 N1 -0.448897 0.448897 -0.772647 N2 -0.476275 0.476275 -0.739137
- txt003
-STRI
- V0 -1.0913 1.0913 0.200347 V1 -1.32982 0.781043 0.200347 V2 -1.40993 0.828093 0.277778
- N0 -0.476275 0.476275 -0.739137 N1 -0.582878 0.338069 -0.738893 N2 -0.549392 0.318647 -0.77242
- txt003
-STRI
- V0 -1.15704 1.15704 0.277778 V1 -0.828093 1.40993 0.277778 V2 -0.781043 1.32982 0.200347
- N0 -0.448897 0.448897 -0.772647 N1 -0.318647 0.549392 -0.77242 N2 -0.338069 0.582878 -0.738893
- txt003
-STRI
- V0 -0.781043 1.32982 0.200347 V1 -1.0913 1.0913 0.200347 V2 -1.15704 1.15704 0.277778
- N0 -0.338069 0.582878 -0.738893 N1 -0.476275 0.476275 -0.739137 N2 -0.448897 0.448897 -0.772647
- txt003
-STRI
- V0 -0.828093 1.40993 0.277778 V1 -0.437586 1.57229 0.277778 V2 -0.412723 1.48296 0.200347
- N0 -0.318647 0.549392 -0.77242 N1 -0.165491 0.61392 -0.771826 N2 -0.175561 0.651276 -0.738253
- txt003
-STRI
- V0 -0.412723 1.48296 0.200347 V1 -0.781043 1.32982 0.200347 V2 -0.828093 1.40993 0.277778
- N0 -0.175561 0.651276 -0.738253 N1 -0.338069 0.582878 -0.738893 N2 -0.318647 0.549392 -0.77242
- txt003
-STRI
- V0 -0.437586 1.57229 0.277778 V1 0 1.62963 0.277778 V2 0 1.53704 0.200347
- N0 -0.165491 0.61392 -0.771826 N1 1.97068e-16 0.636383 -0.771373 N2 9.51605e-17 0.675056 -0.737766
- txt003
-STRI
- V0 0 1.53704 0.200347 V1 -0.412723 1.48296 0.200347 V2 -0.437586 1.57229 0.277778
- N0 9.51605e-17 0.675056 -0.737766 N1 -0.175561 0.651276 -0.738253 N2 -0.165491 0.61392 -0.771826
- txt003
-STRI
- V0 -1.53704 0 0.200347 V1 -1.48296 0.412723 0.200347 V2 -1.44722 0.402778 0.15
- N0 -0.675056 0 -0.737766 N1 -0.651276 0.175561 -0.738253 N2 -0.965535 0.260275 0
- txt003
-STRI
- V0 -1.44722 0.402778 0.15 V1 -1.5 0 0.15 V2 -1.53704 0 0.200347
- N0 -0.965535 0.260275 0 N1 -1 0 0 N2 -0.675056 0 -0.737766
- txt003
-STRI
- V0 -1.48296 0.412723 0.200347 V1 -1.32982 0.781043 0.200347 V2 -1.29778 0.762222 0.15
- N0 -0.651276 0.175561 -0.738253 N1 -0.582878 0.338069 -0.738893 N2 -0.865031 0.501718 0
- txt003
-STRI
- V0 -1.29778 0.762222 0.15 V1 -1.44722 0.402778 0.15 V2 -1.48296 0.412723 0.200347
- N0 -0.865031 0.501718 0 N1 -0.965535 0.260275 0 N2 -0.651276 0.175561 -0.738253
- txt003
-STRI
- V0 -1.32982 0.781043 0.200347 V1 -1.0913 1.0913 0.200347 V2 -1.065 1.065 0.15
- N0 -0.582878 0.338069 -0.738893 N1 -0.476275 0.476275 -0.739137 N2 -0.707107 0.707107 0
- txt003
-STRI
- V0 -1.065 1.065 0.15 V1 -1.29778 0.762222 0.15 V2 -1.32982 0.781043 0.200347
- N0 -0.707107 0.707107 0 N1 -0.865031 0.501718 0 N2 -0.582878 0.338069 -0.738893
- txt003
-STRI
- V0 -1.0913 1.0913 0.200347 V1 -0.781043 1.32982 0.200347 V2 -0.762222 1.29778 0.15
- N0 -0.476275 0.476275 -0.739137 N1 -0.338069 0.582878 -0.738893 N2 -0.501718 0.865031 0
- txt003
-STRI
- V0 -0.762222 1.29778 0.15 V1 -1.065 1.065 0.15 V2 -1.0913 1.0913 0.200347
- N0 -0.501718 0.865031 0 N1 -0.707107 0.707107 0 N2 -0.476275 0.476275 -0.739137
- txt003
-STRI
- V0 -0.781043 1.32982 0.200347 V1 -0.412723 1.48296 0.200347 V2 -0.402778 1.44722 0.15
- N0 -0.338069 0.582878 -0.738893 N1 -0.175561 0.651276 -0.738253 N2 -0.260275 0.965535 0
- txt003
-STRI
- V0 -0.402778 1.44722 0.15 V1 -0.762222 1.29778 0.15 V2 -0.781043 1.32982 0.200347
- N0 -0.260275 0.965535 0 N1 -0.501718 0.865031 0 N2 -0.338069 0.582878 -0.738893
- txt003
-STRI
- V0 -0.412723 1.48296 0.200347 V1 0 1.53704 0.200347 V2 0 1.5 0.15
- N0 -0.175561 0.651276 -0.738253 N1 9.51605e-17 0.675056 -0.737766 N2 -0 1 0
- txt003
-STRI
- V0 0 1.5 0.15 V1 -0.402778 1.44722 0.15 V2 -0.412723 1.48296 0.200347
- N0 -0 1 0 N1 -0.260275 0.965535 0 N2 -0.175561 0.651276 -0.738253
- txt003
-STRI
- V0 0 2 0.9 V1 0.537037 1.92963 0.9 V2 0.527092 1.8939 0.693403
- N0 -0 1 0 N1 0.260275 0.965535 0 N2 0.244192 0.905874 -0.346067
- txt003
-STRI
- V0 0.527092 1.8939 0.693403 V1 0 1.96296 0.693403 V2 0 2 0.9
- N0 0.244192 0.905874 -0.346067 N1 0 0.938373 -0.345625 N2 -0 1 0
- txt003
-STRI
- V0 0.537037 1.92963 0.9 V1 1.0163 1.73037 0.9 V2 0.997476 1.69833 0.693403
- N0 0.260275 0.965535 0 N1 0.501718 0.865031 0 N2 0.470609 0.811395 -0.346647
- txt003
-STRI
- V0 0.997476 1.69833 0.693403 V1 0.527092 1.8939 0.693403 V2 0.537037 1.92963 0.9
- N0 0.470609 0.811395 -0.346647 N1 0.244192 0.905874 -0.346067 N2 0.260275 0.965535 0
- txt003
-STRI
- V0 1.0163 1.73037 0.9 V1 1.42 1.42 0.9 V2 1.3937 1.3937 0.693403
- N0 0.501718 0.865031 0 N1 0.707107 0.707107 0 N2 0.663205 0.663205 -0.34687
- txt003
-STRI
- V0 1.3937 1.3937 0.693403 V1 0.997476 1.69833 0.693403 V2 1.0163 1.73037 0.9
- N0 0.663205 0.663205 -0.34687 N1 0.470609 0.811395 -0.346647 N2 0.501718 0.865031 0
- txt003
-STRI
- V0 1.42 1.42 0.9 V1 1.73037 1.0163 0.9 V2 1.69833 0.997476 0.693403
- N0 0.707107 0.707107 0 N1 0.865031 0.501718 0 N2 0.811395 0.470609 -0.346647
- txt003
-STRI
- V0 1.69833 0.997476 0.693403 V1 1.3937 1.3937 0.693403 V2 1.42 1.42 0.9
- N0 0.811395 0.470609 -0.346647 N1 0.663205 0.663205 -0.34687 N2 0.707107 0.707107 0
- txt003
-STRI
- V0 1.73037 1.0163 0.9 V1 1.92963 0.537037 0.9 V2 1.8939 0.527092 0.693403
- N0 0.865031 0.501718 0 N1 0.965535 0.260275 0 N2 0.905874 0.244192 -0.346067
- txt003
-STRI
- V0 1.8939 0.527092 0.693403 V1 1.69833 0.997476 0.693403 V2 1.73037 1.0163 0.9
- N0 0.905874 0.244192 -0.346067 N1 0.811395 0.470609 -0.346647 N2 0.865031 0.501718 0
- txt003
-STRI
- V0 1.92963 0.537037 0.9 V1 2 0 0.9 V2 1.96296 2.22045e-16 0.693403
- N0 0.965535 0.260275 0 N1 1 0 0 N2 0.938373 -3.49072e-17 -0.345625
- txt003
-STRI
- V0 1.96296 2.22045e-16 0.693403 V1 1.8939 0.527092 0.693403 V2 1.92963 0.537037 0.9
- N0 0.938373 -3.49072e-17 -0.345625 N1 0.905874 0.244192 -0.346067 N2 0.965535 0.260275 0
- txt003
-STRI
- V0 0 1.96296 0.693403 V1 0.527092 1.8939 0.693403 V2 0.502229 1.80456 0.522222
- N0 0 0.938373 -0.345625 N1 0.244192 0.905874 -0.346067 N2 0.211045 0.782908 -0.585248
- txt003
-STRI
- V0 0.502229 1.80456 0.522222 V1 0 1.87037 0.522222 V2 0 1.96296 0.693403
- N0 0.211045 0.782908 -0.585248 N1 0 0.811257 -0.58469 N2 0 0.938373 -0.345625
- txt003
-STRI
- V0 0.527092 1.8939 0.693403 V1 0.997476 1.69833 0.693403 V2 0.950425 1.61822 0.522222
- N0 0.244192 0.905874 -0.346067 N1 0.470609 0.811395 -0.346647 N2 0.406555 0.700957 -0.58598
- txt003
-STRI
- V0 0.950425 1.61822 0.522222 V1 0.502229 1.80456 0.522222 V2 0.527092 1.8939 0.693403
- N0 0.406555 0.700957 -0.58598 N1 0.211045 0.782908 -0.585248 N2 0.244192 0.905874 -0.346067
- txt003
-STRI
- V0 0.997476 1.69833 0.693403 V1 1.3937 1.3937 0.693403 V2 1.32796 1.32796 0.522222
- N0 0.470609 0.811395 -0.346647 N1 0.663205 0.663205 -0.34687 N2 0.572843 0.572843 -0.586261
- txt003
-STRI
- V0 1.32796 1.32796 0.522222 V1 0.950425 1.61822 0.522222 V2 0.997476 1.69833 0.693403
- N0 0.572843 0.572843 -0.586261 N1 0.406555 0.700957 -0.58598 N2 0.470609 0.811395 -0.346647
- txt003
-STRI
- V0 1.3937 1.3937 0.693403 V1 1.69833 0.997476 0.693403 V2 1.61822 0.950425 0.522222
- N0 0.663205 0.663205 -0.34687 N1 0.811395 0.470609 -0.346647 N2 0.700957 0.406555 -0.58598
- txt003
-STRI
- V0 1.61822 0.950425 0.522222 V1 1.32796 1.32796 0.522222 V2 1.3937 1.3937 0.693403
- N0 0.700957 0.406555 -0.58598 N1 0.572843 0.572843 -0.586261 N2 0.663205 0.663205 -0.34687
- txt003
-STRI
- V0 1.69833 0.997476 0.693403 V1 1.8939 0.527092 0.693403 V2 1.80456 0.502229 0.522222
- N0 0.811395 0.470609 -0.346647 N1 0.905874 0.244192 -0.346067 N2 0.782908 0.211045 -0.585248
- txt003
-STRI
- V0 1.80456 0.502229 0.522222 V1 1.61822 0.950425 0.522222 V2 1.69833 0.997476 0.693403
- N0 0.782908 0.211045 -0.585248 N1 0.700957 0.406555 -0.58598 N2 0.811395 0.470609 -0.346647
- txt003
-STRI
- V0 1.8939 0.527092 0.693403 V1 1.96296 2.22045e-16 0.693403 V2 1.87037 2.22045e-16 0.522222
- N0 0.905874 0.244192 -0.346067 N1 0.938373 -3.49072e-17 -0.345625 N2 0.811257 -6.19755e-17 -0.58469
- txt003
-STRI
- V0 1.87037 2.22045e-16 0.522222 V1 1.80456 0.502229 0.522222 V2 1.8939 0.527092 0.693403
- N0 0.811257 -6.19755e-17 -0.58469 N1 0.782908 0.211045 -0.585248 N2 0.905874 0.244192 -0.346067
- txt003
-STRI
- V0 0 1.87037 0.522222 V1 0.502229 1.80456 0.522222 V2 0.469907 1.68843 0.384375
- N0 0 0.811257 -0.58469 N1 0.211045 0.782908 -0.585248 N2 0.181563 0.673539 -0.716506
- txt003
-STRI
- V0 0.469907 1.68843 0.384375 V1 0 1.75 0.384375 V2 0 1.87037 0.522222
- N0 0.181563 0.673539 -0.716506 N1 0 0.6981 -0.716 N2 0 0.811257 -0.58469
- txt003
-STRI
- V0 0.502229 1.80456 0.522222 V1 0.950425 1.61822 0.522222 V2 0.889259 1.51407 0.384375
- N0 0.211045 0.782908 -0.585248 N1 0.406555 0.700957 -0.58598 N2 0.349647 0.602839 -0.717169
- txt003
-STRI
- V0 0.889259 1.51407 0.384375 V1 0.469907 1.68843 0.384375 V2 0.502229 1.80456 0.522222
- N0 0.349647 0.602839 -0.717169 N1 0.181563 0.673539 -0.716506 N2 0.211045 0.782908 -0.585248
- txt003
-STRI
- V0 0.950425 1.61822 0.522222 V1 1.32796 1.32796 0.522222 V2 1.2425 1.2425 0.384375
- N0 0.406555 0.700957 -0.58598 N1 0.572843 0.572843 -0.586261 N2 0.492597 0.492597 -0.717423
- txt003
-STRI
- V0 1.2425 1.2425 0.384375 V1 0.889259 1.51407 0.384375 V2 0.950425 1.61822 0.522222
- N0 0.492597 0.492597 -0.717423 N1 0.349647 0.602839 -0.717169 N2 0.406555 0.700957 -0.58598
- txt003
-STRI
- V0 1.32796 1.32796 0.522222 V1 1.61822 0.950425 0.522222 V2 1.51407 0.889259 0.384375
- N0 0.572843 0.572843 -0.586261 N1 0.700957 0.406555 -0.58598 N2 0.602839 0.349647 -0.717169
- txt003
-STRI
- V0 1.51407 0.889259 0.384375 V1 1.2425 1.2425 0.384375 V2 1.32796 1.32796 0.522222
- N0 0.602839 0.349647 -0.717169 N1 0.492597 0.492597 -0.717423 N2 0.572843 0.572843 -0.586261
- txt003
-STRI
- V0 1.61822 0.950425 0.522222 V1 1.80456 0.502229 0.522222 V2 1.68843 0.469907 0.384375
- N0 0.700957 0.406555 -0.58598 N1 0.782908 0.211045 -0.585248 N2 0.673539 0.181563 -0.716506
- txt003
-STRI
- V0 1.68843 0.469907 0.384375 V1 1.51407 0.889259 0.384375 V2 1.61822 0.950425 0.522222
- N0 0.673539 0.181563 -0.716506 N1 0.602839 0.349647 -0.717169 N2 0.700957 0.406555 -0.58598
- txt003
-STRI
- V0 1.80456 0.502229 0.522222 V1 1.87037 2.22045e-16 0.522222 V2 1.75 2.22045e-16 0.384375
- N0 0.782908 0.211045 -0.585248 N1 0.811257 -6.19755e-17 -0.58469 N2 0.6981 -8.11143e-17 -0.716
- txt003
-STRI
- V0 1.75 2.22045e-16 0.384375 V1 1.68843 0.469907 0.384375 V2 1.80456 0.502229 0.522222
- N0 0.6981 -8.11143e-17 -0.716 N1 0.673539 0.181563 -0.716506 N2 0.782908 0.211045 -0.585248
- txt003
-STRI
- V0 0 1.75 0.384375 V1 0.469907 1.68843 0.384375 V2 0.437586 1.57229 0.277778
- N0 0 0.6981 -0.716 N1 0.181563 0.673539 -0.716506 N2 0.165491 0.61392 -0.771826
- txt003
-STRI
- V0 0.437586 1.57229 0.277778 V1 0 1.62963 0.277778 V2 0 1.75 0.384375
- N0 0.165491 0.61392 -0.771826 N1 0 0.636383 -0.771373 N2 0 0.6981 -0.716
- txt003
-STRI
- V0 0.469907 1.68843 0.384375 V1 0.889259 1.51407 0.384375 V2 0.828093 1.40993 0.277778
- N0 0.181563 0.673539 -0.716506 N1 0.349647 0.602839 -0.717169 N2 0.318647 0.549392 -0.77242
- txt003
-STRI
- V0 0.828093 1.40993 0.277778 V1 0.437586 1.57229 0.277778 V2 0.469907 1.68843 0.384375
- N0 0.318647 0.549392 -0.77242 N1 0.165491 0.61392 -0.771826 N2 0.181563 0.673539 -0.716506
- txt003
-STRI
- V0 0.889259 1.51407 0.384375 V1 1.2425 1.2425 0.384375 V2 1.15704 1.15704 0.277778
- N0 0.349647 0.602839 -0.717169 N1 0.492597 0.492597 -0.717423 N2 0.448897 0.448897 -0.772647
- txt003
-STRI
- V0 1.15704 1.15704 0.277778 V1 0.828093 1.40993 0.277778 V2 0.889259 1.51407 0.384375
- N0 0.448897 0.448897 -0.772647 N1 0.318647 0.549392 -0.77242 N2 0.349647 0.602839 -0.717169
- txt003
-STRI
- V0 1.2425 1.2425 0.384375 V1 1.51407 0.889259 0.384375 V2 1.40993 0.828093 0.277778
- N0 0.492597 0.492597 -0.717423 N1 0.602839 0.349647 -0.717169 N2 0.549392 0.318647 -0.77242
- txt003
-STRI
- V0 1.40993 0.828093 0.277778 V1 1.15704 1.15704 0.277778 V2 1.2425 1.2425 0.384375
- N0 0.549392 0.318647 -0.77242 N1 0.448897 0.448897 -0.772647 N2 0.492597 0.492597 -0.717423
- txt003
-STRI
- V0 1.51407 0.889259 0.384375 V1 1.68843 0.469907 0.384375 V2 1.57229 0.437586 0.277778
- N0 0.602839 0.349647 -0.717169 N1 0.673539 0.181563 -0.716506 N2 0.61392 0.165491 -0.771826
- txt003
-STRI
- V0 1.57229 0.437586 0.277778 V1 1.40993 0.828093 0.277778 V2 1.51407 0.889259 0.384375
- N0 0.61392 0.165491 -0.771826 N1 0.549392 0.318647 -0.77242 N2 0.602839 0.349647 -0.717169
- txt003
-STRI
- V0 1.68843 0.469907 0.384375 V1 1.75 2.22045e-16 0.384375 V2 1.62963 0 0.277778
- N0 0.673539 0.181563 -0.716506 N1 0.6981 -8.11143e-17 -0.716 N2 0.636383 -1.97068e-16 -0.771373
- txt003
-STRI
- V0 1.62963 0 0.277778 V1 1.57229 0.437586 0.277778 V2 1.68843 0.469907 0.384375
- N0 0.636383 -1.97068e-16 -0.771373 N1 0.61392 0.165491 -0.771826 N2 0.673539 0.181563 -0.716506
- txt003
-STRI
- V0 0 1.62963 0.277778 V1 0.437586 1.57229 0.277778 V2 0.412723 1.48296 0.200347
- N0 0 0.636383 -0.771373 N1 0.165491 0.61392 -0.771826 N2 0.175561 0.651276 -0.738253
- txt003
-STRI
- V0 0.412723 1.48296 0.200347 V1 0 1.53704 0.200347 V2 0 1.62963 0.277778
- N0 0.175561 0.651276 -0.738253 N1 0 0.675056 -0.737766 N2 0 0.636383 -0.771373
- txt003
-STRI
- V0 0.437586 1.57229 0.277778 V1 0.828093 1.40993 0.277778 V2 0.781043 1.32982 0.200347
- N0 0.165491 0.61392 -0.771826 N1 0.318647 0.549392 -0.77242 N2 0.338069 0.582878 -0.738893
- txt003
-STRI
- V0 0.781043 1.32982 0.200347 V1 0.412723 1.48296 0.200347 V2 0.437586 1.57229 0.277778
- N0 0.338069 0.582878 -0.738893 N1 0.175561 0.651276 -0.738253 N2 0.165491 0.61392 -0.771826
- txt003
-STRI
- V0 0.828093 1.40993 0.277778 V1 1.15704 1.15704 0.277778 V2 1.0913 1.0913 0.200347
- N0 0.318647 0.549392 -0.77242 N1 0.448897 0.448897 -0.772647 N2 0.476275 0.476275 -0.739137
- txt003
-STRI
- V0 1.0913 1.0913 0.200347 V1 0.781043 1.32982 0.200347 V2 0.828093 1.40993 0.277778
- N0 0.476275 0.476275 -0.739137 N1 0.338069 0.582878 -0.738893 N2 0.318647 0.549392 -0.77242
- txt003
-STRI
- V0 1.15704 1.15704 0.277778 V1 1.40993 0.828093 0.277778 V2 1.32982 0.781043 0.200347
- N0 0.448897 0.448897 -0.772647 N1 0.549392 0.318647 -0.77242 N2 0.582878 0.338069 -0.738893
- txt003
-STRI
- V0 1.32982 0.781043 0.200347 V1 1.0913 1.0913 0.200347 V2 1.15704 1.15704 0.277778
- N0 0.582878 0.338069 -0.738893 N1 0.476275 0.476275 -0.739137 N2 0.448897 0.448897 -0.772647
- txt003
-STRI
- V0 1.40993 0.828093 0.277778 V1 1.57229 0.437586 0.277778 V2 1.48296 0.412723 0.200347
- N0 0.549392 0.318647 -0.77242 N1 0.61392 0.165491 -0.771826 N2 0.651276 0.175561 -0.738253
- txt003
-STRI
- V0 1.48296 0.412723 0.200347 V1 1.32982 0.781043 0.200347 V2 1.40993 0.828093 0.277778
- N0 0.651276 0.175561 -0.738253 N1 0.582878 0.338069 -0.738893 N2 0.549392 0.318647 -0.77242
- txt003
-STRI
- V0 1.57229 0.437586 0.277778 V1 1.62963 0 0.277778 V2 1.53704 0 0.200347
- N0 0.61392 0.165491 -0.771826 N1 0.636383 -1.97068e-16 -0.771373 N2 0.675056 -9.51605e-17 -0.737766
- txt003
-STRI
- V0 1.53704 0 0.200347 V1 1.48296 0.412723 0.200347 V2 1.57229 0.437586 0.277778
- N0 0.675056 -9.51605e-17 -0.737766 N1 0.651276 0.175561 -0.738253 N2 0.61392 0.165491 -0.771826
- txt003
-STRI
- V0 0 1.53704 0.200347 V1 0.412723 1.48296 0.200347 V2 0.402778 1.44722 0.15
- N0 0 0.675056 -0.737766 N1 0.175561 0.651276 -0.738253 N2 0.260275 0.965535 0
- txt003
-STRI
- V0 0.402778 1.44722 0.15 V1 0 1.5 0.15 V2 0 1.53704 0.200347
- N0 0.260275 0.965535 0 N1 -0 1 0 N2 0 0.675056 -0.737766
- txt003
-STRI
- V0 0.412723 1.48296 0.200347 V1 0.781043 1.32982 0.200347 V2 0.762222 1.29778 0.15
- N0 0.175561 0.651276 -0.738253 N1 0.338069 0.582878 -0.738893 N2 0.501718 0.865031 0
- txt003
-STRI
- V0 0.762222 1.29778 0.15 V1 0.402778 1.44722 0.15 V2 0.412723 1.48296 0.200347
- N0 0.501718 0.865031 0 N1 0.260275 0.965535 0 N2 0.175561 0.651276 -0.738253
- txt003
-STRI
- V0 0.781043 1.32982 0.200347 V1 1.0913 1.0913 0.200347 V2 1.065 1.065 0.15
- N0 0.338069 0.582878 -0.738893 N1 0.476275 0.476275 -0.739137 N2 0.707107 0.707107 0
- txt003
-STRI
- V0 1.065 1.065 0.15 V1 0.762222 1.29778 0.15 V2 0.781043 1.32982 0.200347
- N0 0.707107 0.707107 0 N1 0.501718 0.865031 0 N2 0.338069 0.582878 -0.738893
- txt003
-STRI
- V0 1.0913 1.0913 0.200347 V1 1.32982 0.781043 0.200347 V2 1.29778 0.762222 0.15
- N0 0.476275 0.476275 -0.739137 N1 0.582878 0.338069 -0.738893 N2 0.865031 0.501718 0
- txt003
-STRI
- V0 1.29778 0.762222 0.15 V1 1.065 1.065 0.15 V2 1.0913 1.0913 0.200347
- N0 0.865031 0.501718 0 N1 0.707107 0.707107 0 N2 0.476275 0.476275 -0.739137
- txt003
-STRI
- V0 1.32982 0.781043 0.200347 V1 1.48296 0.412723 0.200347 V2 1.44722 0.402778 0.15
- N0 0.582878 0.338069 -0.738893 N1 0.651276 0.175561 -0.738253 N2 0.965535 0.260275 0
- txt003
-STRI
- V0 1.44722 0.402778 0.15 V1 1.29778 0.762222 0.15 V2 1.32982 0.781043 0.200347
- N0 0.965535 0.260275 0 N1 0.865031 0.501718 0 N2 0.582878 0.338069 -0.738893
- txt003
-STRI
- V0 1.48296 0.412723 0.200347 V1 1.53704 0 0.200347 V2 1.5 0 0.15
- N0 0.651276 0.175561 -0.738253 N1 0.675056 -9.51605e-17 -0.737766 N2 1 0 0
- txt003
-STRI
- V0 1.5 0 0.15 V1 1.44722 0.402778 0.15 V2 1.48296 0.412723 0.200347
- N0 1 0 0 N1 0.965535 0.260275 0 N2 0.651276 0.175561 -0.738253
- txt003
-STRI
- V0 -1.6 0 2.025 V1 -1.59259 -0.125 2.04167 V2 -1.92704 -0.125 2.04055
- N0 -0 -0 -1 N1 -0 -0.298275 -0.95448 N2 0.0104256 -0.297446 -0.954682
- txt003
-STRI
- V0 -1.92704 -0.125 2.04055 V1 -1.92454 0 2.02396 V2 -1.6 0 2.025
- N0 0.0104256 -0.297446 -0.954682 N1 0.0104645 0 -0.999945 N2 -0 -0 -1
- txt003
-STRI
- V0 -1.59259 -0.125 2.04167 V1 -1.57407 -0.2 2.08333 V2 -1.9333 -0.2 2.08202
- N0 -0 -0.298275 -0.95448 N1 -0 -0.707107 -0.707107 N2 0.00846382 -0.706077 -0.708084
- txt003
-STRI
- V0 -1.9333 -0.2 2.08202 V1 -1.92704 -0.125 2.04055 V2 -1.59259 -0.125 2.04167
- N0 0.00846382 -0.706077 -0.708084 N1 0.0104256 -0.297446 -0.954682 N2 -0 -0.298275 -0.95448
- txt003
-STRI
- V0 -1.57407 -0.2 2.08333 V1 -1.55 -0.225 2.1375 V2 -1.94144 -0.225 2.13594
- N0 -0 -0.707107 -0.707107 N1 0 -1 0 N2 -1.61364e-18 -1 -2.43505e-19
- txt003
-STRI
- V0 -1.94144 -0.225 2.13594 V1 -1.9333 -0.2 2.08202 V2 -1.57407 -0.2 2.08333
- N0 -1.61364e-18 -1 -2.43505e-19 N1 0.00846382 -0.706077 -0.708084 N2 -0 -0.707107 -0.707107
- txt003
-STRI
- V0 -1.55 -0.225 2.1375 V1 -1.52593 -0.2 2.19167 V2 -1.94957 -0.2 2.18985
- N0 0 -1 0 N1 0 -0.707107 0.707107 N2 -0.00997559 -0.706181 0.707961
- txt003
-STRI
- V0 -1.94957 -0.2 2.18985 V1 -1.94144 -0.225 2.13594 V2 -1.55 -0.225 2.1375
- N0 -0.00997559 -0.706181 0.707961 N1 -1.61364e-18 -1 -2.43505e-19 N2 0 -1 0
- txt003
-STRI
- V0 -1.52593 -0.2 2.19167 V1 -1.50741 -0.125 2.23333 V2 -1.95583 -0.125 2.23133
- N0 0 -0.707107 0.707107 N1 0 -0.298275 0.95448 N2 -0.0140841 -0.297589 0.95459
- txt003
-STRI
- V0 -1.95583 -0.125 2.23133 V1 -1.94957 -0.2 2.18985 V2 -1.52593 -0.2 2.19167
- N0 -0.0140841 -0.297589 0.95459 N1 -0.00997559 -0.706181 0.707961 N2 0 -0.707107 0.707107
- txt003
-STRI
- V0 -1.50741 -0.125 2.23333 V1 -1.5 0 2.25 V2 -1.95833 0 2.24792
- N0 0 -0.298275 0.95448 N1 0 1.97373e-15 1 N2 -0.0149983 1.96426e-15 0.999888
- txt003
-STRI
- V0 -1.95833 0 2.24792 V1 -1.95583 -0.125 2.23133 V2 -1.50741 -0.125 2.23333
- N0 -0.0149983 1.96426e-15 0.999888 N1 -0.0140841 -0.297589 0.95459 N2 0 -0.298275 0.95448
- txt003
-STRI
- V0 -1.92454 0 2.02396 V1 -1.92704 -0.125 2.04055 V2 -2.20645 -0.125 2.03272
- N0 0.0104645 0 -0.999945 N1 0.0104256 -0.297446 -0.954682 N2 0.0510028 -0.296675 -0.953616
- txt003
-STRI
- V0 -2.20645 -0.125 2.03272 V1 -2.1963 0 2.01667 V2 -1.92454 0 2.02396
- N0 0.0510028 -0.296675 -0.953616 N1 0.0510696 0 -0.998695 N2 0.0104645 0 -0.999945
- txt003
-STRI
- V0 -1.92704 -0.125 2.04055 V1 -1.9333 -0.2 2.08202 V2 -2.23182 -0.2 2.07284
- N0 0.0104256 -0.297446 -0.954682 N1 0.00846382 -0.706077 -0.708084 N2 0.0415994 -0.706072 -0.706918
- txt003
-STRI
- V0 -2.23182 -0.2 2.07284 V1 -2.20645 -0.125 2.03272 V2 -1.92704 -0.125 2.04055
- N0 0.0415994 -0.706072 -0.706918 N1 0.0510028 -0.296675 -0.953616 N2 0.0104256 -0.297446 -0.954682
- txt003
-STRI
- V0 -1.9333 -0.2 2.08202 V1 -1.94144 -0.225 2.13594 V2 -2.26481 -0.225 2.125
- N0 0.00846382 -0.706077 -0.708084 N1 -1.61364e-18 -1 -2.43505e-19 N2 -7.69071e-18 -1 -4.86421e-18
- txt003
-STRI
- V0 -2.26481 -0.225 2.125 V1 -2.23182 -0.2 2.07284 V2 -1.9333 -0.2 2.08202
- N0 -7.69071e-18 -1 -4.86421e-18 N1 0.0415994 -0.706072 -0.706918 N2 0.00846382 -0.706077 -0.708084
- txt003
-STRI
- V0 -1.94144 -0.225 2.13594 V1 -1.94957 -0.2 2.18985 V2 -2.29781 -0.2 2.17716
- N0 -1.61364e-18 -1 -2.43505e-19 N1 -0.00997559 -0.706181 0.707961 N2 -0.0493858 -0.708239 0.704243
- txt003
-STRI
- V0 -2.29781 -0.2 2.17716 V1 -2.26481 -0.225 2.125 V2 -1.94144 -0.225 2.13594
- N0 -0.0493858 -0.708239 0.704243 N1 -7.69071e-18 -1 -4.86421e-18 N2 -1.61364e-18 -1 -2.43505e-19
- txt003
-STRI
- V0 -1.94957 -0.2 2.18985 V1 -1.95583 -0.125 2.23133 V2 -2.32318 -0.125 2.21728
- N0 -0.00997559 -0.706181 0.707961 N1 -0.0140841 -0.297589 0.95459 N2 -0.0701017 -0.299663 0.951466
- txt003
-STRI
- V0 -2.32318 -0.125 2.21728 V1 -2.29781 -0.2 2.17716 V2 -1.94957 -0.2 2.18985
- N0 -0.0701017 -0.299663 0.951466 N1 -0.0493858 -0.708239 0.704243 N2 -0.00997559 -0.706181 0.707961
- txt003
-STRI
- V0 -1.95583 -0.125 2.23133 V1 -1.95833 0 2.24792 V2 -2.33333 0 2.23333
- N0 -0.0140841 -0.297589 0.95459 N1 -0.0149983 1.96426e-15 0.999888 N2 -0.0747899 1.66682e-15 0.997199
- txt003
-STRI
- V0 -2.33333 0 2.23333 V1 -2.32318 -0.125 2.21728 V2 -1.95583 -0.125 2.23133
- N0 -0.0747899 1.66682e-15 0.997199 N1 -0.0701017 -0.299663 0.951466 N2 -0.0140841 -0.297589 0.95459
- txt003
-STRI
- V0 -2.1963 0 2.01667 V1 -2.20645 -0.125 2.03272 V2 -2.42824 -0.125 2.01146
- N0 0.0510696 0 -0.998695 N1 0.0510028 -0.296675 -0.953616 N2 0.148104 -0.301279 -0.941964
- txt003
-STRI
- V0 -2.42824 -0.125 2.01146 V1 -2.4125 0 1.99687 V2 -2.1963 0 2.01667
- N0 0.148104 -0.301279 -0.941964 N1 0.14834 0 -0.988936 N2 0.0510696 0 -0.998695
- txt003
-STRI
- V0 -2.20645 -0.125 2.03272 V1 -2.23182 -0.2 2.07284 V2 -2.46759 -0.2 2.04792
- N0 0.0510028 -0.296675 -0.953616 N1 0.0415994 -0.706072 -0.706918 N2 0.119688 -0.715388 -0.6884
- txt003
-STRI
- V0 -2.46759 -0.2 2.04792 V1 -2.42824 -0.125 2.01146 V2 -2.20645 -0.125 2.03272
- N0 0.119688 -0.715388 -0.6884 N1 0.148104 -0.301279 -0.941964 N2 0.0510028 -0.296675 -0.953616
- txt003
-STRI
- V0 -2.23182 -0.2 2.07284 V1 -2.26481 -0.225 2.125 V2 -2.51875 -0.225 2.09531
- N0 0.0415994 -0.706072 -0.706918 N1 -7.69071e-18 -1 -4.86421e-18 N2 -1.96915e-17 -1 -2.12543e-17
- txt003
-STRI
- V0 -2.51875 -0.225 2.09531 V1 -2.46759 -0.2 2.04792 V2 -2.23182 -0.2 2.07284
- N0 -1.96915e-17 -1 -2.12543e-17 N1 0.119688 -0.715388 -0.6884 N2 0.0415994 -0.706072 -0.706918
- txt003
-STRI
- V0 -2.26481 -0.225 2.125 V1 -2.29781 -0.2 2.17716 V2 -2.56991 -0.2 2.14271
- N0 -7.69071e-18 -1 -4.86421e-18 N1 -0.0493858 -0.708239 0.704243 N2 -0.141352 -0.724137 0.675015
- txt003
-STRI
- V0 -2.56991 -0.2 2.14271 V1 -2.51875 -0.225 2.09531 V2 -2.26481 -0.225 2.125
- N0 -0.141352 -0.724137 0.675015 N1 -1.96915e-17 -1 -2.12543e-17 N2 -7.69071e-18 -1 -4.86421e-18
- txt003
-STRI
- V0 -2.29781 -0.2 2.17716 V1 -2.32318 -0.125 2.21728 V2 -2.60926 -0.125 2.17917
- N0 -0.0493858 -0.708239 0.704243 N1 -0.0701017 -0.299663 0.951466 N2 -0.204668 -0.313917 0.927128
- txt003
-STRI
- V0 -2.60926 -0.125 2.17917 V1 -2.56991 -0.2 2.14271 V2 -2.29781 -0.2 2.17716
- N0 -0.204668 -0.313917 0.927128 N1 -0.141352 -0.724137 0.675015 N2 -0.0493858 -0.708239 0.704243
- txt003
-STRI
- V0 -2.32318 -0.125 2.21728 V1 -2.33333 0 2.23333 V2 -2.625 0 2.19375
- N0 -0.0701017 -0.299663 0.951466 N1 -0.0747899 1.66682e-15 0.997199 N2 -0.219512 1.81728e-15 0.97561
- txt003
-STRI
- V0 -2.625 0 2.19375 V1 -2.60926 -0.125 2.17917 V2 -2.32318 -0.125 2.21728
- N0 -0.219512 1.81728e-15 0.97561 N1 -0.204668 -0.313917 0.927128 N2 -0.0701017 -0.299663 0.951466
- txt003
-STRI
- V0 -2.4125 0 1.99687 V1 -2.42824 -0.125 2.01146 V2 -2.58985 -0.125 1.97006
- N0 0.14834 0 -0.988936 N1 0.148104 -0.301279 -0.941964 N2 0.359682 -0.323804 -0.875089
- txt003
-STRI
- V0 -2.58985 -0.125 1.97006 V1 -2.57037 0 1.95833 V2 -2.4125 0 1.99687
- N0 0.359682 -0.323804 -0.875089 N1 0.364399 0 -0.931243 N2 0.14834 0 -0.988936
- txt003
-STRI
- V0 -2.42824 -0.125 2.01146 V1 -2.46759 -0.2 2.04792 V2 -2.63855 -0.2 1.99938
- N0 0.148104 -0.301279 -0.941964 N1 0.119688 -0.715388 -0.6884 N2 0.275915 -0.747596 -0.604128
- txt003
-STRI
- V0 -2.63855 -0.2 1.99938 V1 -2.58985 -0.125 1.97006 V2 -2.42824 -0.125 2.01146
- N0 0.275915 -0.747596 -0.604128 N1 0.359682 -0.323804 -0.875089 N2 0.148104 -0.301279 -0.941964
- txt003
-STRI
- V0 -2.46759 -0.2 2.04792 V1 -2.51875 -0.225 2.09531 V2 -2.70185 -0.225 2.0375
- N0 0.119688 -0.715388 -0.6884 N1 -1.96915e-17 -1 -2.12543e-17 N2 -3.40413e-17 -1 -5.65364e-17
- txt003
-STRI
- V0 -2.70185 -0.225 2.0375 V1 -2.63855 -0.2 1.99938 V2 -2.46759 -0.2 2.04792
- N0 -3.40413e-17 -1 -5.65364e-17 N1 0.275915 -0.747596 -0.604128 N2 0.119688 -0.715388 -0.6884
- txt003
-STRI
- V0 -2.51875 -0.225 2.09531 V1 -2.56991 -0.2 2.14271 V2 -2.76516 -0.2 2.07562
- N0 -1.96915e-17 -1 -2.12543e-17 N1 -0.141352 -0.724137 0.675015 N2 -0.313659 -0.763673 0.564289
- txt003
-STRI
- V0 -2.76516 -0.2 2.07562 V1 -2.70185 -0.225 2.0375 V2 -2.51875 -0.225 2.09531
- N0 -0.313659 -0.763673 0.564289 N1 -3.40413e-17 -1 -5.65364e-17 N2 -1.96915e-17 -1 -2.12543e-17
- txt003
-STRI
- V0 -2.56991 -0.2 2.14271 V1 -2.60926 -0.125 2.17917 V2 -2.81385 -0.125 2.10494
- N0 -0.141352 -0.724137 0.675015 N1 -0.204668 -0.313917 0.927128 N2 -0.474611 -0.350859 0.807244
- txt003
-STRI
- V0 -2.81385 -0.125 2.10494 V1 -2.76516 -0.2 2.07562 V2 -2.56991 -0.2 2.14271
- N0 -0.474611 -0.350859 0.807244 N1 -0.313659 -0.763673 0.564289 N2 -0.141352 -0.724137 0.675015
- txt003
-STRI
- V0 -2.60926 -0.125 2.17917 V1 -2.625 0 2.19375 V2 -2.83333 0 2.11667
- N0 -0.204668 -0.313917 0.927128 N1 -0.219512 1.81728e-15 0.97561 N2 -0.514496 1.6713e-15 0.857493
- txt003
-STRI
- V0 -2.83333 0 2.11667 V1 -2.81385 -0.125 2.10494 V2 -2.60926 -0.125 2.17917
- N0 -0.514496 1.6713e-15 0.857493 N1 -0.474611 -0.350859 0.807244 N2 -0.204668 -0.313917 0.927128
- txt003
-STRI
- V0 -2.57037 0 1.95833 V1 -2.58985 -0.125 1.97006 V2 -2.6887 -0.125 1.90181
- N0 0.364399 0 -0.931243 N1 0.359682 -0.323804 -0.875089 N2 0.727532 -0.37029 -0.577566
- txt003
-STRI
- V0 -2.6887 -0.125 1.90181 V1 -2.66713 0 1.89479 V2 -2.57037 0 1.95833
- N0 0.727532 -0.37029 -0.577566 N1 0.767382 0 -0.64119 N2 0.364399 0 -0.931243
- txt003
-STRI
- V0 -2.58985 -0.125 1.97006 V1 -2.63855 -0.2 1.99938 V2 -2.74263 -0.2 1.91937
- N0 0.359682 -0.323804 -0.875089 N1 0.275915 -0.747596 -0.604128 N2 0.497152 -0.792374 -0.35353
- txt003
-STRI
- V0 -2.74263 -0.2 1.91937 V1 -2.6887 -0.125 1.90181 V2 -2.58985 -0.125 1.97006
- N0 0.497152 -0.792374 -0.35353 N1 0.727532 -0.37029 -0.577566 N2 0.359682 -0.323804 -0.875089
- txt003
-STRI
- V0 -2.63855 -0.2 1.99938 V1 -2.70185 -0.225 2.0375 V2 -2.81273 -0.225 1.94219
- N0 0.275915 -0.747596 -0.604128 N1 -3.40413e-17 -1 -5.65364e-17 N2 -3.3285e-17 -1 -1.02253e-16
- txt003
-STRI
- V0 -2.81273 -0.225 1.94219 V1 -2.74263 -0.2 1.91937 V2 -2.63855 -0.2 1.99938
- N0 -3.3285e-17 -1 -1.02253e-16 N1 0.497152 -0.792374 -0.35353 N2 0.275915 -0.747596 -0.604128
- txt003
-STRI
- V0 -2.70185 -0.225 2.0375 V1 -2.76516 -0.2 2.07562 V2 -2.88284 -0.2 1.96501
- N0 -3.40413e-17 -1 -5.65364e-17 N1 -0.313659 -0.763673 0.564289 N2 -0.519903 -0.799556 0.300684
- txt003
-STRI
- V0 -2.88284 -0.2 1.96501 V1 -2.81273 -0.225 1.94219 V2 -2.70185 -0.225 2.0375
- N0 -0.519903 -0.799556 0.300684 N1 -3.3285e-17 -1 -1.02253e-16 N2 -3.40413e-17 -1 -5.65364e-17
- txt003
-STRI
- V0 -2.76516 -0.2 2.07562 V1 -2.81385 -0.125 2.10494 V2 -2.93676 -0.125 1.98256
- N0 -0.313659 -0.763673 0.564289 N1 -0.474611 -0.350859 0.807244 N2 -0.810111 -0.385772 0.441476
- txt003
-STRI
- V0 -2.93676 -0.125 1.98256 V1 -2.88284 -0.2 1.96501 V2 -2.76516 -0.2 2.07562
- N0 -0.810111 -0.385772 0.441476 N1 -0.519903 -0.799556 0.300684 N2 -0.313659 -0.763673 0.564289
- txt003
-STRI
- V0 -2.81385 -0.125 2.10494 V1 -2.83333 0 2.11667 V2 -2.95833 0 1.98958
- N0 -0.474611 -0.350859 0.807244 N1 -0.514496 1.6713e-15 0.857493 N2 -0.882353 9.28814e-16 0.470588
- txt003
-STRI
- V0 -2.95833 0 1.98958 V1 -2.93676 -0.125 1.98256 V2 -2.81385 -0.125 2.10494
- N0 -0.882353 9.28814e-16 0.470588 N1 -0.810111 -0.385772 0.441476 N2 -0.474611 -0.350859 0.807244
- txt003
-STRI
- V0 -2.66713 0 1.89479 V1 -2.6887 -0.125 1.90181 V2 -2.72222 -0.125 1.8
- N0 0.767382 0 -0.64119 N1 0.727532 -0.37029 -0.577566 N2 0.923077 -0.384615 2.05733e-15
- txt003
-STRI
- V0 -2.72222 -0.125 1.8 V1 -2.7 0 1.8 V2 -2.66713 0 1.89479
- N0 0.923077 -0.384615 2.05733e-15 N1 1 0 2.63164e-15 N2 0.767382 0 -0.64119
- txt003
-STRI
- V0 -2.6887 -0.125 1.90181 V1 -2.74263 -0.2 1.91937 V2 -2.77778 -0.2 1.8
- N0 0.727532 -0.37029 -0.577566 N1 0.497152 -0.792374 -0.35353 N2 0.6 -0.8 8.24322e-16
- txt003
-STRI
- V0 -2.77778 -0.2 1.8 V1 -2.72222 -0.125 1.8 V2 -2.6887 -0.125 1.90181
- N0 0.6 -0.8 8.24322e-16 N1 0.923077 -0.384615 2.05733e-15 N2 0.727532 -0.37029 -0.577566
- txt003
-STRI
- V0 -2.74263 -0.2 1.91937 V1 -2.81273 -0.225 1.94219 V2 -2.85 -0.225 1.8
- N0 0.497152 -0.792374 -0.35353 N1 -3.3285e-17 -1 -1.02253e-16 N2 -1.21738e-31 -1 -1.23358e-16
- txt003
-STRI
- V0 -2.85 -0.225 1.8 V1 -2.77778 -0.2 1.8 V2 -2.74263 -0.2 1.91937
- N0 -1.21738e-31 -1 -1.23358e-16 N1 0.6 -0.8 8.24322e-16 N2 0.497152 -0.792374 -0.35353
- txt003
-STRI
- V0 -2.81273 -0.225 1.94219 V1 -2.88284 -0.2 1.96501 V2 -2.92222 -0.2 1.8
- N0 -3.3285e-17 -1 -1.02253e-16 N1 -0.519903 -0.799556 0.300684 N2 -0.6 -0.8 -3.10757e-16
- txt003
-STRI
- V0 -2.92222 -0.2 1.8 V1 -2.85 -0.225 1.8 V2 -2.81273 -0.225 1.94219
- N0 -0.6 -0.8 -3.10757e-16 N1 -1.21738e-31 -1 -1.23358e-16 N2 -3.3285e-17 -1 -1.02253e-16
- txt003
-STRI
- V0 -2.88284 -0.2 1.96501 V1 -2.93676 -0.125 1.98256 V2 -2.97778 -0.125 1.8
- N0 -0.519903 -0.799556 0.300684 N1 -0.810111 -0.385772 0.441476 N2 -0.923077 -0.384615 -1.1396e-16
- txt003
-STRI
- V0 -2.97778 -0.125 1.8 V1 -2.92222 -0.2 1.8 V2 -2.88284 -0.2 1.96501
- N0 -0.923077 -0.384615 -1.1396e-16 N1 -0.6 -0.8 -3.10757e-16 N2 -0.519903 -0.799556 0.300684
- txt003
-STRI
- V0 -2.93676 -0.125 1.98256 V1 -2.95833 0 1.98958 V2 -3 0 1.8
- N0 -0.810111 -0.385772 0.441476 N1 -0.882353 9.28814e-16 0.470588 N2 -1 -4.93432e-16 -0
- txt003
-STRI
- V0 -3 0 1.8 V1 -2.97778 -0.125 1.8 V2 -2.93676 -0.125 1.98256
- N0 -1 -4.93432e-16 -0 N1 -0.923077 -0.384615 -1.1396e-16 N2 -0.810111 -0.385772 0.441476
- txt003
-STRI
- V0 -1.5 0 2.25 V1 -1.50741 0.125 2.23333 V2 -1.95583 0.125 2.23133
- N0 0 -0 1 N1 0 0.298275 0.95448 N2 -0.0140841 0.297589 0.95459
- txt003
-STRI
- V0 -1.95583 0.125 2.23133 V1 -1.95833 0 2.24792 V2 -1.5 0 2.25
- N0 -0.0140841 0.297589 0.95459 N1 -0.0149983 0 0.999888 N2 0 -0 1
- txt003
-STRI
- V0 -1.50741 0.125 2.23333 V1 -1.52593 0.2 2.19167 V2 -1.94957 0.2 2.18985
- N0 0 0.298275 0.95448 N1 0 0.707107 0.707107 N2 -0.00997559 0.706181 0.707961
- txt003
-STRI
- V0 -1.94957 0.2 2.18985 V1 -1.95583 0.125 2.23133 V2 -1.50741 0.125 2.23333
- N0 -0.00997559 0.706181 0.707961 N1 -0.0140841 0.297589 0.95459 N2 0 0.298275 0.95448
- txt003
-STRI
- V0 -1.52593 0.2 2.19167 V1 -1.55 0.225 2.1375 V2 -1.94144 0.225 2.13594
- N0 0 0.707107 0.707107 N1 0 1 0 N2 -1.61364e-18 1 -2.43505e-19
- txt003
-STRI
- V0 -1.94144 0.225 2.13594 V1 -1.94957 0.2 2.18985 V2 -1.52593 0.2 2.19167
- N0 -1.61364e-18 1 -2.43505e-19 N1 -0.00997559 0.706181 0.707961 N2 0 0.707107 0.707107
- txt003
-STRI
- V0 -1.55 0.225 2.1375 V1 -1.57407 0.2 2.08333 V2 -1.9333 0.2 2.08202
- N0 0 1 0 N1 0 0.707107 -0.707107 N2 0.00846382 0.706077 -0.708084
- txt003
-STRI
- V0 -1.9333 0.2 2.08202 V1 -1.94144 0.225 2.13594 V2 -1.55 0.225 2.1375
- N0 0.00846382 0.706077 -0.708084 N1 -1.61364e-18 1 -2.43505e-19 N2 0 1 0
- txt003
-STRI
- V0 -1.57407 0.2 2.08333 V1 -1.59259 0.125 2.04167 V2 -1.92704 0.125 2.04055
- N0 0 0.707107 -0.707107 N1 0 0.298275 -0.95448 N2 0.0104256 0.297446 -0.954682
- txt003
-STRI
- V0 -1.92704 0.125 2.04055 V1 -1.9333 0.2 2.08202 V2 -1.57407 0.2 2.08333
- N0 0.0104256 0.297446 -0.954682 N1 0.00846382 0.706077 -0.708084 N2 0 0.707107 -0.707107
- txt003
-STRI
- V0 -1.59259 0.125 2.04167 V1 -1.6 0 2.025 V2 -1.92454 0 2.02396
- N0 0 0.298275 -0.95448 N1 -0 -4.93432e-16 -1 N2 0.0104645 -4.86951e-16 -0.999945
- txt003
-STRI
- V0 -1.92454 0 2.02396 V1 -1.92704 0.125 2.04055 V2 -1.59259 0.125 2.04167
- N0 0.0104645 -4.86951e-16 -0.999945 N1 0.0104256 0.297446 -0.954682 N2 0 0.298275 -0.95448
- txt003
-STRI
- V0 -1.95833 0 2.24792 V1 -1.95583 0.125 2.23133 V2 -2.32318 0.125 2.21728
- N0 -0.0149983 0 0.999888 N1 -0.0140841 0.297589 0.95459 N2 -0.0701017 0.299663 0.951466
- txt003
-STRI
- V0 -2.32318 0.125 2.21728 V1 -2.33333 0 2.23333 V2 -1.95833 0 2.24792
- N0 -0.0701017 0.299663 0.951466 N1 -0.0747899 0 0.997199 N2 -0.0149983 0 0.999888
- txt003
-STRI
- V0 -1.95583 0.125 2.23133 V1 -1.94957 0.2 2.18985 V2 -2.29781 0.2 2.17716
- N0 -0.0140841 0.297589 0.95459 N1 -0.00997559 0.706181 0.707961 N2 -0.0493858 0.708239 0.704243
- txt003
-STRI
- V0 -2.29781 0.2 2.17716 V1 -2.32318 0.125 2.21728 V2 -1.95583 0.125 2.23133
- N0 -0.0493858 0.708239 0.704243 N1 -0.0701017 0.299663 0.951466 N2 -0.0140841 0.297589 0.95459
- txt003
-STRI
- V0 -1.94957 0.2 2.18985 V1 -1.94144 0.225 2.13594 V2 -2.26481 0.225 2.125
- N0 -0.00997559 0.706181 0.707961 N1 -1.61364e-18 1 -2.43505e-19 N2 -7.69071e-18 1 -4.86421e-18
- txt003
-STRI
- V0 -2.26481 0.225 2.125 V1 -2.29781 0.2 2.17716 V2 -1.94957 0.2 2.18985
- N0 -7.69071e-18 1 -4.86421e-18 N1 -0.0493858 0.708239 0.704243 N2 -0.00997559 0.706181 0.707961
- txt003
-STRI
- V0 -1.94144 0.225 2.13594 V1 -1.9333 0.2 2.08202 V2 -2.23182 0.2 2.07284
- N0 -1.61364e-18 1 -2.43505e-19 N1 0.00846382 0.706077 -0.708084 N2 0.0415994 0.706072 -0.706918
- txt003
-STRI
- V0 -2.23182 0.2 2.07284 V1 -2.26481 0.225 2.125 V2 -1.94144 0.225 2.13594
- N0 0.0415994 0.706072 -0.706918 N1 -7.69071e-18 1 -4.86421e-18 N2 -1.61364e-18 1 -2.43505e-19
- txt003
-STRI
- V0 -1.9333 0.2 2.08202 V1 -1.92704 0.125 2.04055 V2 -2.20645 0.125 2.03272
- N0 0.00846382 0.706077 -0.708084 N1 0.0104256 0.297446 -0.954682 N2 0.0510028 0.296675 -0.953616
- txt003
-STRI
- V0 -2.20645 0.125 2.03272 V1 -2.23182 0.2 2.07284 V2 -1.9333 0.2 2.08202
- N0 0.0510028 0.296675 -0.953616 N1 0.0415994 0.706072 -0.706918 N2 0.00846382 0.706077 -0.708084
- txt003
-STRI
- V0 -1.92704 0.125 2.04055 V1 -1.92454 0 2.02396 V2 -2.1963 0 2.01667
- N0 0.0104256 0.297446 -0.954682 N1 0.0104645 -4.86951e-16 -0.999945 N2 0.0510696 -2.08595e-16 -0.998695
- txt003
-STRI
- V0 -2.1963 0 2.01667 V1 -2.20645 0.125 2.03272 V2 -1.92704 0.125 2.04055
- N0 0.0510696 -2.08595e-16 -0.998695 N1 0.0510028 0.296675 -0.953616 N2 0.0104256 0.297446 -0.954682
- txt003
-STRI
- V0 -2.33333 0 2.23333 V1 -2.32318 0.125 2.21728 V2 -2.60926 0.125 2.17917
- N0 -0.0747899 0 0.997199 N1 -0.0701017 0.299663 0.951466 N2 -0.204668 0.313917 0.927128
- txt003
-STRI
- V0 -2.60926 0.125 2.17917 V1 -2.625 0 2.19375 V2 -2.33333 0 2.23333
- N0 -0.204668 0.313917 0.927128 N1 -0.219512 0 0.97561 N2 -0.0747899 0 0.997199
- txt003
-STRI
- V0 -2.32318 0.125 2.21728 V1 -2.29781 0.2 2.17716 V2 -2.56991 0.2 2.14271
- N0 -0.0701017 0.299663 0.951466 N1 -0.0493858 0.708239 0.704243 N2 -0.141352 0.724137 0.675015
- txt003
-STRI
- V0 -2.56991 0.2 2.14271 V1 -2.60926 0.125 2.17917 V2 -2.32318 0.125 2.21728
- N0 -0.141352 0.724137 0.675015 N1 -0.204668 0.313917 0.927128 N2 -0.0701017 0.299663 0.951466
- txt003
-STRI
- V0 -2.29781 0.2 2.17716 V1 -2.26481 0.225 2.125 V2 -2.51875 0.225 2.09531
- N0 -0.0493858 0.708239 0.704243 N1 -7.69071e-18 1 -4.86421e-18 N2 -1.96915e-17 1 -2.12543e-17
- txt003
-STRI
- V0 -2.51875 0.225 2.09531 V1 -2.56991 0.2 2.14271 V2 -2.29781 0.2 2.17716
- N0 -1.96915e-17 1 -2.12543e-17 N1 -0.141352 0.724137 0.675015 N2 -0.0493858 0.708239 0.704243
- txt003
-STRI
- V0 -2.26481 0.225 2.125 V1 -2.23182 0.2 2.07284 V2 -2.46759 0.2 2.04792
- N0 -7.69071e-18 1 -4.86421e-18 N1 0.0415994 0.706072 -0.706918 N2 0.119688 0.715388 -0.6884
- txt003
-STRI
- V0 -2.46759 0.2 2.04792 V1 -2.51875 0.225 2.09531 V2 -2.26481 0.225 2.125
- N0 0.119688 0.715388 -0.6884 N1 -1.96915e-17 1 -2.12543e-17 N2 -7.69071e-18 1 -4.86421e-18
- txt003
-STRI
- V0 -2.23182 0.2 2.07284 V1 -2.20645 0.125 2.03272 V2 -2.42824 0.125 2.01146
- N0 0.0415994 0.706072 -0.706918 N1 0.0510028 0.296675 -0.953616 N2 0.148104 0.301279 -0.941964
- txt003
-STRI
- V0 -2.42824 0.125 2.01146 V1 -2.46759 0.2 2.04792 V2 -2.23182 0.2 2.07284
- N0 0.148104 0.301279 -0.941964 N1 0.119688 0.715388 -0.6884 N2 0.0415994 0.706072 -0.706918
- txt003
-STRI
- V0 -2.20645 0.125 2.03272 V1 -2.1963 0 2.01667 V2 -2.4125 0 1.99687
- N0 0.0510028 0.296675 -0.953616 N1 0.0510696 -2.08595e-16 -0.998695 N2 0.14834 -4.14777e-16 -0.988936
- txt003
-STRI
- V0 -2.4125 0 1.99687 V1 -2.42824 0.125 2.01146 V2 -2.20645 0.125 2.03272
- N0 0.14834 -4.14777e-16 -0.988936 N1 0.148104 0.301279 -0.941964 N2 0.0510028 0.296675 -0.953616
- txt003
-STRI
- V0 -2.625 0 2.19375 V1 -2.60926 0.125 2.17917 V2 -2.81385 0.125 2.10494
- N0 -0.219512 0 0.97561 N1 -0.204668 0.313917 0.927128 N2 -0.474611 0.350859 0.807244
- txt003
-STRI
- V0 -2.81385 0.125 2.10494 V1 -2.83333 0 2.11667 V2 -2.625 0 2.19375
- N0 -0.474611 0.350859 0.807244 N1 -0.514496 0 0.857493 N2 -0.219512 0 0.97561
- txt003
-STRI
- V0 -2.60926 0.125 2.17917 V1 -2.56991 0.2 2.14271 V2 -2.76516 0.2 2.07562
- N0 -0.204668 0.313917 0.927128 N1 -0.141352 0.724137 0.675015 N2 -0.313659 0.763673 0.564289
- txt003
-STRI
- V0 -2.76516 0.2 2.07562 V1 -2.81385 0.125 2.10494 V2 -2.60926 0.125 2.17917
- N0 -0.313659 0.763673 0.564289 N1 -0.474611 0.350859 0.807244 N2 -0.204668 0.313917 0.927128
- txt003
-STRI
- V0 -2.56991 0.2 2.14271 V1 -2.51875 0.225 2.09531 V2 -2.70185 0.225 2.0375
- N0 -0.141352 0.724137 0.675015 N1 -1.96915e-17 1 -2.12543e-17 N2 -3.40413e-17 1 -5.65364e-17
- txt003
-STRI
- V0 -2.70185 0.225 2.0375 V1 -2.76516 0.2 2.07562 V2 -2.56991 0.2 2.14271
- N0 -3.40413e-17 1 -5.65364e-17 N1 -0.313659 0.763673 0.564289 N2 -0.141352 0.724137 0.675015
- txt003
-STRI
- V0 -2.51875 0.225 2.09531 V1 -2.46759 0.2 2.04792 V2 -2.63855 0.2 1.99938
- N0 -1.96915e-17 1 -2.12543e-17 N1 0.119688 0.715388 -0.6884 N2 0.275915 0.747596 -0.604128
- txt003
-STRI
- V0 -2.63855 0.2 1.99938 V1 -2.70185 0.225 2.0375 V2 -2.51875 0.225 2.09531
- N0 0.275915 0.747596 -0.604128 N1 -3.40413e-17 1 -5.65364e-17 N2 -1.96915e-17 1 -2.12543e-17
- txt003
-STRI
- V0 -2.46759 0.2 2.04792 V1 -2.42824 0.125 2.01146 V2 -2.58985 0.125 1.97006
- N0 0.119688 0.715388 -0.6884 N1 0.148104 0.301279 -0.941964 N2 0.359682 0.323804 -0.875089
- txt003
-STRI
- V0 -2.58985 0.125 1.97006 V1 -2.63855 0.2 1.99938 V2 -2.46759 0.2 2.04792
- N0 0.359682 0.323804 -0.875089 N1 0.275915 0.747596 -0.604128 N2 0.119688 0.715388 -0.6884
- txt003
-STRI
- V0 -2.42824 0.125 2.01146 V1 -2.4125 0 1.99687 V2 -2.57037 0 1.95833
- N0 0.148104 0.301279 -0.941964 N1 0.14834 -4.14777e-16 -0.988936 N2 0.364399 -4.84479e-16 -0.931243
- txt003
-STRI
- V0 -2.57037 0 1.95833 V1 -2.58985 0.125 1.97006 V2 -2.42824 0.125 2.01146
- N0 0.364399 -4.84479e-16 -0.931243 N1 0.359682 0.323804 -0.875089 N2 0.148104 0.301279 -0.941964
- txt003
-STRI
- V0 -2.83333 0 2.11667 V1 -2.81385 0.125 2.10494 V2 -2.93676 0.125 1.98256
- N0 -0.514496 0 0.857493 N1 -0.474611 0.350859 0.807244 N2 -0.810111 0.385772 0.441476
- txt003
-STRI
- V0 -2.93676 0.125 1.98256 V1 -2.95833 0 1.98958 V2 -2.83333 0 2.11667
- N0 -0.810111 0.385772 0.441476 N1 -0.882353 0 0.470588 N2 -0.514496 0 0.857493
- txt003
-STRI
- V0 -2.81385 0.125 2.10494 V1 -2.76516 0.2 2.07562 V2 -2.88284 0.2 1.96501
- N0 -0.474611 0.350859 0.807244 N1 -0.313659 0.763673 0.564289 N2 -0.519903 0.799556 0.300684
- txt003
-STRI
- V0 -2.88284 0.2 1.96501 V1 -2.93676 0.125 1.98256 V2 -2.81385 0.125 2.10494
- N0 -0.519903 0.799556 0.300684 N1 -0.810111 0.385772 0.441476 N2 -0.474611 0.350859 0.807244
- txt003
-STRI
- V0 -2.76516 0.2 2.07562 V1 -2.70185 0.225 2.0375 V2 -2.81273 0.225 1.94219
- N0 -0.313659 0.763673 0.564289 N1 -3.40413e-17 1 -5.65364e-17 N2 -3.3285e-17 1 -1.02253e-16
- txt003
-STRI
- V0 -2.81273 0.225 1.94219 V1 -2.88284 0.2 1.96501 V2 -2.76516 0.2 2.07562
- N0 -3.3285e-17 1 -1.02253e-16 N1 -0.519903 0.799556 0.300684 N2 -0.313659 0.763673 0.564289
- txt003
-STRI
- V0 -2.70185 0.225 2.0375 V1 -2.63855 0.2 1.99938 V2 -2.74263 0.2 1.91937
- N0 -3.40413e-17 1 -5.65364e-17 N1 0.275915 0.747596 -0.604128 N2 0.497152 0.792374 -0.35353
- txt003
-STRI
- V0 -2.74263 0.2 1.91937 V1 -2.81273 0.225 1.94219 V2 -2.70185 0.225 2.0375
- N0 0.497152 0.792374 -0.35353 N1 -3.3285e-17 1 -1.02253e-16 N2 -3.40413e-17 1 -5.65364e-17
- txt003
-STRI
- V0 -2.63855 0.2 1.99938 V1 -2.58985 0.125 1.97006 V2 -2.6887 0.125 1.90181
- N0 0.275915 0.747596 -0.604128 N1 0.359682 0.323804 -0.875089 N2 0.727532 0.37029 -0.577566
- txt003
-STRI
- V0 -2.6887 0.125 1.90181 V1 -2.74263 0.2 1.91937 V2 -2.63855 0.2 1.99938
- N0 0.727532 0.37029 -0.577566 N1 0.497152 0.792374 -0.35353 N2 0.275915 0.747596 -0.604128
- txt003
-STRI
- V0 -2.58985 0.125 1.97006 V1 -2.57037 0 1.95833 V2 -2.66713 0 1.89479
- N0 0.359682 0.323804 -0.875089 N1 0.364399 -4.84479e-16 -0.931243 N2 0.767382 -3.16384e-16 -0.64119
- txt003
-STRI
- V0 -2.66713 0 1.89479 V1 -2.6887 0.125 1.90181 V2 -2.58985 0.125 1.97006
- N0 0.767382 -3.16384e-16 -0.64119 N1 0.727532 0.37029 -0.577566 N2 0.359682 0.323804 -0.875089
- txt003
-STRI
- V0 -2.95833 0 1.98958 V1 -2.93676 0.125 1.98256 V2 -2.97778 0.125 1.8
- N0 -0.882353 0 0.470588 N1 -0.810111 0.385772 0.441476 N2 -0.923077 0.384615 -1.1396e-16
- txt003
-STRI
- V0 -2.97778 0.125 1.8 V1 -3 0 1.8 V2 -2.95833 0 1.98958
- N0 -0.923077 0.384615 -1.1396e-16 N1 -1 0 0 N2 -0.882353 0 0.470588
- txt003
-STRI
- V0 -2.93676 0.125 1.98256 V1 -2.88284 0.2 1.96501 V2 -2.92222 0.2 1.8
- N0 -0.810111 0.385772 0.441476 N1 -0.519903 0.799556 0.300684 N2 -0.6 0.8 -3.10757e-16
- txt003
-STRI
- V0 -2.92222 0.2 1.8 V1 -2.97778 0.125 1.8 V2 -2.93676 0.125 1.98256
- N0 -0.6 0.8 -3.10757e-16 N1 -0.923077 0.384615 -1.1396e-16 N2 -0.810111 0.385772 0.441476
- txt003
-STRI
- V0 -2.88284 0.2 1.96501 V1 -2.81273 0.225 1.94219 V2 -2.85 0.225 1.8
- N0 -0.519903 0.799556 0.300684 N1 -3.3285e-17 1 -1.02253e-16 N2 -2.13041e-31 1 -1.23358e-16
- txt003
-STRI
- V0 -2.85 0.225 1.8 V1 -2.92222 0.2 1.8 V2 -2.88284 0.2 1.96501
- N0 -2.13041e-31 1 -1.23358e-16 N1 -0.6 0.8 -3.10757e-16 N2 -0.519903 0.799556 0.300684
- txt003
-STRI
- V0 -2.81273 0.225 1.94219 V1 -2.74263 0.2 1.91937 V2 -2.77778 0.2 1.8
- N0 -3.3285e-17 1 -1.02253e-16 N1 0.497152 0.792374 -0.35353 N2 0.6 0.8 8.24322e-16
- txt003
-STRI
- V0 -2.77778 0.2 1.8 V1 -2.85 0.225 1.8 V2 -2.81273 0.225 1.94219
- N0 0.6 0.8 8.24322e-16 N1 -2.13041e-31 1 -1.23358e-16 N2 -3.3285e-17 1 -1.02253e-16
- txt003
-STRI
- V0 -2.74263 0.2 1.91937 V1 -2.6887 0.125 1.90181 V2 -2.72222 0.125 1.8
- N0 0.497152 0.792374 -0.35353 N1 0.727532 0.37029 -0.577566 N2 0.923077 0.384615 2.05733e-15
- txt003
-STRI
- V0 -2.72222 0.125 1.8 V1 -2.77778 0.2 1.8 V2 -2.74263 0.2 1.91937
- N0 0.923077 0.384615 2.05733e-15 N1 0.6 0.8 8.24322e-16 N2 0.497152 0.792374 -0.35353
- txt003
-STRI
- V0 -2.6887 0.125 1.90181 V1 -2.66713 0 1.89479 V2 -2.7 0 1.8
- N0 0.727532 0.37029 -0.577566 N1 0.767382 -3.16384e-16 -0.64119 N2 1 4.93432e-16 2.63164e-15
- txt003
-STRI
- V0 -2.7 0 1.8 V1 -2.72222 0.125 1.8 V2 -2.6887 0.125 1.90181
- N0 1 4.93432e-16 2.63164e-15 N1 0.923077 0.384615 2.05733e-15 N2 0.727532 0.37029 -0.577566
- txt003
-STRI
- V0 -2.7 0 1.8 V1 -2.72222 -0.125 1.8 V2 -2.70418 -0.125 1.66398
- N0 1 0 0 N1 0.923077 -0.384615 0 N2 0.895972 -0.38623 0.219226
- txt003
-STRI
- V0 -2.70418 -0.125 1.66398 V1 -2.68287 0 1.67083 V2 -2.7 0 1.8
- N0 0.895972 -0.38623 0.219226 N1 0.972045 0 0.234794 N2 1 0 0
- txt003
-STRI
- V0 -2.72222 -0.125 1.8 V1 -2.77778 -0.2 1.8 V2 -2.75747 -0.2 1.64684
- N0 0.923077 -0.384615 0 N1 0.6 -0.8 0 N2 0.57987 -0.801541 0.145888
- txt003
-STRI
- V0 -2.75747 -0.2 1.64684 V1 -2.70418 -0.125 1.66398 V2 -2.72222 -0.125 1.8
- N0 0.57987 -0.801541 0.145888 N1 0.895972 -0.38623 0.219226 N2 0.923077 -0.384615 0
- txt003
-STRI
- V0 -2.77778 -0.2 1.8 V1 -2.85 -0.225 1.8 V2 -2.82674 -0.225 1.62457
- N0 0.6 -0.8 0 N1 -0 -1 -0 N2 9.48478e-19 -1 -2.94924e-18
- txt003
-STRI
- V0 -2.82674 -0.225 1.62457 V1 -2.75747 -0.2 1.64684 V2 -2.77778 -0.2 1.8
- N0 9.48478e-19 -1 -2.94924e-18 N1 0.57987 -0.801541 0.145888 N2 0.6 -0.8 0
- txt003
-STRI
- V0 -2.85 -0.225 1.8 V1 -2.92222 -0.2 1.8 V2 -2.896 -0.2 1.60229
- N0 -0 -1 -0 N1 -0.6 -0.8 -0 N2 -0.577707 -0.801752 -0.153129
- txt003
-STRI
- V0 -2.896 -0.2 1.60229 V1 -2.82674 -0.225 1.62457 V2 -2.85 -0.225 1.8
- N0 -0.577707 -0.801752 -0.153129 N1 9.48478e-19 -1 -2.94924e-18 N2 -0 -1 -0
- txt003
-STRI
- V0 -2.92222 -0.2 1.8 V1 -2.97778 -0.125 1.8 V2 -2.94929 -0.125 1.58515
- N0 -0.6 -0.8 -0 N1 -0.923077 -0.384615 -0 N2 -0.890548 -0.386679 -0.23959
- txt003
-STRI
- V0 -2.94929 -0.125 1.58515 V1 -2.896 -0.2 1.60229 V2 -2.92222 -0.2 1.8
- N0 -0.890548 -0.386679 -0.23959 N1 -0.577707 -0.801752 -0.153129 N2 -0.6 -0.8 -0
- txt003
-STRI
- V0 -2.97778 -0.125 1.8 V1 -3 0 1.8 V2 -2.9706 0 1.5783
- N0 -0.923077 -0.384615 -0 N1 -1 -9.86865e-16 -0 N2 -0.965311 -7.59377e-16 -0.261102
- txt003
-STRI
- V0 -2.9706 0 1.5783 V1 -2.94929 -0.125 1.58515 V2 -2.97778 -0.125 1.8
- N0 -0.965311 -7.59377e-16 -0.261102 N1 -0.890548 -0.386679 -0.23959 N2 -0.923077 -0.384615 -0
- txt003
-STRI
- V0 -2.68287 0 1.67083 V1 -2.70418 -0.125 1.66398 V2 -2.64829 -0.125 1.50535
- N0 0.972045 0 0.234794 N1 0.895972 -0.38623 0.219226 N2 0.842942 -0.376421 0.38439
- txt003
-STRI
- V0 -2.64829 -0.125 1.50535 V1 -2.62963 0 1.51667 V2 -2.68287 0 1.67083
- N0 0.842942 -0.376421 0.38439 N1 0.913812 0 0.406138 N2 0.972045 0 0.234794
- txt003
-STRI
- V0 -2.70418 -0.125 1.66398 V1 -2.75747 -0.2 1.64684 V2 -2.69492 -0.2 1.47706
- N0 0.895972 -0.38623 0.219226 N1 0.57987 -0.801541 0.145888 N2 0.548194 -0.793356 0.264707
- txt003
-STRI
- V0 -2.69492 -0.2 1.47706 V1 -2.64829 -0.125 1.50535 V2 -2.70418 -0.125 1.66398
- N0 0.548194 -0.793356 0.264707 N1 0.842942 -0.376421 0.38439 N2 0.895972 -0.38623 0.219226
- txt003
-STRI
- V0 -2.75747 -0.2 1.64684 V1 -2.82674 -0.225 1.62457 V2 -2.75556 -0.225 1.44028
- N0 0.57987 -0.801541 0.145888 N1 9.48478e-19 -1 -2.94924e-18 N2 5.73642e-18 -1 -9.4564e-18
- txt003
-STRI
- V0 -2.75556 -0.225 1.44028 V1 -2.69492 -0.2 1.47706 V2 -2.75747 -0.2 1.64684
- N0 5.73642e-18 -1 -9.4564e-18 N1 0.548194 -0.793356 0.264707 N2 0.57987 -0.801541 0.145888
- txt003
-STRI
- V0 -2.82674 -0.225 1.62457 V1 -2.896 -0.2 1.60229 V2 -2.81619 -0.2 1.4035
- N0 9.48478e-19 -1 -2.94924e-18 N1 -0.577707 -0.801752 -0.153129 N2 -0.534196 -0.794341 -0.289235
- txt003
-STRI
- V0 -2.81619 -0.2 1.4035 V1 -2.75556 -0.225 1.44028 V2 -2.82674 -0.225 1.62457
- N0 -0.534196 -0.794341 -0.289235 N1 5.73642e-18 -1 -9.4564e-18 N2 9.48478e-19 -1 -2.94924e-18
- txt003
-STRI
- V0 -2.896 -0.2 1.60229 V1 -2.94929 -0.125 1.58515 V2 -2.86283 -0.125 1.37521
- N0 -0.577707 -0.801752 -0.153129 N1 -0.890548 -0.386679 -0.23959 N2 -0.807437 -0.378466 -0.452558
- txt003
-STRI
- V0 -2.86283 -0.125 1.37521 V1 -2.81619 -0.2 1.4035 V2 -2.896 -0.2 1.60229
- N0 -0.807437 -0.378466 -0.452558 N1 -0.534196 -0.794341 -0.289235 N2 -0.577707 -0.801752 -0.153129
- txt003
-STRI
- V0 -2.94929 -0.125 1.58515 V1 -2.9706 0 1.5783 V2 -2.88148 0 1.36389
- N0 -0.890548 -0.386679 -0.23959 N1 -0.965311 -7.59377e-16 -0.261102 N2 -0.869653 -7.07402e-16 -0.493664
- txt003
-STRI
- V0 -2.88148 0 1.36389 V1 -2.86283 -0.125 1.37521 V2 -2.94929 -0.125 1.58515
- N0 -0.869653 -7.07402e-16 -0.493664 N1 -0.807437 -0.378466 -0.452558 N2 -0.890548 -0.386679 -0.23959
- txt003
-STRI
- V0 -2.62963 0 1.51667 V1 -2.64829 -0.125 1.50535 V2 -2.55185 -0.125 1.33576
- N0 0.913812 0 0.406138 N1 0.842942 -0.376421 0.38439 N2 0.772293 -0.349434 0.530527
- txt003
-STRI
- V0 -2.55185 -0.125 1.33576 V1 -2.5375 0 1.35 V2 -2.62963 0 1.51667
- N0 0.772293 -0.349434 0.530527 N1 0.83205 0 0.5547 N2 0.913812 0 0.406138
- txt003
-STRI
- V0 -2.64829 -0.125 1.50535 V1 -2.69492 -0.2 1.47706 V2 -2.58773 -0.2 1.30017
- N0 0.842942 -0.376421 0.38439 N1 0.548194 -0.793356 0.264707 N2 0.515846 -0.768155 0.379264
- txt003
-STRI
- V0 -2.58773 -0.2 1.30017 V1 -2.55185 -0.125 1.33576 V2 -2.64829 -0.125 1.50535
- N0 0.515846 -0.768155 0.379264 N1 0.772293 -0.349434 0.530527 N2 0.842942 -0.376421 0.38439
- txt003
-STRI
- V0 -2.69492 -0.2 1.47706 V1 -2.75556 -0.225 1.44028 V2 -2.63437 -0.225 1.25391
- N0 0.548194 -0.793356 0.264707 N1 5.73642e-18 -1 -9.4564e-18 N2 1.5603e-17 -1 -1.57299e-17
- txt003
-STRI
- V0 -2.63437 -0.225 1.25391 V1 -2.58773 -0.2 1.30017 V2 -2.69492 -0.2 1.47706
- N0 1.5603e-17 -1 -1.57299e-17 N1 0.515846 -0.768155 0.379264 N2 0.548194 -0.793356 0.264707
- txt003
-STRI
- V0 -2.75556 -0.225 1.44028 V1 -2.81619 -0.2 1.4035 V2 -2.68102 -0.2 1.20764
- N0 5.73642e-18 -1 -9.4564e-18 N1 -0.534196 -0.794341 -0.289235 N2 -0.486433 -0.770599 -0.411777
- txt003
-STRI
- V0 -2.68102 -0.2 1.20764 V1 -2.63437 -0.225 1.25391 V2 -2.75556 -0.225 1.44028
- N0 -0.486433 -0.770599 -0.411777 N1 1.5603e-17 -1 -1.57299e-17 N2 5.73642e-18 -1 -9.4564e-18
- txt003
-STRI
- V0 -2.81619 -0.2 1.4035 V1 -2.86283 -0.125 1.37521 V2 -2.7169 -0.125 1.17205
- N0 -0.534196 -0.794341 -0.289235 N1 -0.807437 -0.378466 -0.452558 N2 -0.700515 -0.35392 -0.619694
- txt003
-STRI
- V0 -2.7169 -0.125 1.17205 V1 -2.68102 -0.2 1.20764 V2 -2.81619 -0.2 1.4035
- N0 -0.700515 -0.35392 -0.619694 N1 -0.486433 -0.770599 -0.411777 N2 -0.534196 -0.794341 -0.289235
- txt003
-STRI
- V0 -2.86283 -0.125 1.37521 V1 -2.88148 0 1.36389 V2 -2.73125 0 1.15781
- N0 -0.807437 -0.378466 -0.452558 N1 -0.869653 -7.07402e-16 -0.493664 N2 -0.743581 -2.38916e-16 -0.668646
- txt003
-STRI
- V0 -2.73125 0 1.15781 V1 -2.7169 -0.125 1.17205 V2 -2.86283 -0.125 1.37521
- N0 -0.743581 -2.38916e-16 -0.668646 N1 -0.700515 -0.35392 -0.619694 N2 -0.807437 -0.378466 -0.452558
- txt003
-STRI
- V0 -2.5375 0 1.35 V1 -2.55185 -0.125 1.33576 V2 -2.41221 -0.125 1.16687
- N0 0.83205 0 0.5547 N1 0.772293 -0.349434 0.530527 N2 0.676612 -0.31353 0.666255
- txt003
-STRI
- V0 -2.41221 -0.125 1.16687 V1 -2.4037 0 1.18333 V2 -2.5375 0 1.35
- N0 0.676612 -0.31353 0.666255 N1 0.722374 0 0.691503 N2 0.83205 0 0.5547
- txt003
-STRI
- V0 -2.55185 -0.125 1.33576 V1 -2.58773 -0.2 1.30017 V2 -2.43347 -0.2 1.12572
- N0 0.772293 -0.349434 0.530527 N1 0.515846 -0.768155 0.379264 N2 0.471519 -0.729692 0.495195
- txt003
-STRI
- V0 -2.43347 -0.2 1.12572 V1 -2.41221 -0.125 1.16687 V2 -2.55185 -0.125 1.33576
- N0 0.471519 -0.729692 0.495195 N1 0.676612 -0.31353 0.666255 N2 0.772293 -0.349434 0.530527
- txt003
-STRI
- V0 -2.58773 -0.2 1.30017 V1 -2.63437 -0.225 1.25391 V2 -2.46111 -0.225 1.07222
- N0 0.515846 -0.768155 0.379264 N1 1.5603e-17 -1 -1.57299e-17 N2 3.17396e-17 -1 -1.63988e-17
- txt003
-STRI
- V0 -2.46111 -0.225 1.07222 V1 -2.43347 -0.2 1.12572 V2 -2.58773 -0.2 1.30017
- N0 3.17396e-17 -1 -1.63988e-17 N1 0.471519 -0.729692 0.495195 N2 0.515846 -0.768155 0.379264
- txt003
-STRI
- V0 -2.63437 -0.225 1.25391 V1 -2.68102 -0.2 1.20764 V2 -2.48875 -0.2 1.01872
- N0 1.5603e-17 -1 -1.57299e-17 N1 -0.486433 -0.770599 -0.411777 N2 -0.433172 -0.735531 -0.520919
- txt003
-STRI
- V0 -2.48875 -0.2 1.01872 V1 -2.46111 -0.225 1.07222 V2 -2.63437 -0.225 1.25391
- N0 -0.433172 -0.735531 -0.520919 N1 3.17396e-17 -1 -1.63988e-17 N2 1.5603e-17 -1 -1.57299e-17
- txt003
-STRI
- V0 -2.68102 -0.2 1.20764 V1 -2.7169 -0.125 1.17205 V2 -2.51001 -0.125 0.977572
- N0 -0.486433 -0.770599 -0.411777 N1 -0.700515 -0.35392 -0.619694 N2 -0.589822 -0.322549 -0.740319
- txt003
-STRI
- V0 -2.51001 -0.125 0.977572 V1 -2.48875 -0.2 1.01872 V2 -2.68102 -0.2 1.20764
- N0 -0.589822 -0.322549 -0.740319 N1 -0.433172 -0.735531 -0.520919 N2 -0.486433 -0.770599 -0.411777
- txt003
-STRI
- V0 -2.7169 -0.125 1.17205 V1 -2.73125 0 1.15781 V2 -2.51852 0 0.961111
- N0 -0.700515 -0.35392 -0.619694 N1 -0.743581 -2.38916e-16 -0.668646 N2 -0.617031 -2.64751e-17 -0.786939
- txt003
-STRI
- V0 -2.51852 0 0.961111 V1 -2.51001 -0.125 0.977572 V2 -2.7169 -0.125 1.17205
- N0 -0.617031 -2.64751e-17 -0.786939 N1 -0.589822 -0.322549 -0.740319 N2 -0.700515 -0.35392 -0.619694
- txt003
-STRI
- V0 -2.4037 0 1.18333 V1 -2.41221 -0.125 1.16687 V2 -2.22668 -0.125 1.01033
- N0 0.722374 0 0.691503 N1 0.676612 -0.31353 0.666255 N2 0.548733 -0.289562 0.784249
- txt003
-STRI
- V0 -2.22668 -0.125 1.01033 V1 -2.22546 0 1.02917 V2 -2.4037 0 1.18333
- N0 0.548733 -0.289562 0.784249 N1 0.580973 0 0.813923 N2 0.722374 0 0.691503
- txt003
-STRI
- V0 -2.41221 -0.125 1.16687 V1 -2.43347 -0.2 1.12572 V2 -2.22972 -0.2 0.963227
- N0 0.676612 -0.31353 0.666255 N1 0.471519 -0.729692 0.495195 N2 0.396971 -0.700023 0.593618
- txt003
-STRI
- V0 -2.22972 -0.2 0.963227 V1 -2.22668 -0.125 1.01033 V2 -2.41221 -0.125 1.16687
- N0 0.396971 -0.700023 0.593618 N1 0.548733 -0.289562 0.784249 N2 0.676612 -0.31353 0.666255
- txt003
-STRI
- V0 -2.43347 -0.2 1.12572 V1 -2.46111 -0.225 1.07222 V2 -2.23368 -0.225 0.901997
- N0 0.471519 -0.729692 0.495195 N1 3.17396e-17 -1 -1.63988e-17 N2 5.4409e-17 -1 -3.51585e-18
- txt003
-STRI
- V0 -2.23368 -0.225 0.901997 V1 -2.22972 -0.2 0.963227 V2 -2.43347 -0.2 1.12572
- N0 5.4409e-17 -1 -3.51585e-18 N1 0.396971 -0.700023 0.593618 N2 0.471519 -0.729692 0.495195
- txt003
-STRI
- V0 -2.46111 -0.225 1.07222 V1 -2.48875 -0.2 1.01872 V2 -2.23764 -0.2 0.840766
- N0 3.17396e-17 -1 -1.63988e-17 N1 -0.433172 -0.735531 -0.520919 N2 -0.367048 -0.708353 -0.60292
- txt003
-STRI
- V0 -2.23764 -0.2 0.840766 V1 -2.23368 -0.225 0.901997 V2 -2.46111 -0.225 1.07222
- N0 -0.367048 -0.708353 -0.60292 N1 5.4409e-17 -1 -3.51585e-18 N2 3.17396e-17 -1 -1.63988e-17
- txt003
-STRI
- V0 -2.48875 -0.2 1.01872 V1 -2.51001 -0.125 0.977572 V2 -2.24068 -0.125 0.793666
- N0 -0.433172 -0.735531 -0.520919 N1 -0.589822 -0.322549 -0.740319 N2 -0.485318 -0.301052 -0.820874
- txt003
-STRI
- V0 -2.24068 -0.125 0.793666 V1 -2.23764 -0.2 0.840766 V2 -2.48875 -0.2 1.01872
- N0 -0.485318 -0.301052 -0.820874 N1 -0.367048 -0.708353 -0.60292 N2 -0.433172 -0.735531 -0.520919
- txt003
-STRI
- V0 -2.51001 -0.125 0.977572 V1 -2.51852 0 0.961111 V2 -2.2419 0 0.774826
- N0 -0.589822 -0.322549 -0.740319 N1 -0.617031 -2.64751e-17 -0.786939 N2 -0.504836 2.02979e-16 -0.863216
- txt003
-STRI
- V0 -2.2419 0 0.774826 V1 -2.24068 -0.125 0.793666 V2 -2.51001 -0.125 0.977572
- N0 -0.504836 2.02979e-16 -0.863216 N1 -0.485318 -0.301052 -0.820874 N2 -0.589822 -0.322549 -0.740319
- txt003
-STRI
- V0 -2.22546 0 1.02917 V1 -2.22668 -0.125 1.01033 V2 -1.99259 -0.125 0.877778
- N0 0.580973 0 0.813923 N1 0.548733 -0.289562 0.784249 N2 0.390503 -0.30734 0.867784
- txt003
-STRI
- V0 -1.99259 -0.125 0.877778 V1 -2 0 0.9 V2 -2.22546 0 1.02917
- N0 0.390503 -0.30734 0.867784 N1 0.410365 0 0.911922 N2 0.580973 0 0.813923
- txt003
-STRI
- V0 -2.22668 -0.125 1.01033 V1 -2.22972 -0.2 0.963227 V2 -1.97407 -0.2 0.822222
- N0 0.548733 -0.289562 0.784249 N1 0.396971 -0.700023 0.593618 N2 0.285351 -0.718662 0.634113
- txt003
-STRI
- V0 -1.97407 -0.2 0.822222 V1 -1.99259 -0.125 0.877778 V2 -2.22668 -0.125 1.01033
- N0 0.285351 -0.718662 0.634113 N1 0.390503 -0.30734 0.867784 N2 0.548733 -0.289562 0.784249
- txt003
-STRI
- V0 -2.22972 -0.2 0.963227 V1 -2.23368 -0.225 0.901997 V2 -1.95 -0.225 0.75
- N0 0.396971 -0.700023 0.593618 N1 5.4409e-17 -1 -3.51585e-18 N2 7.83687e-17 -1 2.61229e-17
- txt003
-STRI
- V0 -1.95 -0.225 0.75 V1 -1.97407 -0.2 0.822222 V2 -2.22972 -0.2 0.963227
- N0 7.83687e-17 -1 2.61229e-17 N1 0.285351 -0.718662 0.634113 N2 0.396971 -0.700023 0.593618
- txt003
-STRI
- V0 -2.23368 -0.225 0.901997 V1 -2.23764 -0.2 0.840766 V2 -1.92593 -0.2 0.677778
- N0 5.4409e-17 -1 -3.51585e-18 N1 -0.367048 -0.708353 -0.60292 N2 -0.285351 -0.718662 -0.634113
- txt003
-STRI
- V0 -1.92593 -0.2 0.677778 V1 -1.95 -0.225 0.75 V2 -2.23368 -0.225 0.901997
- N0 -0.285351 -0.718662 -0.634113 N1 7.83687e-17 -1 2.61229e-17 N2 5.4409e-17 -1 -3.51585e-18
- txt003
-STRI
- V0 -2.23764 -0.2 0.840766 V1 -2.24068 -0.125 0.793666 V2 -1.90741 -0.125 0.622222
- N0 -0.367048 -0.708353 -0.60292 N1 -0.485318 -0.301052 -0.820874 N2 -0.390503 -0.30734 -0.867784
- txt003
-STRI
- V0 -1.90741 -0.125 0.622222 V1 -1.92593 -0.2 0.677778 V2 -2.23764 -0.2 0.840766
- N0 -0.390503 -0.30734 -0.867784 N1 -0.285351 -0.718662 -0.634113 N2 -0.367048 -0.708353 -0.60292
- txt003
-STRI
- V0 -2.24068 -0.125 0.793666 V1 -2.2419 0 0.774826 V2 -1.9 0 0.6
- N0 -0.485318 -0.301052 -0.820874 N1 -0.504836 2.02979e-16 -0.863216 N2 -0.410365 4.49972e-17 -0.911922
- txt003
-STRI
- V0 -1.9 0 0.6 V1 -1.90741 -0.125 0.622222 V2 -2.24068 -0.125 0.793666
- N0 -0.410365 4.49972e-17 -0.911922 N1 -0.390503 -0.30734 -0.867784 N2 -0.485318 -0.301052 -0.820874
- txt003
-STRI
- V0 -3 0 1.8 V1 -2.97778 0.125 1.8 V2 -2.94929 0.125 1.58515
- N0 -1 0 0 N1 -0.923077 0.384615 0 N2 -0.890548 0.386679 -0.23959
- txt003
-STRI
- V0 -2.94929 0.125 1.58515 V1 -2.9706 0 1.5783 V2 -3 0 1.8
- N0 -0.890548 0.386679 -0.23959 N1 -0.965311 0 -0.261102 N2 -1 0 0
- txt003
-STRI
- V0 -2.97778 0.125 1.8 V1 -2.92222 0.2 1.8 V2 -2.896 0.2 1.60229
- N0 -0.923077 0.384615 0 N1 -0.6 0.8 0 N2 -0.577707 0.801752 -0.153129
- txt003
-STRI
- V0 -2.896 0.2 1.60229 V1 -2.94929 0.125 1.58515 V2 -2.97778 0.125 1.8
- N0 -0.577707 0.801752 -0.153129 N1 -0.890548 0.386679 -0.23959 N2 -0.923077 0.384615 0
- txt003
-STRI
- V0 -2.92222 0.2 1.8 V1 -2.85 0.225 1.8 V2 -2.82674 0.225 1.62457
- N0 -0.6 0.8 0 N1 -0 1 0 N2 9.48478e-19 1 -2.94924e-18
- txt003
-STRI
- V0 -2.82674 0.225 1.62457 V1 -2.896 0.2 1.60229 V2 -2.92222 0.2 1.8
- N0 9.48478e-19 1 -2.94924e-18 N1 -0.577707 0.801752 -0.153129 N2 -0.6 0.8 0
- txt003
-STRI
- V0 -2.85 0.225 1.8 V1 -2.77778 0.2 1.8 V2 -2.75747 0.2 1.64684
- N0 -0 1 0 N1 0.6 0.8 0 N2 0.57987 0.801541 0.145888
- txt003
-STRI
- V0 -2.75747 0.2 1.64684 V1 -2.82674 0.225 1.62457 V2 -2.85 0.225 1.8
- N0 0.57987 0.801541 0.145888 N1 9.48478e-19 1 -2.94924e-18 N2 -0 1 0
- txt003
-STRI
- V0 -2.77778 0.2 1.8 V1 -2.72222 0.125 1.8 V2 -2.70418 0.125 1.66398
- N0 0.6 0.8 0 N1 0.923077 0.384615 0 N2 0.895972 0.38623 0.219226
- txt003
-STRI
- V0 -2.70418 0.125 1.66398 V1 -2.75747 0.2 1.64684 V2 -2.77778 0.2 1.8
- N0 0.895972 0.38623 0.219226 N1 0.57987 0.801541 0.145888 N2 0.6 0.8 0
- txt003
-STRI
- V0 -2.72222 0.125 1.8 V1 -2.7 0 1.8 V2 -2.68287 0 1.67083
- N0 0.923077 0.384615 0 N1 1 9.86865e-16 0 N2 0.972045 1.13306e-15 0.234794
- txt003
-STRI
- V0 -2.68287 0 1.67083 V1 -2.70418 0.125 1.66398 V2 -2.72222 0.125 1.8
- N0 0.972045 1.13306e-15 0.234794 N1 0.895972 0.38623 0.219226 N2 0.923077 0.384615 0
- txt003
-STRI
- V0 -2.9706 0 1.5783 V1 -2.94929 0.125 1.58515 V2 -2.86283 0.125 1.37521
- N0 -0.965311 0 -0.261102 N1 -0.890548 0.386679 -0.23959 N2 -0.807437 0.378466 -0.452558
- txt003
-STRI
- V0 -2.86283 0.125 1.37521 V1 -2.88148 0 1.36389 V2 -2.9706 0 1.5783
- N0 -0.807437 0.378466 -0.452558 N1 -0.869653 0 -0.493664 N2 -0.965311 0 -0.261102
- txt003
-STRI
- V0 -2.94929 0.125 1.58515 V1 -2.896 0.2 1.60229 V2 -2.81619 0.2 1.4035
- N0 -0.890548 0.386679 -0.23959 N1 -0.577707 0.801752 -0.153129 N2 -0.534196 0.794341 -0.289235
- txt003
-STRI
- V0 -2.81619 0.2 1.4035 V1 -2.86283 0.125 1.37521 V2 -2.94929 0.125 1.58515
- N0 -0.534196 0.794341 -0.289235 N1 -0.807437 0.378466 -0.452558 N2 -0.890548 0.386679 -0.23959
- txt003
-STRI
- V0 -2.896 0.2 1.60229 V1 -2.82674 0.225 1.62457 V2 -2.75556 0.225 1.44028
- N0 -0.577707 0.801752 -0.153129 N1 9.48478e-19 1 -2.94924e-18 N2 5.73642e-18 1 -9.4564e-18
- txt003
-STRI
- V0 -2.75556 0.225 1.44028 V1 -2.81619 0.2 1.4035 V2 -2.896 0.2 1.60229
- N0 5.73642e-18 1 -9.4564e-18 N1 -0.534196 0.794341 -0.289235 N2 -0.577707 0.801752 -0.153129
- txt003
-STRI
- V0 -2.82674 0.225 1.62457 V1 -2.75747 0.2 1.64684 V2 -2.69492 0.2 1.47706
- N0 9.48478e-19 1 -2.94924e-18 N1 0.57987 0.801541 0.145888 N2 0.548194 0.793356 0.264707
- txt003
-STRI
- V0 -2.69492 0.2 1.47706 V1 -2.75556 0.225 1.44028 V2 -2.82674 0.225 1.62457
- N0 0.548194 0.793356 0.264707 N1 5.73642e-18 1 -9.4564e-18 N2 9.48478e-19 1 -2.94924e-18
- txt003
-STRI
- V0 -2.75747 0.2 1.64684 V1 -2.70418 0.125 1.66398 V2 -2.64829 0.125 1.50535
- N0 0.57987 0.801541 0.145888 N1 0.895972 0.38623 0.219226 N2 0.842942 0.376421 0.38439
- txt003
-STRI
- V0 -2.64829 0.125 1.50535 V1 -2.69492 0.2 1.47706 V2 -2.75747 0.2 1.64684
- N0 0.842942 0.376421 0.38439 N1 0.548194 0.793356 0.264707 N2 0.57987 0.801541 0.145888
- txt003
-STRI
- V0 -2.70418 0.125 1.66398 V1 -2.68287 0 1.67083 V2 -2.62963 0 1.51667
- N0 0.895972 0.38623 0.219226 N1 0.972045 1.13306e-15 0.234794 N2 0.913812 1.42786e-15 0.406138
- txt003
-STRI
- V0 -2.62963 0 1.51667 V1 -2.64829 0.125 1.50535 V2 -2.70418 0.125 1.66398
- N0 0.913812 1.42786e-15 0.406138 N1 0.842942 0.376421 0.38439 N2 0.895972 0.38623 0.219226
- txt003
-STRI
- V0 -2.88148 0 1.36389 V1 -2.86283 0.125 1.37521 V2 -2.7169 0.125 1.17205
- N0 -0.869653 0 -0.493664 N1 -0.807437 0.378466 -0.452558 N2 -0.700515 0.35392 -0.619694
- txt003
-STRI
- V0 -2.7169 0.125 1.17205 V1 -2.73125 0 1.15781 V2 -2.88148 0 1.36389
- N0 -0.700515 0.35392 -0.619694 N1 -0.743581 0 -0.668646 N2 -0.869653 0 -0.493664
- txt003
-STRI
- V0 -2.86283 0.125 1.37521 V1 -2.81619 0.2 1.4035 V2 -2.68102 0.2 1.20764
- N0 -0.807437 0.378466 -0.452558 N1 -0.534196 0.794341 -0.289235 N2 -0.486433 0.770599 -0.411777
- txt003
-STRI
- V0 -2.68102 0.2 1.20764 V1 -2.7169 0.125 1.17205 V2 -2.86283 0.125 1.37521
- N0 -0.486433 0.770599 -0.411777 N1 -0.700515 0.35392 -0.619694 N2 -0.807437 0.378466 -0.452558
- txt003
-STRI
- V0 -2.81619 0.2 1.4035 V1 -2.75556 0.225 1.44028 V2 -2.63437 0.225 1.25391
- N0 -0.534196 0.794341 -0.289235 N1 5.73642e-18 1 -9.4564e-18 N2 1.5603e-17 1 -1.57299e-17
- txt003
-STRI
- V0 -2.63437 0.225 1.25391 V1 -2.68102 0.2 1.20764 V2 -2.81619 0.2 1.4035
- N0 1.5603e-17 1 -1.57299e-17 N1 -0.486433 0.770599 -0.411777 N2 -0.534196 0.794341 -0.289235
- txt003
-STRI
- V0 -2.75556 0.225 1.44028 V1 -2.69492 0.2 1.47706 V2 -2.58773 0.2 1.30017
- N0 5.73642e-18 1 -9.4564e-18 N1 0.548194 0.793356 0.264707 N2 0.515846 0.768155 0.379264
- txt003
-STRI
- V0 -2.58773 0.2 1.30017 V1 -2.63437 0.225 1.25391 V2 -2.75556 0.225 1.44028
- N0 0.515846 0.768155 0.379264 N1 1.5603e-17 1 -1.57299e-17 N2 5.73642e-18 1 -9.4564e-18
- txt003
-STRI
- V0 -2.69492 0.2 1.47706 V1 -2.64829 0.125 1.50535 V2 -2.55185 0.125 1.33576
- N0 0.548194 0.793356 0.264707 N1 0.842942 0.376421 0.38439 N2 0.772293 0.349434 0.530527
- txt003
-STRI
- V0 -2.55185 0.125 1.33576 V1 -2.58773 0.2 1.30017 V2 -2.69492 0.2 1.47706
- N0 0.772293 0.349434 0.530527 N1 0.515846 0.768155 0.379264 N2 0.548194 0.793356 0.264707
- txt003
-STRI
- V0 -2.64829 0.125 1.50535 V1 -2.62963 0 1.51667 V2 -2.5375 0 1.35
- N0 0.842942 0.376421 0.38439 N1 0.913812 1.42786e-15 0.406138 N2 0.83205 1.23168e-15 0.5547
- txt003
-STRI
- V0 -2.5375 0 1.35 V1 -2.55185 0.125 1.33576 V2 -2.64829 0.125 1.50535
- N0 0.83205 1.23168e-15 0.5547 N1 0.772293 0.349434 0.530527 N2 0.842942 0.376421 0.38439
- txt003
-STRI
- V0 -2.73125 0 1.15781 V1 -2.7169 0.125 1.17205 V2 -2.51001 0.125 0.977572
- N0 -0.743581 0 -0.668646 N1 -0.700515 0.35392 -0.619694 N2 -0.589822 0.322549 -0.740319
- txt003
-STRI
- V0 -2.51001 0.125 0.977572 V1 -2.51852 0 0.961111 V2 -2.73125 0 1.15781
- N0 -0.589822 0.322549 -0.740319 N1 -0.617031 0 -0.786939 N2 -0.743581 0 -0.668646
- txt003
-STRI
- V0 -2.7169 0.125 1.17205 V1 -2.68102 0.2 1.20764 V2 -2.48875 0.2 1.01872
- N0 -0.700515 0.35392 -0.619694 N1 -0.486433 0.770599 -0.411777 N2 -0.433172 0.735531 -0.520919
- txt003
-STRI
- V0 -2.48875 0.2 1.01872 V1 -2.51001 0.125 0.977572 V2 -2.7169 0.125 1.17205
- N0 -0.433172 0.735531 -0.520919 N1 -0.589822 0.322549 -0.740319 N2 -0.700515 0.35392 -0.619694
- txt003
-STRI
- V0 -2.68102 0.2 1.20764 V1 -2.63437 0.225 1.25391 V2 -2.46111 0.225 1.07222
- N0 -0.486433 0.770599 -0.411777 N1 1.5603e-17 1 -1.57299e-17 N2 3.17396e-17 1 -1.63988e-17
- txt003
-STRI
- V0 -2.46111 0.225 1.07222 V1 -2.48875 0.2 1.01872 V2 -2.68102 0.2 1.20764
- N0 3.17396e-17 1 -1.63988e-17 N1 -0.433172 0.735531 -0.520919 N2 -0.486433 0.770599 -0.411777
- txt003
-STRI
- V0 -2.63437 0.225 1.25391 V1 -2.58773 0.2 1.30017 V2 -2.43347 0.2 1.12572
- N0 1.5603e-17 1 -1.57299e-17 N1 0.515846 0.768155 0.379264 N2 0.471519 0.729692 0.495195
- txt003
-STRI
- V0 -2.43347 0.2 1.12572 V1 -2.46111 0.225 1.07222 V2 -2.63437 0.225 1.25391
- N0 0.471519 0.729692 0.495195 N1 3.17396e-17 1 -1.63988e-17 N2 1.5603e-17 1 -1.57299e-17
- txt003
-STRI
- V0 -2.58773 0.2 1.30017 V1 -2.55185 0.125 1.33576 V2 -2.41221 0.125 1.16687
- N0 0.515846 0.768155 0.379264 N1 0.772293 0.349434 0.530527 N2 0.676612 0.31353 0.666255
- txt003
-STRI
- V0 -2.41221 0.125 1.16687 V1 -2.43347 0.2 1.12572 V2 -2.58773 0.2 1.30017
- N0 0.676612 0.31353 0.666255 N1 0.471519 0.729692 0.495195 N2 0.515846 0.768155 0.379264
- txt003
-STRI
- V0 -2.55185 0.125 1.33576 V1 -2.5375 0 1.35 V2 -2.4037 0 1.18333
- N0 0.772293 0.349434 0.530527 N1 0.83205 1.23168e-15 0.5547 N2 0.722374 1.2247e-15 0.691503
- txt003
-STRI
- V0 -2.4037 0 1.18333 V1 -2.41221 0.125 1.16687 V2 -2.55185 0.125 1.33576
- N0 0.722374 1.2247e-15 0.691503 N1 0.676612 0.31353 0.666255 N2 0.772293 0.349434 0.530527
- txt003
-STRI
- V0 -2.51852 0 0.961111 V1 -2.51001 0.125 0.977572 V2 -2.24068 0.125 0.793666
- N0 -0.617031 0 -0.786939 N1 -0.589822 0.322549 -0.740319 N2 -0.485318 0.301052 -0.820874
- txt003
-STRI
- V0 -2.24068 0.125 0.793666 V1 -2.2419 0 0.774826 V2 -2.51852 0 0.961111
- N0 -0.485318 0.301052 -0.820874 N1 -0.504836 0 -0.863216 N2 -0.617031 0 -0.786939
- txt003
-STRI
- V0 -2.51001 0.125 0.977572 V1 -2.48875 0.2 1.01872 V2 -2.23764 0.2 0.840766
- N0 -0.589822 0.322549 -0.740319 N1 -0.433172 0.735531 -0.520919 N2 -0.367048 0.708353 -0.60292
- txt003
-STRI
- V0 -2.23764 0.2 0.840766 V1 -2.24068 0.125 0.793666 V2 -2.51001 0.125 0.977572
- N0 -0.367048 0.708353 -0.60292 N1 -0.485318 0.301052 -0.820874 N2 -0.589822 0.322549 -0.740319
- txt003
-STRI
- V0 -2.48875 0.2 1.01872 V1 -2.46111 0.225 1.07222 V2 -2.23368 0.225 0.901997
- N0 -0.433172 0.735531 -0.520919 N1 3.17396e-17 1 -1.63988e-17 N2 5.4409e-17 1 -3.51585e-18
- txt003
-STRI
- V0 -2.23368 0.225 0.901997 V1 -2.23764 0.2 0.840766 V2 -2.48875 0.2 1.01872
- N0 5.4409e-17 1 -3.51585e-18 N1 -0.367048 0.708353 -0.60292 N2 -0.433172 0.735531 -0.520919
- txt003
-STRI
- V0 -2.46111 0.225 1.07222 V1 -2.43347 0.2 1.12572 V2 -2.22972 0.2 0.963227
- N0 3.17396e-17 1 -1.63988e-17 N1 0.471519 0.729692 0.495195 N2 0.396971 0.700023 0.593618
- txt003
-STRI
- V0 -2.22972 0.2 0.963227 V1 -2.23368 0.225 0.901997 V2 -2.46111 0.225 1.07222
- N0 0.396971 0.700023 0.593618 N1 5.4409e-17 1 -3.51585e-18 N2 3.17396e-17 1 -1.63988e-17
- txt003
-STRI
- V0 -2.43347 0.2 1.12572 V1 -2.41221 0.125 1.16687 V2 -2.22668 0.125 1.01033
- N0 0.471519 0.729692 0.495195 N1 0.676612 0.31353 0.666255 N2 0.548733 0.289562 0.784249
- txt003
-STRI
- V0 -2.22668 0.125 1.01033 V1 -2.22972 0.2 0.963227 V2 -2.43347 0.2 1.12572
- N0 0.548733 0.289562 0.784249 N1 0.396971 0.700023 0.593618 N2 0.471519 0.729692 0.495195
- txt003
-STRI
- V0 -2.41221 0.125 1.16687 V1 -2.4037 0 1.18333 V2 -2.22546 0 1.02917
- N0 0.676612 0.31353 0.666255 N1 0.722374 1.2247e-15 0.691503 N2 0.580973 1.1041e-15 0.813923
- txt003
-STRI
- V0 -2.22546 0 1.02917 V1 -2.22668 0.125 1.01033 V2 -2.41221 0.125 1.16687
- N0 0.580973 1.1041e-15 0.813923 N1 0.548733 0.289562 0.784249 N2 0.676612 0.31353 0.666255
- txt003
-STRI
- V0 -2.2419 0 0.774826 V1 -2.24068 0.125 0.793666 V2 -1.90741 0.125 0.622222
- N0 -0.504836 0 -0.863216 N1 -0.485318 0.301052 -0.820874 N2 -0.390503 0.30734 -0.867784
- txt003
-STRI
- V0 -1.90741 0.125 0.622222 V1 -1.9 0 0.6 V2 -2.2419 0 0.774826
- N0 -0.390503 0.30734 -0.867784 N1 -0.410365 0 -0.911922 N2 -0.504836 0 -0.863216
- txt003
-STRI
- V0 -2.24068 0.125 0.793666 V1 -2.23764 0.2 0.840766 V2 -1.92593 0.2 0.677778
- N0 -0.485318 0.301052 -0.820874 N1 -0.367048 0.708353 -0.60292 N2 -0.285351 0.718662 -0.634113
- txt003
-STRI
- V0 -1.92593 0.2 0.677778 V1 -1.90741 0.125 0.622222 V2 -2.24068 0.125 0.793666
- N0 -0.285351 0.718662 -0.634113 N1 -0.390503 0.30734 -0.867784 N2 -0.485318 0.301052 -0.820874
- txt003
-STRI
- V0 -2.23764 0.2 0.840766 V1 -2.23368 0.225 0.901997 V2 -1.95 0.225 0.75
- N0 -0.367048 0.708353 -0.60292 N1 5.4409e-17 1 -3.51585e-18 N2 7.83687e-17 1 2.61229e-17
- txt003
-STRI
- V0 -1.95 0.225 0.75 V1 -1.92593 0.2 0.677778 V2 -2.23764 0.2 0.840766
- N0 7.83687e-17 1 2.61229e-17 N1 -0.285351 0.718662 -0.634113 N2 -0.367048 0.708353 -0.60292
- txt003
-STRI
- V0 -2.23368 0.225 0.901997 V1 -2.22972 0.2 0.963227 V2 -1.97407 0.2 0.822222
- N0 5.4409e-17 1 -3.51585e-18 N1 0.396971 0.700023 0.593618 N2 0.285351 0.718662 0.634113
- txt003
-STRI
- V0 -1.97407 0.2 0.822222 V1 -1.95 0.225 0.75 V2 -2.23368 0.225 0.901997
- N0 0.285351 0.718662 0.634113 N1 7.83687e-17 1 2.61229e-17 N2 5.4409e-17 1 -3.51585e-18
- txt003
-STRI
- V0 -2.22972 0.2 0.963227 V1 -2.22668 0.125 1.01033 V2 -1.99259 0.125 0.877778
- N0 0.396971 0.700023 0.593618 N1 0.548733 0.289562 0.784249 N2 0.390503 0.30734 0.867784
- txt003
-STRI
- V0 -1.99259 0.125 0.877778 V1 -1.97407 0.2 0.822222 V2 -2.22972 0.2 0.963227
- N0 0.390503 0.30734 0.867784 N1 0.285351 0.718662 0.634113 N2 0.396971 0.700023 0.593618
- txt003
-STRI
- V0 -2.22668 0.125 1.01033 V1 -2.22546 0 1.02917 V2 -2 0 0.9
- N0 0.548733 0.289562 0.784249 N1 0.580973 1.1041e-15 0.813923 N2 0.410365 1.30492e-15 0.911922
- txt003
-STRI
- V0 -2 0 0.9 V1 -1.99259 0.125 0.877778 V2 -2.22668 0.125 1.01033
- N0 0.410365 1.30492e-15 0.911922 N1 0.390503 0.30734 0.867784 N2 0.548733 0.289562 0.784249
- txt003
-STRI
- V0 1.7 0 1.425 V1 1.7 -0.275 1.36389 V2 2.07238 -0.262346 1.42521
- N0 -0 0 1 N1 -0.0157732 -0.461877 0.886804 N2 -0.291732 -0.426807 0.855995
- txt003
-STRI
- V0 2.07238 -0.262346 1.42521 V1 2.0588 0 1.47639 V2 1.7 0 1.425
- N0 -0.291732 -0.426807 0.855995 N1 -0.333935 0 0.942596 N2 -0 0 1
- txt003
-STRI
- V0 1.7 -0.275 1.36389 V1 1.7 -0.44 1.21111 V2 2.10633 -0.419753 1.29725
- N0 -0.0157732 -0.461877 0.886804 N1 -0.0291362 -0.857129 0.514277 N2 -0.135104 -0.834377 0.534381
- txt003
-STRI
- V0 2.10633 -0.419753 1.29725 V1 2.07238 -0.262346 1.42521 V2 1.7 -0.275 1.36389
- N0 -0.135104 -0.834377 0.534381 N1 -0.291732 -0.426807 0.855995 N2 -0.0157732 -0.461877 0.886804
- txt003
-STRI
- V0 1.7 -0.44 1.21111 V1 1.7 -0.495 1.0125 V2 2.15046 -0.472222 1.1309
- N0 -0.0291362 -0.857129 0.514277 N1 0 -1 -0 N2 0.110195 -0.99348 0.0292376
- txt003
-STRI
- V0 2.15046 -0.472222 1.1309 V1 2.10633 -0.419753 1.29725 V2 1.7 -0.44 1.21111
- N0 0.110195 -0.99348 0.0292376 N1 -0.135104 -0.834377 0.534381 N2 -0.0291362 -0.857129 0.514277
- txt003
-STRI
- V0 1.7 -0.495 1.0125 V1 1.7 -0.44 0.813889 V2 2.1946 -0.419753 0.964558
- N0 0 -1 -0 N1 0.0673462 -0.855546 -0.513328 N2 0.348602 -0.814337 -0.464038
- txt003
-STRI
- V0 2.1946 -0.419753 0.964558 V1 2.15046 -0.472222 1.1309 V2 1.7 -0.495 1.0125
- N0 0.348602 -0.814337 -0.464038 N1 0.110195 -0.99348 0.0292376 N2 0 -1 -0
- txt003
-STRI
- V0 1.7 -0.44 0.813889 V1 1.7 -0.275 0.661111 V2 2.22855 -0.262346 0.8366
- N0 0.0673462 -0.855546 -0.513328 N1 0.134339 -0.457747 -0.878875 N2 0.492146 -0.41068 -0.767551
- txt003
-STRI
- V0 2.22855 -0.262346 0.8366 V1 2.1946 -0.419753 0.964558 V2 1.7 -0.44 0.813889
- N0 0.492146 -0.41068 -0.767551 N1 0.348602 -0.814337 -0.464038 N2 0.0673462 -0.855546 -0.513328
- txt003
-STRI
- V0 1.7 -0.275 0.661111 V1 1.7 0 0.6 V2 2.24213 0 0.785417
- N0 0.134339 -0.457747 -0.878875 N1 0.158678 9.39168e-16 -0.98733 N2 0.528678 6.47717e-16 -0.848822
- txt003
-STRI
- V0 2.24213 0 0.785417 V1 2.22855 -0.262346 0.8366 V2 1.7 -0.275 0.661111
- N0 0.528678 6.47717e-16 -0.848822 N1 0.492146 -0.41068 -0.767551 N2 0.134339 -0.457747 -0.878875
- txt003
-STRI
- V0 2.0588 0 1.47639 V1 2.07238 -0.262346 1.42521 V2 2.29012 -0.23071 1.57202
- N0 -0.333935 0 0.942596 N1 -0.291732 -0.426807 0.855995 N2 -0.64585 -0.390219 0.656206
- txt003
-STRI
- V0 2.29012 -0.23071 1.57202 V1 2.27037 0 1.61111 V2 2.0588 0 1.47639
- N0 -0.64585 -0.390219 0.656206 N1 -0.731055 0 0.682318 N2 -0.333935 0 0.942596
- txt003
-STRI
- V0 2.07238 -0.262346 1.42521 V1 2.10633 -0.419753 1.29725 V2 2.33951 -0.369136 1.47428
- N0 -0.291732 -0.426807 0.855995 N1 -0.135104 -0.834377 0.534381 N2 -0.312511 -0.816863 0.484842
- txt003
-STRI
- V0 2.33951 -0.369136 1.47428 V1 2.29012 -0.23071 1.57202 V2 2.07238 -0.262346 1.42521
- N0 -0.312511 -0.816863 0.484842 N1 -0.64585 -0.390219 0.656206 N2 -0.291732 -0.426807 0.855995
- txt003
-STRI
- V0 2.10633 -0.419753 1.29725 V1 2.15046 -0.472222 1.1309 V2 2.4037 -0.415278 1.34722
- N0 -0.135104 -0.834377 0.534381 N1 0.110195 -0.99348 0.0292376 N2 0.215359 -0.970454 0.108813
- txt003
-STRI
- V0 2.4037 -0.415278 1.34722 V1 2.33951 -0.369136 1.47428 V2 2.10633 -0.419753 1.29725
- N0 0.215359 -0.970454 0.108813 N1 -0.312511 -0.816863 0.484842 N2 -0.135104 -0.834377 0.534381
- txt003
-STRI
- V0 2.15046 -0.472222 1.1309 V1 2.1946 -0.419753 0.964558 V2 2.4679 -0.369136 1.22016
- N0 0.110195 -0.99348 0.0292376 N1 0.348602 -0.814337 -0.464038 N2 0.627607 -0.733748 -0.260237
- txt003
-STRI
- V0 2.4679 -0.369136 1.22016 V1 2.4037 -0.415278 1.34722 V2 2.15046 -0.472222 1.1309
- N0 0.627607 -0.733748 -0.260237 N1 0.215359 -0.970454 0.108813 N2 0.110195 -0.99348 0.0292376
- txt003
-STRI
- V0 2.1946 -0.419753 0.964558 V1 2.22855 -0.262346 0.8366 V2 2.51728 -0.23071 1.12243
- N0 0.348602 -0.814337 -0.464038 N1 0.492146 -0.41068 -0.767551 N2 0.813963 -0.348056 -0.465103
- txt003
-STRI
- V0 2.51728 -0.23071 1.12243 V1 2.4679 -0.369136 1.22016 V2 2.1946 -0.419753 0.964558
- N0 0.813963 -0.348056 -0.465103 N1 0.627607 -0.733748 -0.260237 N2 0.348602 -0.814337 -0.464038
- txt003
-STRI
- V0 2.22855 -0.262346 0.8366 V1 2.24213 0 0.785417 V2 2.53704 0 1.08333
- N0 0.492146 -0.41068 -0.767551 N1 0.528678 6.47717e-16 -0.848822 N2 0.854063 9.88017e-16 -0.52017
- txt003
-STRI
- V0 2.53704 0 1.08333 V1 2.51728 -0.23071 1.12243 V2 2.22855 -0.262346 0.8366
- N0 0.854063 9.88017e-16 -0.52017 N1 0.813963 -0.348056 -0.465103 N2 0.492146 -0.41068 -0.767551
- txt003
-STRI
- V0 2.27037 0 1.61111 V1 2.29012 -0.23071 1.57202 V2 2.40972 -0.189583 1.77361
- N0 -0.731055 0 0.682318 N1 -0.64585 -0.390219 0.656206 N2 -0.835237 -0.363942 0.412221
- txt003
-STRI
- V0 2.40972 -0.189583 1.77361 V1 2.3875 0 1.8 V2 2.27037 0 1.61111
- N0 -0.835237 -0.363942 0.412221 N1 -0.920582 0 0.39055 N2 -0.731055 0 0.682318
- txt003
-STRI
- V0 2.29012 -0.23071 1.57202 V1 2.33951 -0.369136 1.47428 V2 2.46528 -0.303333 1.70764
- N0 -0.64585 -0.390219 0.656206 N1 -0.312511 -0.816863 0.484842 N2 -0.451323 -0.803033 0.38916
- txt003
-STRI
- V0 2.46528 -0.303333 1.70764 V1 2.40972 -0.189583 1.77361 V2 2.29012 -0.23071 1.57202
- N0 -0.451323 -0.803033 0.38916 N1 -0.835237 -0.363942 0.412221 N2 -0.64585 -0.390219 0.656206
- txt003
-STRI
- V0 2.33951 -0.369136 1.47428 V1 2.4037 -0.415278 1.34722 V2 2.5375 -0.34125 1.62187
- N0 -0.312511 -0.816863 0.484842 N1 0.215359 -0.970454 0.108813 N2 0.214084 -0.960035 0.180281
- txt003
-STRI
- V0 2.5375 -0.34125 1.62187 V1 2.46528 -0.303333 1.70764 V2 2.33951 -0.369136 1.47428
- N0 0.214084 -0.960035 0.180281 N1 -0.451323 -0.803033 0.38916 N2 -0.312511 -0.816863 0.484842
- txt003
-STRI
- V0 2.4037 -0.415278 1.34722 V1 2.4679 -0.369136 1.22016 V2 2.60972 -0.303333 1.53611
- N0 0.215359 -0.970454 0.108813 N1 0.627607 -0.733748 -0.260237 N2 0.705424 -0.704198 -0.0805066
- txt003
-STRI
- V0 2.60972 -0.303333 1.53611 V1 2.5375 -0.34125 1.62187 V2 2.4037 -0.415278 1.34722
- N0 0.705424 -0.704198 -0.0805066 N1 0.214084 -0.960035 0.180281 N2 0.215359 -0.970454 0.108813
- txt003
-STRI
- V0 2.4679 -0.369136 1.22016 V1 2.51728 -0.23071 1.12243 V2 2.66528 -0.189583 1.47014
- N0 0.627607 -0.733748 -0.260237 N1 0.813963 -0.348056 -0.465103 N2 0.913262 -0.329186 -0.239977
- txt003
-STRI
- V0 2.66528 -0.189583 1.47014 V1 2.60972 -0.303333 1.53611 V2 2.4679 -0.369136 1.22016
- N0 0.913262 -0.329186 -0.239977 N1 0.705424 -0.704198 -0.0805066 N2 0.627607 -0.733748 -0.260237
- txt003
-STRI
- V0 2.51728 -0.23071 1.12243 V1 2.53704 0 1.08333 V2 2.6875 0 1.44375
- N0 0.813963 -0.348056 -0.465103 N1 0.854063 9.88017e-16 -0.52017 N2 0.957826 1.83855e-15 -0.287348
- txt003
-STRI
- V0 2.6875 0 1.44375 V1 2.66528 -0.189583 1.47014 V2 2.51728 -0.23071 1.12243
- N0 0.957826 1.83855e-15 -0.287348 N1 0.913262 -0.329186 -0.239977 N2 0.813963 -0.348056 -0.465103
- txt003
-STRI
- V0 2.3875 0 1.8 V1 2.40972 -0.189583 1.77361 V2 2.48765 -0.148457 1.99928
- N0 -0.920582 0 0.39055 N1 -0.835237 -0.363942 0.412221 N2 -0.842821 -0.409176 0.34961
- txt003
-STRI
- V0 2.48765 -0.148457 1.99928 V1 2.46296 0 2.01389 V2 2.3875 0 1.8
- N0 -0.842821 -0.409176 0.34961 N1 -0.948683 0 0.316228 N2 -0.920582 0 0.39055
- txt003
-STRI
- V0 2.40972 -0.189583 1.77361 V1 2.46528 -0.303333 1.70764 V2 2.54938 -0.237531 1.96276
- N0 -0.835237 -0.363942 0.412221 N1 -0.451323 -0.803033 0.38916 N2 -0.452673 -0.821162 0.347535
- txt003
-STRI
- V0 2.54938 -0.237531 1.96276 V1 2.48765 -0.148457 1.99928 V2 2.40972 -0.189583 1.77361
- N0 -0.452673 -0.821162 0.347535 N1 -0.842821 -0.409176 0.34961 N2 -0.835237 -0.363942 0.412221
- txt003
-STRI
- V0 2.46528 -0.303333 1.70764 V1 2.5375 -0.34125 1.62187 V2 2.62963 -0.267222 1.91528
- N0 -0.451323 -0.803033 0.38916 N1 0.214084 -0.960035 0.180281 N2 0.113546 -0.974822 0.191909
- txt003
-STRI
- V0 2.62963 -0.267222 1.91528 V1 2.54938 -0.237531 1.96276 V2 2.46528 -0.303333 1.70764
- N0 0.113546 -0.974822 0.191909 N1 -0.452673 -0.821162 0.347535 N2 -0.451323 -0.803033 0.38916
- txt003
-STRI
- V0 2.5375 -0.34125 1.62187 V1 2.60972 -0.303333 1.53611 V2 2.70988 -0.237531 1.8678
- N0 0.214084 -0.960035 0.180281 N1 0.705424 -0.704198 -0.0805066 N2 0.60461 -0.794635 -0.0547983
- txt003
-STRI
- V0 2.70988 -0.237531 1.8678 V1 2.62963 -0.267222 1.91528 V2 2.5375 -0.34125 1.62187
- N0 0.60461 -0.794635 -0.0547983 N1 0.113546 -0.974822 0.191909 N2 0.214084 -0.960035 0.180281
- txt003
-STRI
- V0 2.60972 -0.303333 1.53611 V1 2.66528 -0.189583 1.47014 V2 2.7716 -0.148457 1.83128
- N0 0.705424 -0.704198 -0.0805066 N1 0.913262 -0.329186 -0.239977 N2 0.880144 -0.401503 -0.253261
- txt003
-STRI
- V0 2.7716 -0.148457 1.83128 V1 2.70988 -0.237531 1.8678 V2 2.60972 -0.303333 1.53611
- N0 0.880144 -0.401503 -0.253261 N1 0.60461 -0.794635 -0.0547983 N2 0.705424 -0.704198 -0.0805066
- txt003
-STRI
- V0 2.66528 -0.189583 1.47014 V1 2.6875 0 1.44375 V2 2.7963 0 1.81667
- N0 0.913262 -0.329186 -0.239977 N1 0.957826 1.83855e-15 -0.287348 N2 0.947588 3.02585e-15 -0.319493
- txt003
-STRI
- V0 2.7963 0 1.81667 V1 2.7716 -0.148457 1.83128 V2 2.66528 -0.189583 1.47014
- N0 0.947588 3.02585e-15 -0.319493 N1 0.880144 -0.401503 -0.253261 N2 0.913262 -0.329186 -0.239977
- txt003
-STRI
- V0 2.46296 0 2.01389 V1 2.48765 -0.148457 1.99928 V2 2.5804 -0.116821 2.21831
- N0 -0.948683 0 0.316228 N1 -0.842821 -0.409176 0.34961 N2 -0.723795 -0.498863 0.476715
- txt003
-STRI
- V0 2.5804 -0.116821 2.21831 V1 2.54954 0 2.22361 V2 2.46296 0 2.01389
- N0 -0.723795 -0.498863 0.476715 N1 -0.874591 0 0.484861 N2 -0.948683 0 0.316228
- txt003
-STRI
- V0 2.48765 -0.148457 1.99928 V1 2.54938 -0.237531 1.96276 V2 2.65756 -0.186914 2.20507
- N0 -0.842821 -0.409176 0.34961 N1 -0.452673 -0.821162 0.347535 N2 -0.365378 -0.851743 0.375544
- txt003
-STRI
- V0 2.65756 -0.186914 2.20507 V1 2.5804 -0.116821 2.21831 V2 2.48765 -0.148457 1.99928
- N0 -0.365378 -0.851743 0.375544 N1 -0.723795 -0.498863 0.476715 N2 -0.842821 -0.409176 0.34961
- txt003
-STRI
- V0 2.54938 -0.237531 1.96276 V1 2.62963 -0.267222 1.91528 V2 2.75787 -0.210278 2.18785
- N0 -0.452673 -0.821162 0.347535 N1 0.113546 -0.974822 0.191909 N2 0.0260102 -0.988113 0.151516
- txt003
-STRI
- V0 2.75787 -0.210278 2.18785 V1 2.65756 -0.186914 2.20507 V2 2.54938 -0.237531 1.96276
- N0 0.0260102 -0.988113 0.151516 N1 -0.365378 -0.851743 0.375544 N2 -0.452673 -0.821162 0.347535
- txt003
-STRI
- V0 2.62963 -0.267222 1.91528 V1 2.70988 -0.237531 1.8678 V2 2.85818 -0.186914 2.17063
- N0 0.113546 -0.974822 0.191909 N1 0.60461 -0.794635 -0.0547983 N2 0.417243 -0.88974 -0.185122
- txt003
-STRI
- V0 2.85818 -0.186914 2.17063 V1 2.75787 -0.210278 2.18785 V2 2.62963 -0.267222 1.91528
- N0 0.417243 -0.88974 -0.185122 N1 0.0260102 -0.988113 0.151516 N2 0.113546 -0.974822 0.191909
- txt003
-STRI
- V0 2.70988 -0.237531 1.8678 V1 2.7716 -0.148457 1.83128 V2 2.93534 -0.116821 2.15738
- N0 0.60461 -0.794635 -0.0547983 N1 0.880144 -0.401503 -0.253261 N2 0.70819 -0.492319 -0.506053
- txt003
-STRI
- V0 2.93534 -0.116821 2.15738 V1 2.85818 -0.186914 2.17063 V2 2.70988 -0.237531 1.8678
- N0 0.70819 -0.492319 -0.506053 N1 0.417243 -0.88974 -0.185122 N2 0.60461 -0.794635 -0.0547983
- txt003
-STRI
- V0 2.7716 -0.148457 1.83128 V1 2.7963 0 1.81667 V2 2.9662 0 2.15208
- N0 0.880144 -0.401503 -0.253261 N1 0.947588 3.02585e-15 -0.319493 N2 0.787582 4.30265e-15 -0.61621
- txt003
-STRI
- V0 2.9662 0 2.15208 V1 2.93534 -0.116821 2.15738 V2 2.7716 -0.148457 1.83128
- N0 0.787582 4.30265e-15 -0.61621 N1 0.70819 -0.492319 -0.506053 N2 0.880144 -0.401503 -0.253261
- txt003
-STRI
- V0 2.54954 0 2.22361 V1 2.5804 -0.116821 2.21831 V2 2.74444 -0.104167 2.4
- N0 -0.874591 0 0.484861 N1 -0.723795 -0.498863 0.476715 N2 -0.497164 -0.497164 0.711095
- txt003
-STRI
- V0 2.74444 -0.104167 2.4 V1 2.7 0 2.4 V2 2.54954 0 2.22361
- N0 -0.497164 -0.497164 0.711095 N1 -0.6 0 0.8 N2 -0.874591 0 0.484861
- txt003
-STRI
- V0 2.5804 -0.116821 2.21831 V1 2.65756 -0.186914 2.20507 V2 2.85556 -0.166667 2.4
- N0 -0.723795 -0.498863 0.476715 N1 -0.365378 -0.851743 0.375544 N2 -0.267368 -0.855576 0.443288
- txt003
-STRI
- V0 2.85556 -0.166667 2.4 V1 2.74444 -0.104167 2.4 V2 2.5804 -0.116821 2.21831
- N0 -0.267368 -0.855576 0.443288 N1 -0.497164 -0.497164 0.711095 N2 -0.723795 -0.498863 0.476715
- txt003
-STRI
- V0 2.65756 -0.186914 2.20507 V1 2.75787 -0.210278 2.18785 V2 3 -0.1875 2.4
- N0 -0.365378 -0.851743 0.375544 N1 0.0260102 -0.988113 0.151516 N2 0 -1 2.19303e-16
- txt003
-STRI
- V0 3 -0.1875 2.4 V1 2.85556 -0.166667 2.4 V2 2.65756 -0.186914 2.20507
- N0 0 -1 2.19303e-16 N1 -0.267368 -0.855576 0.443288 N2 -0.365378 -0.851743 0.375544
- txt003
-STRI
- V0 2.75787 -0.210278 2.18785 V1 2.85818 -0.186914 2.17063 V2 3.14444 -0.166667 2.4
- N0 0.0260102 -0.988113 0.151516 N1 0.417243 -0.88974 -0.185122 N2 0.250514 -0.801644 -0.54278
- txt003
-STRI
- V0 3.14444 -0.166667 2.4 V1 3 -0.1875 2.4 V2 2.75787 -0.210278 2.18785
- N0 0.250514 -0.801644 -0.54278 N1 0 -1 2.19303e-16 N2 0.0260102 -0.988113 0.151516
- txt003
-STRI
- V0 2.85818 -0.186914 2.17063 V1 2.93534 -0.116821 2.15738 V2 3.25556 -0.104167 2.4
- N0 0.417243 -0.88974 -0.185122 N1 0.70819 -0.492319 -0.506053 N2 0.366221 -0.366221 -0.855433
- txt003
-STRI
- V0 3.25556 -0.104167 2.4 V1 3.14444 -0.166667 2.4 V2 2.85818 -0.186914 2.17063
- N0 0.366221 -0.366221 -0.855433 N1 0.250514 -0.801644 -0.54278 N2 0.417243 -0.88974 -0.185122
- txt003
-STRI
- V0 2.93534 -0.116821 2.15738 V1 2.9662 0 2.15208 V2 3.3 0 2.4
- N0 0.70819 -0.492319 -0.506053 N1 0.787582 4.30265e-15 -0.61621 N2 0.384615 6.46776e-15 -0.923077
- txt003
-STRI
- V0 3.3 0 2.4 V1 3.25556 -0.104167 2.4 V2 2.93534 -0.116821 2.15738
- N0 0.384615 6.46776e-15 -0.923077 N1 0.366221 -0.366221 -0.855433 N2 0.70819 -0.492319 -0.506053
- txt003
-STRI
- V0 1.7 0 0.6 V1 1.7 0.275 0.661111 V2 2.22855 0.262346 0.8366
- N0 0.158678 0 -0.98733 N1 0.134339 0.457747 -0.878875 N2 0.492146 0.41068 -0.767551
- txt003
-STRI
- V0 2.22855 0.262346 0.8366 V1 2.24213 0 0.785417 V2 1.7 0 0.6
- N0 0.492146 0.41068 -0.767551 N1 0.528678 0 -0.848822 N2 0.158678 0 -0.98733
- txt003
-STRI
- V0 1.7 0.275 0.661111 V1 1.7 0.44 0.813889 V2 2.1946 0.419753 0.964558
- N0 0.134339 0.457747 -0.878875 N1 0.0673462 0.855546 -0.513328 N2 0.348602 0.814337 -0.464038
- txt003
-STRI
- V0 2.1946 0.419753 0.964558 V1 2.22855 0.262346 0.8366 V2 1.7 0.275 0.661111
- N0 0.348602 0.814337 -0.464038 N1 0.492146 0.41068 -0.767551 N2 0.134339 0.457747 -0.878875
- txt003
-STRI
- V0 1.7 0.44 0.813889 V1 1.7 0.495 1.0125 V2 2.15046 0.472222 1.1309
- N0 0.0673462 0.855546 -0.513328 N1 0 1 -0 N2 0.110195 0.99348 0.0292376
- txt003
-STRI
- V0 2.15046 0.472222 1.1309 V1 2.1946 0.419753 0.964558 V2 1.7 0.44 0.813889
- N0 0.110195 0.99348 0.0292376 N1 0.348602 0.814337 -0.464038 N2 0.0673462 0.855546 -0.513328
- txt003
-STRI
- V0 1.7 0.495 1.0125 V1 1.7 0.44 1.21111 V2 2.10633 0.419753 1.29725
- N0 0 1 -0 N1 -0.0291362 0.857129 0.514277 N2 -0.135104 0.834377 0.534381
- txt003
-STRI
- V0 2.10633 0.419753 1.29725 V1 2.15046 0.472222 1.1309 V2 1.7 0.495 1.0125
- N0 -0.135104 0.834377 0.534381 N1 0.110195 0.99348 0.0292376 N2 0 1 -0
- txt003
-STRI
- V0 1.7 0.44 1.21111 V1 1.7 0.275 1.36389 V2 2.07238 0.262346 1.42521
- N0 -0.0291362 0.857129 0.514277 N1 -0.0157732 0.461877 0.886804 N2 -0.291732 0.426807 0.855995
- txt003
-STRI
- V0 2.07238 0.262346 1.42521 V1 2.10633 0.419753 1.29725 V2 1.7 0.44 1.21111
- N0 -0.291732 0.426807 0.855995 N1 -0.135104 0.834377 0.534381 N2 -0.0291362 0.857129 0.514277
- txt003
-STRI
- V0 1.7 0.275 1.36389 V1 1.7 0 1.425 V2 2.0588 0 1.47639
- N0 -0.0157732 0.461877 0.886804 N1 0 -4.48575e-16 1 N2 -0.333935 -3.25455e-16 0.942596
- txt003
-STRI
- V0 2.0588 0 1.47639 V1 2.07238 0.262346 1.42521 V2 1.7 0.275 1.36389
- N0 -0.333935 -3.25455e-16 0.942596 N1 -0.291732 0.426807 0.855995 N2 -0.0157732 0.461877 0.886804
- txt003
-STRI
- V0 2.24213 0 0.785417 V1 2.22855 0.262346 0.8366 V2 2.51728 0.23071 1.12243
- N0 0.528678 0 -0.848822 N1 0.492146 0.41068 -0.767551 N2 0.813963 0.348056 -0.465103
- txt003
-STRI
- V0 2.51728 0.23071 1.12243 V1 2.53704 0 1.08333 V2 2.24213 0 0.785417
- N0 0.813963 0.348056 -0.465103 N1 0.854063 0 -0.52017 N2 0.528678 0 -0.848822
- txt003
-STRI
- V0 2.22855 0.262346 0.8366 V1 2.1946 0.419753 0.964558 V2 2.4679 0.369136 1.22016
- N0 0.492146 0.41068 -0.767551 N1 0.348602 0.814337 -0.464038 N2 0.627607 0.733748 -0.260237
- txt003
-STRI
- V0 2.4679 0.369136 1.22016 V1 2.51728 0.23071 1.12243 V2 2.22855 0.262346 0.8366
- N0 0.627607 0.733748 -0.260237 N1 0.813963 0.348056 -0.465103 N2 0.492146 0.41068 -0.767551
- txt003
-STRI
- V0 2.1946 0.419753 0.964558 V1 2.15046 0.472222 1.1309 V2 2.4037 0.415278 1.34722
- N0 0.348602 0.814337 -0.464038 N1 0.110195 0.99348 0.0292376 N2 0.215359 0.970454 0.108813
- txt003
-STRI
- V0 2.4037 0.415278 1.34722 V1 2.4679 0.369136 1.22016 V2 2.1946 0.419753 0.964558
- N0 0.215359 0.970454 0.108813 N1 0.627607 0.733748 -0.260237 N2 0.348602 0.814337 -0.464038
- txt003
-STRI
- V0 2.15046 0.472222 1.1309 V1 2.10633 0.419753 1.29725 V2 2.33951 0.369136 1.47428
- N0 0.110195 0.99348 0.0292376 N1 -0.135104 0.834377 0.534381 N2 -0.312511 0.816863 0.484842
- txt003
-STRI
- V0 2.33951 0.369136 1.47428 V1 2.4037 0.415278 1.34722 V2 2.15046 0.472222 1.1309
- N0 -0.312511 0.816863 0.484842 N1 0.215359 0.970454 0.108813 N2 0.110195 0.99348 0.0292376
- txt003
-STRI
- V0 2.10633 0.419753 1.29725 V1 2.07238 0.262346 1.42521 V2 2.29012 0.23071 1.57202
- N0 -0.135104 0.834377 0.534381 N1 -0.291732 0.426807 0.855995 N2 -0.64585 0.390219 0.656206
- txt003
-STRI
- V0 2.29012 0.23071 1.57202 V1 2.33951 0.369136 1.47428 V2 2.10633 0.419753 1.29725
- N0 -0.64585 0.390219 0.656206 N1 -0.312511 0.816863 0.484842 N2 -0.135104 0.834377 0.534381
- txt003
-STRI
- V0 2.07238 0.262346 1.42521 V1 2.0588 0 1.47639 V2 2.27037 0 1.61111
- N0 -0.291732 0.426807 0.855995 N1 -0.333935 -3.25455e-16 0.942596 N2 -0.731055 -1.69385e-16 0.682318
- txt003
-STRI
- V0 2.27037 0 1.61111 V1 2.29012 0.23071 1.57202 V2 2.07238 0.262346 1.42521
- N0 -0.731055 -1.69385e-16 0.682318 N1 -0.64585 0.390219 0.656206 N2 -0.291732 0.426807 0.855995
- txt003
-STRI
- V0 2.53704 0 1.08333 V1 2.51728 0.23071 1.12243 V2 2.66528 0.189583 1.47014
- N0 0.854063 0 -0.52017 N1 0.813963 0.348056 -0.465103 N2 0.913262 0.329186 -0.239977
- txt003
-STRI
- V0 2.66528 0.189583 1.47014 V1 2.6875 0 1.44375 V2 2.53704 0 1.08333
- N0 0.913262 0.329186 -0.239977 N1 0.957826 0 -0.287348 N2 0.854063 0 -0.52017
- txt003
-STRI
- V0 2.51728 0.23071 1.12243 V1 2.4679 0.369136 1.22016 V2 2.60972 0.303333 1.53611
- N0 0.813963 0.348056 -0.465103 N1 0.627607 0.733748 -0.260237 N2 0.705424 0.704198 -0.0805066
- txt003
-STRI
- V0 2.60972 0.303333 1.53611 V1 2.66528 0.189583 1.47014 V2 2.51728 0.23071 1.12243
- N0 0.705424 0.704198 -0.0805066 N1 0.913262 0.329186 -0.239977 N2 0.813963 0.348056 -0.465103
- txt003
-STRI
- V0 2.4679 0.369136 1.22016 V1 2.4037 0.415278 1.34722 V2 2.5375 0.34125 1.62188
- N0 0.627607 0.733748 -0.260237 N1 0.215359 0.970454 0.108813 N2 0.214084 0.960035 0.180281
- txt003
-STRI
- V0 2.5375 0.34125 1.62188 V1 2.60972 0.303333 1.53611 V2 2.4679 0.369136 1.22016
- N0 0.214084 0.960035 0.180281 N1 0.705424 0.704198 -0.0805066 N2 0.627607 0.733748 -0.260237
- txt003
-STRI
- V0 2.4037 0.415278 1.34722 V1 2.33951 0.369136 1.47428 V2 2.46528 0.303333 1.70764
- N0 0.215359 0.970454 0.108813 N1 -0.312511 0.816863 0.484842 N2 -0.451323 0.803033 0.38916
- txt003
-STRI
- V0 2.46528 0.303333 1.70764 V1 2.5375 0.34125 1.62188 V2 2.4037 0.415278 1.34722
- N0 -0.451323 0.803033 0.38916 N1 0.214084 0.960035 0.180281 N2 0.215359 0.970454 0.108813
- txt003
-STRI
- V0 2.33951 0.369136 1.47428 V1 2.29012 0.23071 1.57202 V2 2.40972 0.189583 1.77361
- N0 -0.312511 0.816863 0.484842 N1 -0.64585 0.390219 0.656206 N2 -0.835237 0.363942 0.412221
- txt003
-STRI
- V0 2.40972 0.189583 1.77361 V1 2.46528 0.303333 1.70764 V2 2.33951 0.369136 1.47428
- N0 -0.835237 0.363942 0.412221 N1 -0.451323 0.803033 0.38916 N2 -0.312511 0.816863 0.484842
- txt003
-STRI
- V0 2.29012 0.23071 1.57202 V1 2.27037 0 1.61111 V2 2.3875 0 1.8
- N0 -0.64585 0.390219 0.656206 N1 -0.731055 -1.69385e-16 0.682318 N2 -0.920582 -2.76813e-16 0.39055
- txt003
-STRI
- V0 2.3875 0 1.8 V1 2.40972 0.189583 1.77361 V2 2.29012 0.23071 1.57202
- N0 -0.920582 -2.76813e-16 0.39055 N1 -0.835237 0.363942 0.412221 N2 -0.64585 0.390219 0.656206
- txt003
-STRI
- V0 2.6875 0 1.44375 V1 2.66528 0.189583 1.47014 V2 2.7716 0.148457 1.83128
- N0 0.957826 0 -0.287348 N1 0.913262 0.329186 -0.239977 N2 0.880144 0.401503 -0.253261
- txt003
-STRI
- V0 2.7716 0.148457 1.83128 V1 2.7963 0 1.81667 V2 2.6875 0 1.44375
- N0 0.880144 0.401503 -0.253261 N1 0.947588 0 -0.319493 N2 0.957826 0 -0.287348
- txt003
-STRI
- V0 2.66528 0.189583 1.47014 V1 2.60972 0.303333 1.53611 V2 2.70988 0.237531 1.8678
- N0 0.913262 0.329186 -0.239977 N1 0.705424 0.704198 -0.0805066 N2 0.60461 0.794635 -0.0547983
- txt003
-STRI
- V0 2.70988 0.237531 1.8678 V1 2.7716 0.148457 1.83128 V2 2.66528 0.189583 1.47014
- N0 0.60461 0.794635 -0.0547983 N1 0.880144 0.401503 -0.253261 N2 0.913262 0.329186 -0.239977
- txt003
-STRI
- V0 2.60972 0.303333 1.53611 V1 2.5375 0.34125 1.62188 V2 2.62963 0.267222 1.91528
- N0 0.705424 0.704198 -0.0805066 N1 0.214084 0.960035 0.180281 N2 0.113546 0.974822 0.191909
- txt003
-STRI
- V0 2.62963 0.267222 1.91528 V1 2.70988 0.237531 1.8678 V2 2.60972 0.303333 1.53611
- N0 0.113546 0.974822 0.191909 N1 0.60461 0.794635 -0.0547983 N2 0.705424 0.704198 -0.0805066
- txt003
-STRI
- V0 2.5375 0.34125 1.62188 V1 2.46528 0.303333 1.70764 V2 2.54938 0.237531 1.96276
- N0 0.214084 0.960035 0.180281 N1 -0.451323 0.803033 0.38916 N2 -0.452673 0.821162 0.347535
- txt003
-STRI
- V0 2.54938 0.237531 1.96276 V1 2.62963 0.267222 1.91528 V2 2.5375 0.34125 1.62188
- N0 -0.452673 0.821162 0.347535 N1 0.113546 0.974822 0.191909 N2 0.214084 0.960035 0.180281
- txt003
-STRI
- V0 2.46528 0.303333 1.70764 V1 2.40972 0.189583 1.77361 V2 2.48765 0.148457 1.99928
- N0 -0.451323 0.803033 0.38916 N1 -0.835237 0.363942 0.412221 N2 -0.842821 0.409176 0.34961
- txt003
-STRI
- V0 2.48765 0.148457 1.99928 V1 2.54938 0.237531 1.96276 V2 2.46528 0.303333 1.70764
- N0 -0.842821 0.409176 0.34961 N1 -0.452673 0.821162 0.347535 N2 -0.451323 0.803033 0.38916
- txt003
-STRI
- V0 2.40972 0.189583 1.77361 V1 2.3875 0 1.8 V2 2.46296 0 2.01389
- N0 -0.835237 0.363942 0.412221 N1 -0.920582 -2.76813e-16 0.39055 N2 -0.948683 -4.59839e-16 0.316228
- txt003
-STRI
- V0 2.46296 0 2.01389 V1 2.48765 0.148457 1.99928 V2 2.40972 0.189583 1.77361
- N0 -0.948683 -4.59839e-16 0.316228 N1 -0.842821 0.409176 0.34961 N2 -0.835237 0.363942 0.412221
- txt003
-STRI
- V0 2.7963 0 1.81667 V1 2.7716 0.148457 1.83128 V2 2.93534 0.116821 2.15738
- N0 0.947588 0 -0.319493 N1 0.880144 0.401503 -0.253261 N2 0.70819 0.492319 -0.506053
- txt003
-STRI
- V0 2.93534 0.116821 2.15738 V1 2.9662 0 2.15208 V2 2.7963 0 1.81667
- N0 0.70819 0.492319 -0.506053 N1 0.787582 0 -0.61621 N2 0.947588 0 -0.319493
- txt003
-STRI
- V0 2.7716 0.148457 1.83128 V1 2.70988 0.237531 1.8678 V2 2.85818 0.186914 2.17063
- N0 0.880144 0.401503 -0.253261 N1 0.60461 0.794635 -0.0547983 N2 0.417243 0.88974 -0.185122
- txt003
-STRI
- V0 2.85818 0.186914 2.17063 V1 2.93534 0.116821 2.15738 V2 2.7716 0.148457 1.83128
- N0 0.417243 0.88974 -0.185122 N1 0.70819 0.492319 -0.506053 N2 0.880144 0.401503 -0.253261
- txt003
-STRI
- V0 2.70988 0.237531 1.8678 V1 2.62963 0.267222 1.91528 V2 2.75787 0.210278 2.18785
- N0 0.60461 0.794635 -0.0547983 N1 0.113546 0.974822 0.191909 N2 0.0260102 0.988113 0.151516
- txt003
-STRI
- V0 2.75787 0.210278 2.18785 V1 2.85818 0.186914 2.17063 V2 2.70988 0.237531 1.8678
- N0 0.0260102 0.988113 0.151516 N1 0.417243 0.88974 -0.185122 N2 0.60461 0.794635 -0.0547983
- txt003
-STRI
- V0 2.62963 0.267222 1.91528 V1 2.54938 0.237531 1.96276 V2 2.65756 0.186914 2.20507
- N0 0.113546 0.974822 0.191909 N1 -0.452673 0.821162 0.347535 N2 -0.365378 0.851743 0.375544
- txt003
-STRI
- V0 2.65756 0.186914 2.20507 V1 2.75787 0.210278 2.18785 V2 2.62963 0.267222 1.91528
- N0 -0.365378 0.851743 0.375544 N1 0.0260102 0.988113 0.151516 N2 0.113546 0.974822 0.191909
- txt003
-STRI
- V0 2.54938 0.237531 1.96276 V1 2.48765 0.148457 1.99928 V2 2.5804 0.116821 2.21831
- N0 -0.452673 0.821162 0.347535 N1 -0.842821 0.409176 0.34961 N2 -0.723795 0.498863 0.476715
- txt003
-STRI
- V0 2.5804 0.116821 2.21831 V1 2.65756 0.186914 2.20507 V2 2.54938 0.237531 1.96276
- N0 -0.723795 0.498863 0.476715 N1 -0.365378 0.851743 0.375544 N2 -0.452673 0.821162 0.347535
- txt003
-STRI
- V0 2.48765 0.148457 1.99928 V1 2.46296 0 2.01389 V2 2.54954 0 2.22361
- N0 -0.842821 0.409176 0.34961 N1 -0.948683 -4.59839e-16 0.316228 N2 -0.874591 -1.30753e-15 0.484861
- txt003
-STRI
- V0 2.54954 0 2.22361 V1 2.5804 0.116821 2.21831 V2 2.48765 0.148457 1.99928
- N0 -0.874591 -1.30753e-15 0.484861 N1 -0.723795 0.498863 0.476715 N2 -0.842821 0.409176 0.34961
- txt003
-STRI
- V0 2.9662 0 2.15208 V1 2.93534 0.116821 2.15738 V2 3.25556 0.104167 2.4
- N0 0.787582 0 -0.61621 N1 0.70819 0.492319 -0.506053 N2 0.366221 0.366221 -0.855433
- txt003
-STRI
- V0 3.25556 0.104167 2.4 V1 3.3 0 2.4 V2 2.9662 0 2.15208
- N0 0.366221 0.366221 -0.855433 N1 0.384615 0 -0.923077 N2 0.787582 0 -0.61621
- txt003
-STRI
- V0 2.93534 0.116821 2.15738 V1 2.85818 0.186914 2.17063 V2 3.14444 0.166667 2.4
- N0 0.70819 0.492319 -0.506053 N1 0.417243 0.88974 -0.185122 N2 0.250514 0.801644 -0.54278
- txt003
-STRI
- V0 3.14444 0.166667 2.4 V1 3.25556 0.104167 2.4 V2 2.93534 0.116821 2.15738
- N0 0.250514 0.801644 -0.54278 N1 0.366221 0.366221 -0.855433 N2 0.70819 0.492319 -0.506053
- txt003
-STRI
- V0 2.85818 0.186914 2.17063 V1 2.75787 0.210278 2.18785 V2 3 0.1875 2.4
- N0 0.417243 0.88974 -0.185122 N1 0.0260102 0.988113 0.151516 N2 4.05793e-32 1 2.19303e-16
- txt003
-STRI
- V0 3 0.1875 2.4 V1 3.14444 0.166667 2.4 V2 2.85818 0.186914 2.17063
- N0 4.05793e-32 1 2.19303e-16 N1 0.250514 0.801644 -0.54278 N2 0.417243 0.88974 -0.185122
- txt003
-STRI
- V0 2.75787 0.210278 2.18785 V1 2.65756 0.186914 2.20507 V2 2.85556 0.166667 2.4
- N0 0.0260102 0.988113 0.151516 N1 -0.365378 0.851743 0.375544 N2 -0.267368 0.855576 0.443288
- txt003
-STRI
- V0 2.85556 0.166667 2.4 V1 3 0.1875 2.4 V2 2.75787 0.210278 2.18785
- N0 -0.267368 0.855576 0.443288 N1 4.05793e-32 1 2.19303e-16 N2 0.0260102 0.988113 0.151516
- txt003
-STRI
- V0 2.65756 0.186914 2.20507 V1 2.5804 0.116821 2.21831 V2 2.74444 0.104167 2.4
- N0 -0.365378 0.851743 0.375544 N1 -0.723795 0.498863 0.476715 N2 -0.497164 0.497164 0.711095
- txt003
-STRI
- V0 2.74444 0.104167 2.4 V1 2.85556 0.166667 2.4 V2 2.65756 0.186914 2.20507
- N0 -0.497164 0.497164 0.711095 N1 -0.267368 0.855576 0.443288 N2 -0.365378 0.851743 0.375544
- txt003
-STRI
- V0 2.5804 0.116821 2.21831 V1 2.54954 0 2.22361 V2 2.7 0 2.4
- N0 -0.723795 0.498863 0.476715 N1 -0.874591 -1.30753e-15 0.484861 N2 -0.6 -3.55271e-15 0.8
- txt003
-STRI
- V0 2.7 0 2.4 V1 2.74444 0.104167 2.4 V2 2.5804 0.116821 2.21831
- N0 -0.6 -3.55271e-15 0.8 N1 -0.497164 0.497164 0.711095 N2 -0.723795 0.498863 0.476715
- txt003
-STRI
- V0 2.7 0 2.4 V1 2.74444 -0.104167 2.4 V2 2.79641 -0.10108 2.43193
- N0 -0.6 0 0.8 N1 -0.497164 -0.497164 0.711095 N2 -0.387052 -0.411886 0.824949
- txt003
-STRI
- V0 2.79641 -0.10108 2.43193 V1 2.74907 0 2.43125 V2 2.7 0 2.4
- N0 -0.387052 -0.411886 0.824949 N1 -0.467888 0 0.883788 N2 -0.6 0 0.8
- txt003
-STRI
- V0 2.74444 -0.104167 2.4 V1 2.85556 -0.166667 2.4 V2 2.91474 -0.161728 2.43361
- N0 -0.497164 -0.497164 0.711095 N1 -0.267368 -0.855576 0.443288 N2 -0.215548 -0.724209 0.655027
- txt003
-STRI
- V0 2.91474 -0.161728 2.43361 V1 2.79641 -0.10108 2.43193 V2 2.74444 -0.104167 2.4
- N0 -0.215548 -0.724209 0.655027 N1 -0.387052 -0.411886 0.824949 N2 -0.497164 -0.497164 0.711095
- txt003
-STRI
- V0 2.85556 -0.166667 2.4 V1 3 -0.1875 2.4 V2 3.06858 -0.181944 2.43581
- N0 -0.267368 -0.855576 0.443288 N1 0 -1 0 N2 -0.00489618 -0.939227 0.343261
- txt003
-STRI
- V0 3.06858 -0.181944 2.43581 V1 2.91474 -0.161728 2.43361 V2 2.85556 -0.166667 2.4
- N0 -0.00489618 -0.939227 0.343261 N1 -0.215548 -0.724209 0.655027 N2 -0.267368 -0.855576 0.443288
- txt003
-STRI
- V0 3 -0.1875 2.4 V1 3.14444 -0.166667 2.4 V2 3.22241 -0.161728 2.438
- N0 0 -1 0 N1 0.250514 -0.801644 -0.54278 N2 0.269127 -0.933284 -0.237808
- txt003
-STRI
- V0 3.22241 -0.161728 2.438 V1 3.06858 -0.181944 2.43581 V2 3 -0.1875 2.4
- N0 0.269127 -0.933284 -0.237808 N1 -0.00489618 -0.939227 0.343261 N2 0 -1 0
- txt003
-STRI
- V0 3.14444 -0.166667 2.4 V1 3.25556 -0.104167 2.4 V2 3.34075 -0.10108 2.43969
- N0 0.250514 -0.801644 -0.54278 N1 0.366221 -0.366221 -0.855433 N2 0.442187 -0.473386 -0.761824
- txt003
-STRI
- V0 3.34075 -0.10108 2.43969 V1 3.22241 -0.161728 2.438 V2 3.14444 -0.166667 2.4
- N0 0.442187 -0.473386 -0.761824 N1 0.269127 -0.933284 -0.237808 N2 0.250514 -0.801644 -0.54278
- txt003
-STRI
- V0 3.25556 -0.104167 2.4 V1 3.3 0 2.4 V2 3.38808 0 2.44036
- N0 0.366221 -0.366221 -0.855433 N1 0.384615 -2.55067e-15 -0.923077 N2 0.463425 -2.75328e-15 -0.886136
- txt003
-STRI
- V0 3.38808 0 2.44036 V1 3.34075 -0.10108 2.43969 V2 3.25556 -0.104167 2.4
- N0 0.463425 -2.75328e-15 -0.886136 N1 0.442187 -0.473386 -0.761824 N2 0.366221 -0.366221 -0.855433
- txt003
-STRI
- V0 2.74907 0 2.43125 V1 2.79641 -0.10108 2.43193 V2 2.83978 -0.0933642 2.45123
- N0 -0.467888 0 0.883788 N1 -0.387052 -0.411886 0.824949 N2 -0.253997 -0.272114 0.928138
- txt003
-STRI
- V0 2.83978 -0.0933642 2.45123 V1 2.79259 0 2.45 V2 2.74907 0 2.43125
- N0 -0.253997 -0.272114 0.928138 N1 -0.306009 0 0.952029 N2 -0.467888 0 0.883788
- txt003
-STRI
- V0 2.79641 -0.10108 2.43193 V1 2.91474 -0.161728 2.43361 V2 2.95775 -0.149383 2.45432
- N0 -0.387052 -0.411886 0.824949 N1 -0.215548 -0.724209 0.655027 N2 -0.14959 -0.481391 0.863647
- txt003
-STRI
- V0 2.95775 -0.149383 2.45432 V1 2.83978 -0.0933642 2.45123 V2 2.79641 -0.10108 2.43193
- N0 -0.14959 -0.481391 0.863647 N1 -0.253997 -0.272114 0.928138 N2 -0.387052 -0.411886 0.824949
- txt003
-STRI
- V0 2.91474 -0.161728 2.43361 V1 3.06858 -0.181944 2.43581 V2 3.11111 -0.168056 2.45833
- N0 -0.215548 -0.724209 0.655027 N1 -0.00489618 -0.939227 0.343261 N2 -0.0195232 -0.665415 0.746219
- txt003
-STRI
- V0 3.11111 -0.168056 2.45833 V1 2.95775 -0.149383 2.45432 V2 2.91474 -0.161728 2.43361
- N0 -0.0195232 -0.665415 0.746219 N1 -0.14959 -0.481391 0.863647 N2 -0.215548 -0.724209 0.655027
- txt003
-STRI
- V0 3.06858 -0.181944 2.43581 V1 3.22241 -0.161728 2.438 V2 3.26447 -0.149383 2.46235
- N0 -0.00489618 -0.939227 0.343261 N1 0.269127 -0.933284 -0.237808 N2 0.218115 -0.87054 0.44112
- txt003
-STRI
- V0 3.26447 -0.149383 2.46235 V1 3.11111 -0.168056 2.45833 V2 3.06858 -0.181944 2.43581
- N0 0.218115 -0.87054 0.44112 N1 -0.0195232 -0.665415 0.746219 N2 -0.00489618 -0.939227 0.343261
- txt003
-STRI
- V0 3.22241 -0.161728 2.438 V1 3.34075 -0.10108 2.43969 V2 3.38244 -0.0933642 2.46543
- N0 0.269127 -0.933284 -0.237808 N1 0.442187 -0.473386 -0.761824 N2 0.612385 -0.714958 -0.337372
- txt003
-STRI
- V0 3.38244 -0.0933642 2.46543 V1 3.26447 -0.149383 2.46235 V2 3.22241 -0.161728 2.438
- N0 0.612385 -0.714958 -0.337372 N1 0.218115 -0.87054 0.44112 N2 0.269127 -0.933284 -0.237808
- txt003
-STRI
- V0 3.34075 -0.10108 2.43969 V1 3.38808 0 2.44036 V2 3.42963 0 2.46667
- N0 0.442187 -0.473386 -0.761824 N1 0.463425 -2.75328e-15 -0.886136 N2 0.694136 -3.24605e-15 -0.719844
- txt003
-STRI
- V0 3.42963 0 2.46667 V1 3.38244 -0.0933642 2.46543 V2 3.34075 -0.10108 2.43969
- N0 0.694136 -3.24605e-15 -0.719844 N1 0.612385 -0.714958 -0.337372 N2 0.442187 -0.473386 -0.761824
- txt003
-STRI
- V0 2.79259 0 2.45 V1 2.83978 -0.0933642 2.45123 V2 2.86968 -0.0833333 2.45781
- N0 -0.306009 0 0.952029 N1 -0.253997 -0.272114 0.928138 N2 -0.0182321 0.0210195 0.999613
- txt003
-STRI
- V0 2.86968 -0.0833333 2.45781 V1 2.825 0 2.45625 V2 2.79259 0 2.45
- N0 -0.0182321 0.0210195 0.999613 N1 2.22045e-15 0 1 N2 -0.306009 0 0.952029
- txt003
-STRI
- V0 2.83978 -0.0933642 2.45123 V1 2.95775 -0.149383 2.45432 V2 2.98137 -0.133333 2.46172
- N0 -0.253997 -0.272114 0.928138 N1 -0.14959 -0.481391 0.863647 N2 -0.0369301 -0.00796532 0.999286
- txt003
-STRI
- V0 2.98137 -0.133333 2.46172 V1 2.86968 -0.0833333 2.45781 V2 2.83978 -0.0933642 2.45123
- N0 -0.0369301 -0.00796532 0.999286 N1 -0.0182321 0.0210195 0.999613 N2 -0.253997 -0.272114 0.928138
- txt003
-STRI
- V0 2.95775 -0.149383 2.45432 V1 3.11111 -0.168056 2.45833 V2 3.12656 -0.15 2.4668
- N0 -0.14959 -0.481391 0.863647 N1 -0.0195232 -0.665415 0.746219 N2 -0.0348909 -0.0594438 0.997622
- txt003
-STRI
- V0 3.12656 -0.15 2.4668 V1 2.98137 -0.133333 2.46172 V2 2.95775 -0.149383 2.45432
- N0 -0.0348909 -0.0594438 0.997622 N1 -0.0369301 -0.00796532 0.999286 N2 -0.14959 -0.481391 0.863647
- txt003
-STRI
- V0 3.11111 -0.168056 2.45833 V1 3.26447 -0.149383 2.46235 V2 3.27176 -0.133333 2.47187
- N0 -0.0195232 -0.665415 0.746219 N1 0.218115 -0.87054 0.44112 N2 -0.00787186 -0.108144 0.994104
- txt003
-STRI
- V0 3.27176 -0.133333 2.47187 V1 3.12656 -0.15 2.4668 V2 3.11111 -0.168056 2.45833
- N0 -0.00787186 -0.108144 0.994104 N1 -0.0348909 -0.0594438 0.997622 N2 -0.0195232 -0.665415 0.746219
- txt003
-STRI
- V0 3.26447 -0.149383 2.46235 V1 3.38244 -0.0933642 2.46543 V2 3.38345 -0.0833333 2.47578
- N0 0.218115 -0.87054 0.44112 N1 0.612385 -0.714958 -0.337372 N2 0.0539577 -0.111406 0.992309
- txt003
-STRI
- V0 3.38345 -0.0833333 2.47578 V1 3.27176 -0.133333 2.47187 V2 3.26447 -0.149383 2.46235
- N0 0.0539577 -0.111406 0.992309 N1 -0.00787186 -0.108144 0.994104 N2 0.218115 -0.87054 0.44112
- txt003
-STRI
- V0 3.38244 -0.0933642 2.46543 V1 3.42963 0 2.46667 V2 3.42813 0 2.47734
- N0 0.612385 -0.714958 -0.337372 N1 0.694136 -3.24605e-15 -0.719844 N2 0.106533 1.89241e-15 0.994309
- txt003
-STRI
- V0 3.42813 0 2.47734 V1 3.38345 -0.0833333 2.47578 V2 3.38244 -0.0933642 2.46543
- N0 0.106533 1.89241e-15 0.994309 N1 0.0539577 -0.111406 0.992309 N2 0.612385 -0.714958 -0.337372
- txt003
-STRI
- V0 2.825 0 2.45625 V1 2.86968 -0.0833333 2.45781 V2 2.88121 -0.0733025 2.45154
- N0 2.22045e-15 0 1 N1 -0.0182321 0.0210195 0.999613 N2 0.507715 0.682832 0.525324
- txt003
-STRI
- V0 2.88121 -0.0733025 2.45154 V1 2.84074 0 2.45 V2 2.825 0 2.45625
- N0 0.507715 0.682832 0.525324 N1 0.913812 0 0.406138 N2 2.22045e-15 0 1
- txt003
-STRI
- V0 2.86968 -0.0833333 2.45781 V1 2.98137 -0.133333 2.46172 V2 2.98237 -0.117284 2.4554
- N0 -0.0182321 0.0210195 0.999613 N1 -0.0369301 -0.00796532 0.999286 N2 0.148477 0.721529 0.676277
- txt003
-STRI
- V0 2.98237 -0.117284 2.4554 V1 2.88121 -0.0733025 2.45154 V2 2.86968 -0.0833333 2.45781
- N0 0.148477 0.721529 0.676277 N1 0.507715 0.682832 0.525324 N2 -0.0182321 0.0210195 0.999613
- txt003
-STRI
- V0 2.98137 -0.133333 2.46172 V1 3.12656 -0.15 2.4668 V2 3.11389 -0.131944 2.46042
- N0 -0.0369301 -0.00796532 0.999286 N1 -0.0348909 -0.0594438 0.997622 N2 -0.0300305 0.615625 0.787467
- txt003
-STRI
- V0 3.11389 -0.131944 2.46042 V1 2.98237 -0.117284 2.4554 V2 2.98137 -0.133333 2.46172
- N0 -0.0300305 0.615625 0.787467 N1 0.148477 0.721529 0.676277 N2 -0.0369301 -0.00796532 0.999286
- txt003
-STRI
- V0 3.12656 -0.15 2.4668 V1 3.27176 -0.133333 2.47187 V2 3.2454 -0.117284 2.46543
- N0 -0.0348909 -0.0594438 0.997622 N1 -0.00787186 -0.108144 0.994104 N2 -0.144371 0.459364 0.876437
- txt003
-STRI
- V0 3.2454 -0.117284 2.46543 V1 3.11389 -0.131944 2.46042 V2 3.12656 -0.15 2.4668
- N0 -0.144371 0.459364 0.876437 N1 -0.0300305 0.615625 0.787467 N2 -0.0348909 -0.0594438 0.997622
- txt003
-STRI
- V0 3.27176 -0.133333 2.47187 V1 3.38345 -0.0833333 2.47578 V2 3.34657 -0.0733025 2.46929
- N0 -0.00787186 -0.108144 0.994104 N1 0.0539577 -0.111406 0.992309 N2 -0.223743 0.242919 0.943891
- txt003
-STRI
- V0 3.34657 -0.0733025 2.46929 V1 3.2454 -0.117284 2.46543 V2 3.27176 -0.133333 2.47187
- N0 -0.223743 0.242919 0.943891 N1 -0.144371 0.459364 0.876437 N2 -0.00787186 -0.108144 0.994104
- txt003
-STRI
- V0 3.38345 -0.0833333 2.47578 V1 3.42813 0 2.47734 V2 3.38704 0 2.47083
- N0 0.0539577 -0.111406 0.992309 N1 0.106533 1.89241e-15 0.994309 N2 -0.253109 3.19224e-15 0.967438
- txt003
-STRI
- V0 3.38704 0 2.47083 V1 3.34657 -0.0733025 2.46929 V2 3.38345 -0.0833333 2.47578
- N0 -0.253109 3.19224e-15 0.967438 N1 -0.223743 0.242919 0.943891 N2 0.0539577 -0.111406 0.992309
- txt003
-STRI
- V0 2.84074 0 2.45 V1 2.88121 -0.0733025 2.45154 V2 2.86949 -0.0655864 2.43231
- N0 0.913812 0 0.406138 N1 0.507715 0.682832 0.525324 N2 0.577416 0.711734 -0.400031
- txt003
-STRI
- V0 2.86949 -0.0655864 2.43231 V1 2.83426 0 2.43125 V2 2.84074 0 2.45
- N0 0.577416 0.711734 -0.400031 N1 0.789352 0 -0.613941 N2 0.913812 0 0.406138
- txt003
-STRI
- V0 2.88121 -0.0733025 2.45154 V1 2.98237 -0.117284 2.4554 V2 2.95756 -0.104938 2.43496
- N0 0.507715 0.682832 0.525324 N1 0.148477 0.721529 0.676277 N2 0.241288 0.970358 -0.0136399
- txt003
-STRI
- V0 2.95756 -0.104938 2.43496 V1 2.86949 -0.0655864 2.43231 V2 2.88121 -0.0733025 2.45154
- N0 0.241288 0.970358 -0.0136399 N1 0.577416 0.711734 -0.400031 N2 0.507715 0.682832 0.525324
- txt003
-STRI
- V0 2.98237 -0.117284 2.4554 V1 3.11389 -0.131944 2.46042 V2 3.07205 -0.118056 2.43841
- N0 0.148477 0.721529 0.676277 N1 -0.0300305 0.615625 0.787467 N2 -0.0103804 0.938666 0.344672
- txt003
-STRI
- V0 3.07205 -0.118056 2.43841 V1 2.95756 -0.104938 2.43496 V2 2.98237 -0.117284 2.4554
- N0 -0.0103804 0.938666 0.344672 N1 0.241288 0.970358 -0.0136399 N2 0.148477 0.721529 0.676277
- txt003
-STRI
- V0 3.11389 -0.131944 2.46042 V1 3.2454 -0.117284 2.46543 V2 3.18654 -0.104938 2.44186
- N0 -0.0300305 0.615625 0.787467 N1 -0.144371 0.459364 0.876437 N2 -0.199105 0.721639 0.663019
- txt003
-STRI
- V0 3.18654 -0.104938 2.44186 V1 3.07205 -0.118056 2.43841 V2 3.11389 -0.131944 2.46042
- N0 -0.199105 0.721639 0.663019 N1 -0.0103804 0.938666 0.344672 N2 -0.0300305 0.615625 0.787467
- txt003
-STRI
- V0 3.2454 -0.117284 2.46543 V1 3.34657 -0.0733025 2.46929 V2 3.27461 -0.0655864 2.44451
- N0 -0.144371 0.459364 0.876437 N1 -0.223743 0.242919 0.943891 N2 -0.316294 0.364979 0.875641
- txt003
-STRI
- V0 3.27461 -0.0655864 2.44451 V1 3.18654 -0.104938 2.44186 V2 3.2454 -0.117284 2.46543
- N0 -0.316294 0.364979 0.875641 N1 -0.199105 0.721639 0.663019 N2 -0.144371 0.459364 0.876437
- txt003
-STRI
- V0 3.34657 -0.0733025 2.46929 V1 3.38704 0 2.47083 V2 3.30984 0 2.44557
- N0 -0.223743 0.242919 0.943891 N1 -0.253109 3.19224e-15 0.967438 N2 -0.349987 4.0695e-15 0.936755
- txt003
-STRI
- V0 3.30984 0 2.44557 V1 3.27461 -0.0655864 2.44451 V2 3.34657 -0.0733025 2.46929
- N0 -0.349987 4.0695e-15 0.936755 N1 -0.316294 0.364979 0.875641 N2 -0.223743 0.242919 0.943891
- txt003
-STRI
- V0 2.83426 0 2.43125 V1 2.86949 -0.0655864 2.43231 V2 2.82963 -0.0625 2.4
- N0 0.789352 0 -0.613941 N1 0.577416 0.711734 -0.400031 N2 0.483629 0.537366 -0.690899
- txt003
-STRI
- V0 2.82963 -0.0625 2.4 V1 2.8 0 2.4 V2 2.83426 0 2.43125
- N0 0.483629 0.537366 -0.690899 N1 0.6 0 -0.8 N2 0.789352 0 -0.613941
- txt003
-STRI
- V0 2.86949 -0.0655864 2.43231 V1 2.95756 -0.104938 2.43496 V2 2.9037 -0.1 2.4
- N0 0.577416 0.711734 -0.400031 N1 0.241288 0.970358 -0.0136399 N2 0.247465 0.879877 -0.405681
- txt003
-STRI
- V0 2.9037 -0.1 2.4 V1 2.82963 -0.0625 2.4 V2 2.86949 -0.0655864 2.43231
- N0 0.247465 0.879877 -0.405681 N1 0.483629 0.537366 -0.690899 N2 0.577416 0.711734 -0.400031
- txt003
-STRI
- V0 2.95756 -0.104938 2.43496 V1 3.07205 -0.118056 2.43841 V2 3 -0.1125 2.4
- N0 0.241288 0.970358 -0.0136399 N1 -0.0103804 0.938666 0.344672 N2 0 1 0
- txt003
-STRI
- V0 3 -0.1125 2.4 V1 2.9037 -0.1 2.4 V2 2.95756 -0.104938 2.43496
- N0 0 1 0 N1 0.247465 0.879877 -0.405681 N2 0.241288 0.970358 -0.0136399
- txt003
-STRI
- V0 3.07205 -0.118056 2.43841 V1 3.18654 -0.104938 2.44186 V2 3.0963 -0.1 2.4
- N0 -0.0103804 0.938666 0.344672 N1 -0.199105 0.721639 0.663019 N2 -0.236617 0.841304 0.486024
- txt003
-STRI
- V0 3.0963 -0.1 2.4 V1 3 -0.1125 2.4 V2 3.07205 -0.118056 2.43841
- N0 -0.236617 0.841304 0.486024 N1 0 1 0 N2 -0.0103804 0.938666 0.344672
- txt003
-STRI
- V0 3.18654 -0.104938 2.44186 V1 3.27461 -0.0655864 2.44451 V2 3.17037 -0.0625 2.4
- N0 -0.199105 0.721639 0.663019 N1 -0.316294 0.364979 0.875641 N2 -0.378646 0.420717 0.824393
- txt003
-STRI
- V0 3.17037 -0.0625 2.4 V1 3.0963 -0.1 2.4 V2 3.18654 -0.104938 2.44186
- N0 -0.378646 0.420717 0.824393 N1 -0.236617 0.841304 0.486024 N2 -0.199105 0.721639 0.663019
- txt003
-STRI
- V0 3.27461 -0.0655864 2.44451 V1 3.30984 0 2.44557 V2 3.2 0 2.4
- N0 -0.316294 0.364979 0.875641 N1 -0.349987 4.0695e-15 0.936755 N2 -0.410365 4.31973e-15 0.911922
- txt003
-STRI
- V0 3.2 0 2.4 V1 3.17037 -0.0625 2.4 V2 3.27461 -0.0655864 2.44451
- N0 -0.410365 4.31973e-15 0.911922 N1 -0.378646 0.420717 0.824393 N2 -0.316294 0.364979 0.875641
- txt003
-STRI
- V0 3.3 0 2.4 V1 3.25556 0.104167 2.4 V2 3.34075 0.10108 2.43969
- N0 0.384615 0 -0.923077 N1 0.366221 0.366221 -0.855433 N2 0.442187 0.473386 -0.761824
- txt003
-STRI
- V0 3.34075 0.10108 2.43969 V1 3.38808 0 2.44036 V2 3.3 0 2.4
- N0 0.442187 0.473386 -0.761824 N1 0.463425 0 -0.886136 N2 0.384615 0 -0.923077
- txt003
-STRI
- V0 3.25556 0.104167 2.4 V1 3.14444 0.166667 2.4 V2 3.22241 0.161728 2.438
- N0 0.366221 0.366221 -0.855433 N1 0.250514 0.801644 -0.54278 N2 0.269127 0.933284 -0.237808
- txt003
-STRI
- V0 3.22241 0.161728 2.438 V1 3.34075 0.10108 2.43969 V2 3.25556 0.104167 2.4
- N0 0.269127 0.933284 -0.237808 N1 0.442187 0.473386 -0.761824 N2 0.366221 0.366221 -0.855433
- txt003
-STRI
- V0 3.14444 0.166667 2.4 V1 3 0.1875 2.4 V2 3.06858 0.181944 2.43581
- N0 0.250514 0.801644 -0.54278 N1 0 1 -0 N2 -0.00489618 0.939227 0.343261
- txt003
-STRI
- V0 3.06858 0.181944 2.43581 V1 3.22241 0.161728 2.438 V2 3.14444 0.166667 2.4
- N0 -0.00489618 0.939227 0.343261 N1 0.269127 0.933284 -0.237808 N2 0.250514 0.801644 -0.54278
- txt003
-STRI
- V0 3 0.1875 2.4 V1 2.85556 0.166667 2.4 V2 2.91474 0.161728 2.43361
- N0 0 1 -0 N1 -0.267368 0.855576 0.443288 N2 -0.215548 0.724209 0.655027
- txt003
-STRI
- V0 2.91474 0.161728 2.43361 V1 3.06858 0.181944 2.43581 V2 3 0.1875 2.4
- N0 -0.215548 0.724209 0.655027 N1 -0.00489618 0.939227 0.343261 N2 0 1 -0
- txt003
-STRI
- V0 2.85556 0.166667 2.4 V1 2.74444 0.104167 2.4 V2 2.79641 0.10108 2.43193
- N0 -0.267368 0.855576 0.443288 N1 -0.497164 0.497164 0.711095 N2 -0.387052 0.411886 0.824949
- txt003
-STRI
- V0 2.79641 0.10108 2.43193 V1 2.91474 0.161728 2.43361 V2 2.85556 0.166667 2.4
- N0 -0.387052 0.411886 0.824949 N1 -0.215548 0.724209 0.655027 N2 -0.267368 0.855576 0.443288
- txt003
-STRI
- V0 2.74444 0.104167 2.4 V1 2.7 0 2.4 V2 2.74907 0 2.43125
- N0 -0.497164 0.497164 0.711095 N1 -0.6 2.24387e-29 0.8 N2 -0.467888 -4.75841e-16 0.883788
- txt003
-STRI
- V0 2.74907 0 2.43125 V1 2.79641 0.10108 2.43193 V2 2.74444 0.104167 2.4
- N0 -0.467888 -4.75841e-16 0.883788 N1 -0.387052 0.411886 0.824949 N2 -0.497164 0.497164 0.711095
- txt003
-STRI
- V0 3.38808 0 2.44036 V1 3.34075 0.10108 2.43969 V2 3.38244 0.0933642 2.46543
- N0 0.463425 0 -0.886136 N1 0.442187 0.473386 -0.761824 N2 0.612385 0.714958 -0.337372
- txt003
-STRI
- V0 3.38244 0.0933642 2.46543 V1 3.42963 0 2.46667 V2 3.38808 0 2.44036
- N0 0.612385 0.714958 -0.337372 N1 0.694136 0 -0.719844 N2 0.463425 0 -0.886136
- txt003
-STRI
- V0 3.34075 0.10108 2.43969 V1 3.22241 0.161728 2.438 V2 3.26447 0.149383 2.46235
- N0 0.442187 0.473386 -0.761824 N1 0.269127 0.933284 -0.237808 N2 0.218115 0.87054 0.44112
- txt003
-STRI
- V0 3.26447 0.149383 2.46235 V1 3.38244 0.0933642 2.46543 V2 3.34075 0.10108 2.43969
- N0 0.218115 0.87054 0.44112 N1 0.612385 0.714958 -0.337372 N2 0.442187 0.473386 -0.761824
- txt003
-STRI
- V0 3.22241 0.161728 2.438 V1 3.06858 0.181944 2.43581 V2 3.11111 0.168056 2.45833
- N0 0.269127 0.933284 -0.237808 N1 -0.00489618 0.939227 0.343261 N2 -0.0195232 0.665415 0.746219
- txt003
-STRI
- V0 3.11111 0.168056 2.45833 V1 3.26447 0.149383 2.46235 V2 3.22241 0.161728 2.438
- N0 -0.0195232 0.665415 0.746219 N1 0.218115 0.87054 0.44112 N2 0.269127 0.933284 -0.237808
- txt003
-STRI
- V0 3.06858 0.181944 2.43581 V1 2.91474 0.161728 2.43361 V2 2.95775 0.149383 2.45432
- N0 -0.00489618 0.939227 0.343261 N1 -0.215548 0.724209 0.655027 N2 -0.14959 0.481391 0.863647
- txt003
-STRI
- V0 2.95775 0.149383 2.45432 V1 3.11111 0.168056 2.45833 V2 3.06858 0.181944 2.43581
- N0 -0.14959 0.481391 0.863647 N1 -0.0195232 0.665415 0.746219 N2 -0.00489618 0.939227 0.343261
- txt003
-STRI
- V0 2.91474 0.161728 2.43361 V1 2.79641 0.10108 2.43193 V2 2.83978 0.0933642 2.45123
- N0 -0.215548 0.724209 0.655027 N1 -0.387052 0.411886 0.824949 N2 -0.253997 0.272114 0.928138
- txt003
-STRI
- V0 2.83978 0.0933642 2.45123 V1 2.95775 0.149383 2.45432 V2 2.91474 0.161728 2.43361
- N0 -0.253997 0.272114 0.928138 N1 -0.14959 0.481391 0.863647 N2 -0.215548 0.724209 0.655027
- txt003
-STRI
- V0 2.79641 0.10108 2.43193 V1 2.74907 0 2.43125 V2 2.79259 0 2.45
- N0 -0.387052 0.411886 0.824949 N1 -0.467888 -4.75841e-16 0.883788 N2 -0.306009 -1.09783e-15 0.952029
- txt003
-STRI
- V0 2.79259 0 2.45 V1 2.83978 0.0933642 2.45123 V2 2.79641 0.10108 2.43193
- N0 -0.306009 -1.09783e-15 0.952029 N1 -0.253997 0.272114 0.928138 N2 -0.387052 0.411886 0.824949
- txt003
-STRI
- V0 3.42963 0 2.46667 V1 3.38244 0.0933642 2.46543 V2 3.38345 0.0833333 2.47578
- N0 0.694136 0 -0.719844 N1 0.612385 0.714958 -0.337372 N2 0.0539577 0.111406 0.992309
- txt003
-STRI
- V0 3.38345 0.0833333 2.47578 V1 3.42813 0 2.47734 V2 3.42963 0 2.46667
- N0 0.0539577 0.111406 0.992309 N1 0.106533 -0 0.994309 N2 0.694136 0 -0.719844
- txt003
-STRI
- V0 3.38244 0.0933642 2.46543 V1 3.26447 0.149383 2.46235 V2 3.27176 0.133333 2.47188
- N0 0.612385 0.714958 -0.337372 N1 0.218115 0.87054 0.44112 N2 -0.00787186 0.108144 0.994104
- txt003
-STRI
- V0 3.27176 0.133333 2.47188 V1 3.38345 0.0833333 2.47578 V2 3.38244 0.0933642 2.46543
- N0 -0.00787186 0.108144 0.994104 N1 0.0539577 0.111406 0.992309 N2 0.612385 0.714958 -0.337372
- txt003
-STRI
- V0 3.26447 0.149383 2.46235 V1 3.11111 0.168056 2.45833 V2 3.12656 0.15 2.4668
- N0 0.218115 0.87054 0.44112 N1 -0.0195232 0.665415 0.746219 N2 -0.0348909 0.0594438 0.997622
- txt003
-STRI
- V0 3.12656 0.15 2.4668 V1 3.27176 0.133333 2.47188 V2 3.26447 0.149383 2.46235
- N0 -0.0348909 0.0594438 0.997622 N1 -0.00787186 0.108144 0.994104 N2 0.218115 0.87054 0.44112
- txt003
-STRI
- V0 3.11111 0.168056 2.45833 V1 2.95775 0.149383 2.45432 V2 2.98137 0.133333 2.46172
- N0 -0.0195232 0.665415 0.746219 N1 -0.14959 0.481391 0.863647 N2 -0.0369301 0.00796532 0.999286
- txt003
-STRI
- V0 2.98137 0.133333 2.46172 V1 3.12656 0.15 2.4668 V2 3.11111 0.168056 2.45833
- N0 -0.0369301 0.00796532 0.999286 N1 -0.0348909 0.0594438 0.997622 N2 -0.0195232 0.665415 0.746219
- txt003
-STRI
- V0 2.95775 0.149383 2.45432 V1 2.83978 0.0933642 2.45123 V2 2.86968 0.0833333 2.45781
- N0 -0.14959 0.481391 0.863647 N1 -0.253997 0.272114 0.928138 N2 -0.0182321 -0.0210195 0.999613
- txt003
-STRI
- V0 2.86968 0.0833333 2.45781 V1 2.98137 0.133333 2.46172 V2 2.95775 0.149383 2.45432
- N0 -0.0182321 -0.0210195 0.999613 N1 -0.0369301 0.00796532 0.999286 N2 -0.14959 0.481391 0.863647
- txt003
-STRI
- V0 2.83978 0.0933642 2.45123 V1 2.79259 0 2.45 V2 2.825 0 2.45625
- N0 -0.253997 0.272114 0.928138 N1 -0.306009 -1.09783e-15 0.952029 N2 2.22045e-15 -2.22045e-15 1
- txt003
-STRI
- V0 2.825 0 2.45625 V1 2.86968 0.0833333 2.45781 V2 2.83978 0.0933642 2.45123
- N0 2.22045e-15 -2.22045e-15 1 N1 -0.0182321 -0.0210195 0.999613 N2 -0.253997 0.272114 0.928138
- txt003
-STRI
- V0 3.42813 0 2.47734 V1 3.38345 0.0833333 2.47578 V2 3.34657 0.0733025 2.46929
- N0 0.106533 -0 0.994309 N1 0.0539577 0.111406 0.992309 N2 -0.223743 -0.242919 0.943891
- txt003
-STRI
- V0 3.34657 0.0733025 2.46929 V1 3.38704 0 2.47083 V2 3.42813 0 2.47734
- N0 -0.223743 -0.242919 0.943891 N1 -0.253109 0 0.967438 N2 0.106533 -0 0.994309
- txt003
-STRI
- V0 3.38345 0.0833333 2.47578 V1 3.27176 0.133333 2.47188 V2 3.2454 0.117284 2.46543
- N0 0.0539577 0.111406 0.992309 N1 -0.00787186 0.108144 0.994104 N2 -0.144371 -0.459364 0.876437
- txt003
-STRI
- V0 3.2454 0.117284 2.46543 V1 3.34657 0.0733025 2.46929 V2 3.38345 0.0833333 2.47578
- N0 -0.144371 -0.459364 0.876437 N1 -0.223743 -0.242919 0.943891 N2 0.0539577 0.111406 0.992309
- txt003
-STRI
- V0 3.27176 0.133333 2.47188 V1 3.12656 0.15 2.4668 V2 3.11389 0.131944 2.46042
- N0 -0.00787186 0.108144 0.994104 N1 -0.0348909 0.0594438 0.997622 N2 -0.0300305 -0.615625 0.787467
- txt003
-STRI
- V0 3.11389 0.131944 2.46042 V1 3.2454 0.117284 2.46543 V2 3.27176 0.133333 2.47188
- N0 -0.0300305 -0.615625 0.787467 N1 -0.144371 -0.459364 0.876437 N2 -0.00787186 0.108144 0.994104
- txt003
-STRI
- V0 3.12656 0.15 2.4668 V1 2.98137 0.133333 2.46172 V2 2.98237 0.117284 2.4554
- N0 -0.0348909 0.0594438 0.997622 N1 -0.0369301 0.00796532 0.999286 N2 0.148477 -0.721529 0.676277
- txt003
-STRI
- V0 2.98237 0.117284 2.4554 V1 3.11389 0.131944 2.46042 V2 3.12656 0.15 2.4668
- N0 0.148477 -0.721529 0.676277 N1 -0.0300305 -0.615625 0.787467 N2 -0.0348909 0.0594438 0.997622
- txt003
-STRI
- V0 2.98137 0.133333 2.46172 V1 2.86968 0.0833333 2.45781 V2 2.88121 0.0733025 2.45154
- N0 -0.0369301 0.00796532 0.999286 N1 -0.0182321 -0.0210195 0.999613 N2 0.507715 -0.682832 0.525324
- txt003
-STRI
- V0 2.88121 0.0733025 2.45154 V1 2.98237 0.117284 2.4554 V2 2.98137 0.133333 2.46172
- N0 0.507715 -0.682832 0.525324 N1 0.148477 -0.721529 0.676277 N2 -0.0369301 0.00796532 0.999286
- txt003
-STRI
- V0 2.86968 0.0833333 2.45781 V1 2.825 0 2.45625 V2 2.84074 0 2.45
- N0 -0.0182321 -0.0210195 0.999613 N1 2.22045e-15 -2.22045e-15 1 N2 0.913812 -4.13289e-15 0.406138
- txt003
-STRI
- V0 2.84074 0 2.45 V1 2.88121 0.0733025 2.45154 V2 2.86968 0.0833333 2.45781
- N0 0.913812 -4.13289e-15 0.406138 N1 0.507715 -0.682832 0.525324 N2 -0.0182321 -0.0210195 0.999613
- txt003
-STRI
- V0 3.38704 0 2.47083 V1 3.34657 0.0733025 2.46929 V2 3.27461 0.0655864 2.44451
- N0 -0.253109 0 0.967438 N1 -0.223743 -0.242919 0.943891 N2 -0.316294 -0.364979 0.875641
- txt003
-STRI
- V0 3.27461 0.0655864 2.44451 V1 3.30984 0 2.44557 V2 3.38704 0 2.47083
- N0 -0.316294 -0.364979 0.875641 N1 -0.349987 0 0.936755 N2 -0.253109 0 0.967438
- txt003
-STRI
- V0 3.34657 0.0733025 2.46929 V1 3.2454 0.117284 2.46543 V2 3.18654 0.104938 2.44186
- N0 -0.223743 -0.242919 0.943891 N1 -0.144371 -0.459364 0.876437 N2 -0.199105 -0.721639 0.663019
- txt003
-STRI
- V0 3.18654 0.104938 2.44186 V1 3.27461 0.0655864 2.44451 V2 3.34657 0.0733025 2.46929
- N0 -0.199105 -0.721639 0.663019 N1 -0.316294 -0.364979 0.875641 N2 -0.223743 -0.242919 0.943891
- txt003
-STRI
- V0 3.2454 0.117284 2.46543 V1 3.11389 0.131944 2.46042 V2 3.07205 0.118056 2.43841
- N0 -0.144371 -0.459364 0.876437 N1 -0.0300305 -0.615625 0.787467 N2 -0.0103804 -0.938666 0.344672
- txt003
-STRI
- V0 3.07205 0.118056 2.43841 V1 3.18654 0.104938 2.44186 V2 3.2454 0.117284 2.46543
- N0 -0.0103804 -0.938666 0.344672 N1 -0.199105 -0.721639 0.663019 N2 -0.144371 -0.459364 0.876437
- txt003
-STRI
- V0 3.11389 0.131944 2.46042 V1 2.98237 0.117284 2.4554 V2 2.95756 0.104938 2.43496
- N0 -0.0300305 -0.615625 0.787467 N1 0.148477 -0.721529 0.676277 N2 0.241288 -0.970358 -0.0136399
- txt003
-STRI
- V0 2.95756 0.104938 2.43496 V1 3.07205 0.118056 2.43841 V2 3.11389 0.131944 2.46042
- N0 0.241288 -0.970358 -0.0136399 N1 -0.0103804 -0.938666 0.344672 N2 -0.0300305 -0.615625 0.787467
- txt003
-STRI
- V0 2.98237 0.117284 2.4554 V1 2.88121 0.0733025 2.45154 V2 2.86949 0.0655864 2.43231
- N0 0.148477 -0.721529 0.676277 N1 0.507715 -0.682832 0.525324 N2 0.577416 -0.711734 -0.400031
- txt003
-STRI
- V0 2.86949 0.0655864 2.43231 V1 2.95756 0.104938 2.43496 V2 2.98237 0.117284 2.4554
- N0 0.577416 -0.711734 -0.400031 N1 0.241288 -0.970358 -0.0136399 N2 0.148477 -0.721529 0.676277
- txt003
-STRI
- V0 2.88121 0.0733025 2.45154 V1 2.84074 0 2.45 V2 2.83426 0 2.43125
- N0 0.507715 -0.682832 0.525324 N1 0.913812 -4.13289e-15 0.406138 N2 0.789352 -1.30938e-15 -0.613941
- txt003
-STRI
- V0 2.83426 0 2.43125 V1 2.86949 0.0655864 2.43231 V2 2.88121 0.0733025 2.45154
- N0 0.789352 -1.30938e-15 -0.613941 N1 0.577416 -0.711734 -0.400031 N2 0.507715 -0.682832 0.525324
- txt003
-STRI
- V0 3.30984 0 2.44557 V1 3.27461 0.0655864 2.44451 V2 3.17037 0.0625 2.4
- N0 -0.349987 0 0.936755 N1 -0.316294 -0.364979 0.875641 N2 -0.378646 -0.420717 0.824393
- txt003
-STRI
- V0 3.17037 0.0625 2.4 V1 3.2 0 2.4 V2 3.30984 0 2.44557
- N0 -0.378646 -0.420717 0.824393 N1 -0.410365 0 0.911922 N2 -0.349987 0 0.936755
- txt003
-STRI
- V0 3.27461 0.0655864 2.44451 V1 3.18654 0.104938 2.44186 V2 3.0963 0.1 2.4
- N0 -0.316294 -0.364979 0.875641 N1 -0.199105 -0.721639 0.663019 N2 -0.236617 -0.841304 0.486024
- txt003
-STRI
- V0 3.0963 0.1 2.4 V1 3.17037 0.0625 2.4 V2 3.27461 0.0655864 2.44451
- N0 -0.236617 -0.841304 0.486024 N1 -0.378646 -0.420717 0.824393 N2 -0.316294 -0.364979 0.875641
- txt003
-STRI
- V0 3.18654 0.104938 2.44186 V1 3.07205 0.118056 2.43841 V2 3 0.1125 2.4
- N0 -0.199105 -0.721639 0.663019 N1 -0.0103804 -0.938666 0.344672 N2 0 -1 0
- txt003
-STRI
- V0 3 0.1125 2.4 V1 3.0963 0.1 2.4 V2 3.18654 0.104938 2.44186
- N0 0 -1 0 N1 -0.236617 -0.841304 0.486024 N2 -0.199105 -0.721639 0.663019
- txt003
-STRI
- V0 3.07205 0.118056 2.43841 V1 2.95756 0.104938 2.43496 V2 2.9037 0.1 2.4
- N0 -0.0103804 -0.938666 0.344672 N1 0.241288 -0.970358 -0.0136399 N2 0.247465 -0.879877 -0.405681
- txt003
-STRI
- V0 2.9037 0.1 2.4 V1 3 0.1125 2.4 V2 3.07205 0.118056 2.43841
- N0 0.247465 -0.879877 -0.405681 N1 0 -1 0 N2 -0.0103804 -0.938666 0.344672
- txt003
-STRI
- V0 2.95756 0.104938 2.43496 V1 2.86949 0.0655864 2.43231 V2 2.82963 0.0625 2.4
- N0 0.241288 -0.970358 -0.0136399 N1 0.577416 -0.711734 -0.400031 N2 0.483629 -0.537366 -0.690899
- txt003
-STRI
- V0 2.82963 0.0625 2.4 V1 2.9037 0.1 2.4 V2 2.95756 0.104938 2.43496
- N0 0.483629 -0.537366 -0.690899 N1 0.247465 -0.879877 -0.405681 N2 0.241288 -0.970358 -0.0136399
- txt003
-STRI
- V0 2.86949 0.0655864 2.43231 V1 2.83426 0 2.43125 V2 2.8 0 2.4
- N0 0.577416 -0.711734 -0.400031 N1 0.789352 -1.30938e-15 -0.613941 N2 0.6 -3.73979e-29 -0.8
- txt003
-STRI
- V0 2.8 0 2.4 V1 2.82963 0.0625 2.4 V2 2.86949 0.0655864 2.43231
- N0 0.6 -3.73979e-29 -0.8 N1 0.483629 -0.537366 -0.690899 N2 0.577416 -0.711734 -0.400031
- txt003
-STRI
- V0 0.268946 -0.0750782 3.12708 V1 0.278704 0 3.12708 V2 0 0 3.15
- N0 0.241077 -0.0645609 0.968356 N1 0.249998 0 0.968246 N2 0 0 1
- txt003
-STRI
- V0 0.241285 -0.141931 3.12708 V1 0.268946 -0.0750782 3.12708 V2 0 0 3.15
- N0 0.215548 -0.124615 0.968509 N1 0.241077 -0.0645609 0.968356 N2 0 0 1
- txt003
-STRI
- V0 0.19814 -0.19814 3.12708 V1 0.241285 -0.141931 3.12708 V2 0 0 3.15
- N0 0.175885 -0.175885 0.96857 N1 0.215548 -0.124615 0.968509 N2 0 0 1
- txt003
-STRI
- V0 0.141931 -0.241285 3.12708 V1 0.19814 -0.19814 3.12708 V2 0 0 3.15
- N0 0.124615 -0.215548 0.968509 N1 0.175885 -0.175885 0.96857 N2 0 0 1
- txt003
-STRI
- V0 0.0750782 -0.268946 3.12708 V1 0.141931 -0.241285 3.12708 V2 0 0 3.15
- N0 0.0645609 -0.241077 0.968356 N1 0.124615 -0.215548 0.968509 N2 0 0 1
- txt003
-STRI
- V0 0 -0.278704 3.12708 V1 0.0750782 -0.268946 3.12708 V2 0 0 3.15
- N0 -2.80184e-15 -0.249998 0.968246 N1 0.0645609 -0.241077 0.968356 N2 0 0 1
- txt003
-STRI
- V0 0.278704 0 3.12708 V1 0.268946 -0.0750782 3.12708 V2 0.350254 -0.0977709 3.06667
- N0 0.249998 0 0.968246 N1 0.241077 -0.0645609 0.968356 N2 0.955496 -0.255913 0.146755
- txt003
-STRI
- V0 0.350254 -0.0977709 3.06667 V1 0.362963 0 3.06667 V2 0.278704 0 3.12708
- N0 0.955496 -0.255913 0.146755 N1 0.989203 0 0.146549 N2 0.249998 0 0.968246
- txt003
-STRI
- V0 0.268946 -0.0750782 3.12708 V1 0.241285 -0.141931 3.12708 V2 0.314228 -0.184834 3.06667
- N0 0.241077 -0.0645609 0.968356 N1 0.215548 -0.124615 0.968509 N2 0.856312 -0.495088 0.147029
- txt003
-STRI
- V0 0.314228 -0.184834 3.06667 V1 0.350254 -0.0977709 3.06667 V2 0.268946 -0.0750782 3.12708
- N0 0.856312 -0.495088 0.147029 N1 0.955496 -0.255913 0.146755 N2 0.241077 -0.0645609 0.968356
- txt003
-STRI
- V0 0.241285 -0.141931 3.12708 V1 0.19814 -0.19814 3.12708 V2 0.258037 -0.258037 3.06667
- N0 0.215548 -0.124615 0.968509 N1 0.175885 -0.175885 0.96857 N2 0.699411 -0.699411 0.147135
- txt003
-STRI
- V0 0.258037 -0.258037 3.06667 V1 0.314228 -0.184834 3.06667 V2 0.241285 -0.141931 3.12708
- N0 0.699411 -0.699411 0.147135 N1 0.856312 -0.495088 0.147029 N2 0.215548 -0.124615 0.968509
- txt003
-STRI
- V0 0.19814 -0.19814 3.12708 V1 0.141931 -0.241285 3.12708 V2 0.184834 -0.314228 3.06667
- N0 0.175885 -0.175885 0.96857 N1 0.124615 -0.215548 0.968509 N2 0.495088 -0.856312 0.147029
- txt003
-STRI
- V0 0.184834 -0.314228 3.06667 V1 0.258037 -0.258037 3.06667 V2 0.19814 -0.19814 3.12708
- N0 0.495088 -0.856312 0.147029 N1 0.699411 -0.699411 0.147135 N2 0.175885 -0.175885 0.96857
- txt003
-STRI
- V0 0.141931 -0.241285 3.12708 V1 0.0750782 -0.268946 3.12708 V2 0.0977709 -0.350254 3.06667
- N0 0.124615 -0.215548 0.968509 N1 0.0645609 -0.241077 0.968356 N2 0.255913 -0.955496 0.146755
- txt003
-STRI
- V0 0.0977709 -0.350254 3.06667 V1 0.184834 -0.314228 3.06667 V2 0.141931 -0.241285 3.12708
- N0 0.255913 -0.955496 0.146755 N1 0.495088 -0.856312 0.147029 N2 0.124615 -0.215548 0.968509
- txt003
-STRI
- V0 0.0750782 -0.268946 3.12708 V1 0 -0.278704 3.12708 V2 0 -0.362963 3.06667
- N0 0.0645609 -0.241077 0.968356 N1 -2.80184e-15 -0.249998 0.968246 N2 -4.98112e-16 -0.989203 0.146549
- txt003
-STRI
- V0 0 -0.362963 3.06667 V1 0.0977709 -0.350254 3.06667 V2 0.0750782 -0.268946 3.12708
- N0 -4.98112e-16 -0.989203 0.146549 N1 0.255913 -0.955496 0.146755 N2 0.0645609 -0.241077 0.968356
- txt003
-STRI
- V0 0.362963 0 3.06667 V1 0.350254 -0.0977709 3.06667 V2 0.313617 -0.0875289 2.98125
- N0 0.989203 0 0.146549 N1 0.955496 -0.255913 0.146755 N2 0.753688 -0.201937 -0.625441
- txt003
-STRI
- V0 0.313617 -0.0875289 2.98125 V1 0.325 0 2.98125 V2 0.362963 0 3.06667
- N0 0.753688 -0.201937 -0.625441 N1 0.780869 0 -0.624695 N2 0.989203 0 0.146549
- txt003
-STRI
- V0 0.350254 -0.0977709 3.06667 V1 0.314228 -0.184834 3.06667 V2 0.281352 -0.165481 2.98125
- N0 0.955496 -0.255913 0.146755 N1 0.856312 -0.495088 0.147029 N2 0.674735 -0.390178 -0.626493
- txt003
-STRI
- V0 0.281352 -0.165481 2.98125 V1 0.313617 -0.0875289 2.98125 V2 0.350254 -0.0977709 3.06667
- N0 0.674735 -0.390178 -0.626493 N1 0.753688 -0.201937 -0.625441 N2 0.955496 -0.255913 0.146755
- txt003
-STRI
- V0 0.314228 -0.184834 3.06667 V1 0.258037 -0.258037 3.06667 V2 0.231031 -0.231031 2.98125
- N0 0.856312 -0.495088 0.147029 N1 0.699411 -0.699411 0.147135 N2 0.550896 -0.550896 -0.626919
- txt003
-STRI
- V0 0.231031 -0.231031 2.98125 V1 0.281352 -0.165481 2.98125 V2 0.314228 -0.184834 3.06667
- N0 0.550896 -0.550896 -0.626919 N1 0.674735 -0.390178 -0.626493 N2 0.856312 -0.495088 0.147029
- txt003
-STRI
- V0 0.258037 -0.258037 3.06667 V1 0.184834 -0.314228 3.06667 V2 0.165481 -0.281352 2.98125
- N0 0.699411 -0.699411 0.147135 N1 0.495088 -0.856312 0.147029 N2 0.390178 -0.674735 -0.626493
- txt003
-STRI
- V0 0.165481 -0.281352 2.98125 V1 0.231031 -0.231031 2.98125 V2 0.258037 -0.258037 3.06667
- N0 0.390178 -0.674735 -0.626493 N1 0.550896 -0.550896 -0.626919 N2 0.699411 -0.699411 0.147135
- txt003
-STRI
- V0 0.184834 -0.314228 3.06667 V1 0.0977709 -0.350254 3.06667 V2 0.0875289 -0.313617 2.98125
- N0 0.495088 -0.856312 0.147029 N1 0.255913 -0.955496 0.146755 N2 0.201937 -0.753688 -0.625441
- txt003
-STRI
- V0 0.0875289 -0.313617 2.98125 V1 0.165481 -0.281352 2.98125 V2 0.184834 -0.314228 3.06667
- N0 0.201937 -0.753688 -0.625441 N1 0.390178 -0.674735 -0.626493 N2 0.495088 -0.856312 0.147029
- txt003
-STRI
- V0 0.0977709 -0.350254 3.06667 V1 0 -0.362963 3.06667 V2 -1.11022e-16 -0.325 2.98125
- N0 0.255913 -0.955496 0.146755 N1 -4.98112e-16 -0.989203 0.146549 N2 1.51803e-15 -0.780869 -0.624695
- txt003
-STRI
- V0 -1.11022e-16 -0.325 2.98125 V1 0.0875289 -0.313617 2.98125 V2 0.0977709 -0.350254 3.06667
- N0 1.51803e-15 -0.780869 -0.624695 N1 0.201937 -0.753688 -0.625441 N2 0.255913 -0.955496 0.146755
- txt003
-STRI
- V0 0.325 0 2.98125 V1 0.313617 -0.0875289 2.98125 V2 0.228728 -0.0638032 2.88333
- N0 0.780869 0 -0.624695 N1 0.753688 -0.201937 -0.625441 N2 0.721244 -0.193465 -0.665116
- txt003
-STRI
- V0 0.228728 -0.0638032 2.88333 V1 0.237037 0 2.88333 V2 0.325 0 2.98125
- N0 0.721244 -0.193465 -0.665116 N1 0.747409 0 -0.664364 N2 0.780869 0 -0.624695
- txt003
-STRI
- V0 0.313617 -0.0875289 2.98125 V1 0.281352 -0.165481 2.98125 V2 0.20518 -0.120647 2.88333
- N0 0.753688 -0.201937 -0.625441 N1 0.674735 -0.390178 -0.626493 N2 0.645526 -0.373497 -0.66618
- txt003
-STRI
- V0 0.20518 -0.120647 2.88333 V1 0.228728 -0.0638032 2.88333 V2 0.313617 -0.0875289 2.98125
- N0 0.645526 -0.373497 -0.66618 N1 0.721244 -0.193465 -0.665116 N2 0.753688 -0.201937 -0.625441
- txt003
-STRI
- V0 0.281352 -0.165481 2.98125 V1 0.231031 -0.231031 2.98125 V2 0.168463 -0.168463 2.88333
- N0 0.674735 -0.390178 -0.626493 N1 0.550896 -0.550896 -0.626919 N2 0.527081 -0.527081 -0.666611
- txt003
-STRI
- V0 0.168463 -0.168463 2.88333 V1 0.20518 -0.120647 2.88333 V2 0.281352 -0.165481 2.98125
- N0 0.527081 -0.527081 -0.666611 N1 0.645526 -0.373497 -0.66618 N2 0.674735 -0.390178 -0.626493
- txt003
-STRI
- V0 0.231031 -0.231031 2.98125 V1 0.165481 -0.281352 2.98125 V2 0.120647 -0.20518 2.88333
- N0 0.550896 -0.550896 -0.626919 N1 0.390178 -0.674735 -0.626493 N2 0.373497 -0.645526 -0.66618
- txt003
-STRI
- V0 0.120647 -0.20518 2.88333 V1 0.168463 -0.168463 2.88333 V2 0.231031 -0.231031 2.98125
- N0 0.373497 -0.645526 -0.66618 N1 0.527081 -0.527081 -0.666611 N2 0.550896 -0.550896 -0.626919
- txt003
-STRI
- V0 0.165481 -0.281352 2.98125 V1 0.0875289 -0.313617 2.98125 V2 0.0638032 -0.228728 2.88333
- N0 0.390178 -0.674735 -0.626493 N1 0.201937 -0.753688 -0.625441 N2 0.193465 -0.721244 -0.665116
- txt003
-STRI
- V0 0.0638032 -0.228728 2.88333 V1 0.120647 -0.20518 2.88333 V2 0.165481 -0.281352 2.98125
- N0 0.193465 -0.721244 -0.665116 N1 0.373497 -0.645526 -0.66618 N2 0.390178 -0.674735 -0.626493
- txt003
-STRI
- V0 0.0875289 -0.313617 2.98125 V1 -1.11022e-16 -0.325 2.98125 V2 -1.11022e-16 -0.237037 2.88333
- N0 0.201937 -0.753688 -0.625441 N1 1.51803e-15 -0.780869 -0.624695 N2 2.42292e-15 -0.747409 -0.664364
- txt003
-STRI
- V0 -1.11022e-16 -0.237037 2.88333 V1 0.0638032 -0.228728 2.88333 V2 0.0875289 -0.313617 2.98125
- N0 2.42292e-15 -0.747409 -0.664364 N1 0.193465 -0.721244 -0.665116 N2 0.201937 -0.753688 -0.625441
- txt003
-STRI
- V0 0.237037 0 2.88333 V1 0.228728 -0.0638032 2.88333 V2 0.165279 -0.0460445 2.78542
- N0 0.747409 0 -0.664364 N1 0.721244 -0.193465 -0.665116 N2 0.917897 -0.246906 -0.310647
- txt003
-STRI
- V0 0.165279 -0.0460445 2.78542 V1 0.171296 0 2.78542 V2 0.237037 0 2.88333
- N0 0.917897 -0.246906 -0.310647 N1 0.950775 0 -0.309882 N2 0.747409 0 -0.664364
- txt003
-STRI
- V0 0.228728 -0.0638032 2.88333 V1 0.20518 -0.120647 2.88333 V2 0.148234 -0.0871056 2.78542
- N0 0.721244 -0.193465 -0.665116 N1 0.645526 -0.373497 -0.66618 N2 0.822132 -0.476337 -0.311772
- txt003
-STRI
- V0 0.148234 -0.0871056 2.78542 V1 0.165279 -0.0460445 2.78542 V2 0.228728 -0.0638032 2.88333
- N0 0.822132 -0.476337 -0.311772 N1 0.917897 -0.246906 -0.310647 N2 0.721244 -0.193465 -0.665116
- txt003
-STRI
- V0 0.20518 -0.120647 2.88333 V1 0.168463 -0.168463 2.88333 V2 0.121672 -0.121672 2.78542
- N0 0.645526 -0.373497 -0.66618 N1 0.527081 -0.527081 -0.666611 N2 0.671754 -0.671754 -0.312241
- txt003
-STRI
- V0 0.121672 -0.121672 2.78542 V1 0.148234 -0.0871056 2.78542 V2 0.20518 -0.120647 2.88333
- N0 0.671754 -0.671754 -0.312241 N1 0.822132 -0.476337 -0.311772 N2 0.645526 -0.373497 -0.66618
- txt003
-STRI
- V0 0.168463 -0.168463 2.88333 V1 0.120647 -0.20518 2.88333 V2 0.0871056 -0.148234 2.78542
- N0 0.527081 -0.527081 -0.666611 N1 0.373497 -0.645526 -0.66618 N2 0.476337 -0.822132 -0.311772
- txt003
-STRI
- V0 0.0871056 -0.148234 2.78542 V1 0.121672 -0.121672 2.78542 V2 0.168463 -0.168463 2.88333
- N0 0.476337 -0.822132 -0.311772 N1 0.671754 -0.671754 -0.312241 N2 0.527081 -0.527081 -0.666611
- txt003
-STRI
- V0 0.120647 -0.20518 2.88333 V1 0.0638032 -0.228728 2.88333 V2 0.0460445 -0.165279 2.78542
- N0 0.373497 -0.645526 -0.66618 N1 0.193465 -0.721244 -0.665116 N2 0.246906 -0.917897 -0.310647
- txt003
-STRI
- V0 0.0460445 -0.165279 2.78542 V1 0.0871056 -0.148234 2.78542 V2 0.120647 -0.20518 2.88333
- N0 0.246906 -0.917897 -0.310647 N1 0.476337 -0.822132 -0.311772 N2 0.373497 -0.645526 -0.66618
- txt003
-STRI
- V0 0.0638032 -0.228728 2.88333 V1 -1.11022e-16 -0.237037 2.88333 V2 -6.66134e-16 -0.171296 2.78542
- N0 0.193465 -0.721244 -0.665116 N1 2.42292e-15 -0.747409 -0.664364 N2 2.16507e-15 -0.950775 -0.309882
- txt003
-STRI
- V0 -6.66134e-16 -0.171296 2.78542 V1 0.0460445 -0.165279 2.78542 V2 0.0638032 -0.228728 2.88333
- N0 2.16507e-15 -0.950775 -0.309882 N1 0.246906 -0.917897 -0.310647 N2 0.193465 -0.721244 -0.665116
- txt003
-STRI
- V0 0.171296 0 2.78542 V1 0.165279 -0.0460445 2.78542 V2 0.192963 -0.0537037 2.7
- N0 0.950775 0 -0.309882 N1 0.917897 -0.246906 -0.310647 N2 0.578783 -0.15602 0.800417
- txt003
-STRI
- V0 0.192963 -0.0537037 2.7 V1 0.2 0 2.7 V2 0.171296 0 2.78542
- N0 0.578783 -0.15602 0.800417 N1 0.6 0 0.8 N2 0.950775 0 -0.309882
- txt003
-STRI
- V0 0.165279 -0.0460445 2.78542 V1 0.148234 -0.0871056 2.78542 V2 0.173037 -0.10163 2.7
- N0 0.917897 -0.246906 -0.310647 N1 0.822132 -0.476337 -0.311772 N2 0.517905 -0.300385 0.800964
- txt003
-STRI
- V0 0.173037 -0.10163 2.7 V1 0.192963 -0.0537037 2.7 V2 0.165279 -0.0460445 2.78542
- N0 0.517905 -0.300385 0.800964 N1 0.578783 -0.15602 0.800417 N2 0.917897 -0.246906 -0.310647
- txt003
-STRI
- V0 0.148234 -0.0871056 2.78542 V1 0.121672 -0.121672 2.78542 V2 0.142 -0.142 2.7
- N0 0.822132 -0.476337 -0.311772 N1 0.671754 -0.671754 -0.312241 N2 0.423155 -0.423155 0.801174
- txt003
-STRI
- V0 0.142 -0.142 2.7 V1 0.173037 -0.10163 2.7 V2 0.148234 -0.0871056 2.78542
- N0 0.423155 -0.423155 0.801174 N1 0.517905 -0.300385 0.800964 N2 0.822132 -0.476337 -0.311772
- txt003
-STRI
- V0 0.121672 -0.121672 2.78542 V1 0.0871056 -0.148234 2.78542 V2 0.10163 -0.173037 2.7
- N0 0.671754 -0.671754 -0.312241 N1 0.476337 -0.822132 -0.311772 N2 0.300385 -0.517905 0.800964
- txt003
-STRI
- V0 0.10163 -0.173037 2.7 V1 0.142 -0.142 2.7 V2 0.121672 -0.121672 2.78542
- N0 0.300385 -0.517905 0.800964 N1 0.423155 -0.423155 0.801174 N2 0.671754 -0.671754 -0.312241
- txt003
-STRI
- V0 0.0871056 -0.148234 2.78542 V1 0.0460445 -0.165279 2.78542 V2 0.0537037 -0.192963 2.7
- N0 0.476337 -0.822132 -0.311772 N1 0.246906 -0.917897 -0.310647 N2 0.15602 -0.578783 0.800417
- txt003
-STRI
- V0 0.0537037 -0.192963 2.7 V1 0.10163 -0.173037 2.7 V2 0.0871056 -0.148234 2.78542
- N0 0.15602 -0.578783 0.800417 N1 0.300385 -0.517905 0.800964 N2 0.476337 -0.822132 -0.311772
- txt003
-STRI
- V0 0.0460445 -0.165279 2.78542 V1 -6.66134e-16 -0.171296 2.78542 V2 0 -0.2 2.7
- N0 0.246906 -0.917897 -0.310647 N1 2.16507e-15 -0.950775 -0.309882 N2 -3.17207e-15 -0.6 0.8
- txt003
-STRI
- V0 0 -0.2 2.7 V1 0.0537037 -0.192963 2.7 V2 0.0460445 -0.165279 2.78542
- N0 -3.17207e-15 -0.6 0.8 N1 0.15602 -0.578783 0.800417 N2 0.246906 -0.917897 -0.310647
- txt003
-STRI
- V0 -0.0750782 -0.268946 3.12708 V1 0 -0.278704 3.12708 V2 0 0 3.15
- N0 -0.0645609 -0.241077 0.968356 N1 0 -0.249998 0.968246 N2 0 0 1
- txt003
-STRI
- V0 -0.141931 -0.241285 3.12708 V1 -0.0750782 -0.268946 3.12708 V2 0 0 3.15
- N0 -0.124615 -0.215548 0.968509 N1 -0.0645609 -0.241077 0.968356 N2 0 0 1
- txt003
-STRI
- V0 -0.19814 -0.19814 3.12708 V1 -0.141931 -0.241285 3.12708 V2 0 0 3.15
- N0 -0.175885 -0.175885 0.96857 N1 -0.124615 -0.215548 0.968509 N2 0 0 1
- txt003
-STRI
- V0 -0.241285 -0.141931 3.12708 V1 -0.19814 -0.19814 3.12708 V2 0 0 3.15
- N0 -0.215548 -0.124615 0.968509 N1 -0.175885 -0.175885 0.96857 N2 0 0 1
- txt003
-STRI
- V0 -0.268946 -0.0750782 3.12708 V1 -0.241285 -0.141931 3.12708 V2 0 0 3.15
- N0 -0.241077 -0.0645609 0.968356 N1 -0.215548 -0.124615 0.968509 N2 0 0 1
- txt003
-STRI
- V0 -0.278704 0 3.12708 V1 -0.268946 -0.0750782 3.12708 V2 0 0 3.15
- N0 -0.249998 2.80184e-15 0.968246 N1 -0.241077 -0.0645609 0.968356 N2 0 0 1
- txt003
-STRI
- V0 0 -0.278704 3.12708 V1 -0.0750782 -0.268946 3.12708 V2 -0.0977709 -0.350254 3.06667
- N0 0 -0.249998 0.968246 N1 -0.0645609 -0.241077 0.968356 N2 -0.255913 -0.955496 0.146755
- txt003
-STRI
- V0 -0.0977709 -0.350254 3.06667 V1 0 -0.362963 3.06667 V2 0 -0.278704 3.12708
- N0 -0.255913 -0.955496 0.146755 N1 0 -0.989203 0.146549 N2 0 -0.249998 0.968246
- txt003
-STRI
- V0 -0.0750782 -0.268946 3.12708 V1 -0.141931 -0.241285 3.12708 V2 -0.184834 -0.314228 3.06667
- N0 -0.0645609 -0.241077 0.968356 N1 -0.124615 -0.215548 0.968509 N2 -0.495088 -0.856312 0.147029
- txt003
-STRI
- V0 -0.184834 -0.314228 3.06667 V1 -0.0977709 -0.350254 3.06667 V2 -0.0750782 -0.268946 3.12708
- N0 -0.495088 -0.856312 0.147029 N1 -0.255913 -0.955496 0.146755 N2 -0.0645609 -0.241077 0.968356
- txt003
-STRI
- V0 -0.141931 -0.241285 3.12708 V1 -0.19814 -0.19814 3.12708 V2 -0.258037 -0.258037 3.06667
- N0 -0.124615 -0.215548 0.968509 N1 -0.175885 -0.175885 0.96857 N2 -0.699411 -0.699411 0.147135
- txt003
-STRI
- V0 -0.258037 -0.258037 3.06667 V1 -0.184834 -0.314228 3.06667 V2 -0.141931 -0.241285 3.12708
- N0 -0.699411 -0.699411 0.147135 N1 -0.495088 -0.856312 0.147029 N2 -0.124615 -0.215548 0.968509
- txt003
-STRI
- V0 -0.19814 -0.19814 3.12708 V1 -0.241285 -0.141931 3.12708 V2 -0.314228 -0.184834 3.06667
- N0 -0.175885 -0.175885 0.96857 N1 -0.215548 -0.124615 0.968509 N2 -0.856312 -0.495088 0.147029
- txt003
-STRI
- V0 -0.314228 -0.184834 3.06667 V1 -0.258037 -0.258037 3.06667 V2 -0.19814 -0.19814 3.12708
- N0 -0.856312 -0.495088 0.147029 N1 -0.699411 -0.699411 0.147135 N2 -0.175885 -0.175885 0.96857
- txt003
-STRI
- V0 -0.241285 -0.141931 3.12708 V1 -0.268946 -0.0750782 3.12708 V2 -0.350254 -0.0977709 3.06667
- N0 -0.215548 -0.124615 0.968509 N1 -0.241077 -0.0645609 0.968356 N2 -0.955496 -0.255913 0.146755
- txt003
-STRI
- V0 -0.350254 -0.0977709 3.06667 V1 -0.314228 -0.184834 3.06667 V2 -0.241285 -0.141931 3.12708
- N0 -0.955496 -0.255913 0.146755 N1 -0.856312 -0.495088 0.147029 N2 -0.215548 -0.124615 0.968509
- txt003
-STRI
- V0 -0.268946 -0.0750782 3.12708 V1 -0.278704 0 3.12708 V2 -0.362963 0 3.06667
- N0 -0.241077 -0.0645609 0.968356 N1 -0.249998 2.80184e-15 0.968246 N2 -0.989203 4.98112e-16 0.146549
- txt003
-STRI
- V0 -0.362963 0 3.06667 V1 -0.350254 -0.0977709 3.06667 V2 -0.268946 -0.0750782 3.12708
- N0 -0.989203 4.98112e-16 0.146549 N1 -0.955496 -0.255913 0.146755 N2 -0.241077 -0.0645609 0.968356
- txt003
-STRI
- V0 0 -0.362963 3.06667 V1 -0.0977709 -0.350254 3.06667 V2 -0.0875289 -0.313617 2.98125
- N0 0 -0.989203 0.146549 N1 -0.255913 -0.955496 0.146755 N2 -0.201937 -0.753688 -0.625441
- txt003
-STRI
- V0 -0.0875289 -0.313617 2.98125 V1 0 -0.325 2.98125 V2 0 -0.362963 3.06667
- N0 -0.201937 -0.753688 -0.625441 N1 -0 -0.780869 -0.624695 N2 0 -0.989203 0.146549
- txt003
-STRI
- V0 -0.0977709 -0.350254 3.06667 V1 -0.184834 -0.314228 3.06667 V2 -0.165481 -0.281352 2.98125
- N0 -0.255913 -0.955496 0.146755 N1 -0.495088 -0.856312 0.147029 N2 -0.390178 -0.674735 -0.626493
- txt003
-STRI
- V0 -0.165481 -0.281352 2.98125 V1 -0.0875289 -0.313617 2.98125 V2 -0.0977709 -0.350254 3.06667
- N0 -0.390178 -0.674735 -0.626493 N1 -0.201937 -0.753688 -0.625441 N2 -0.255913 -0.955496 0.146755
- txt003
-STRI
- V0 -0.184834 -0.314228 3.06667 V1 -0.258037 -0.258037 3.06667 V2 -0.231031 -0.231031 2.98125
- N0 -0.495088 -0.856312 0.147029 N1 -0.699411 -0.699411 0.147135 N2 -0.550896 -0.550896 -0.626919
- txt003
-STRI
- V0 -0.231031 -0.231031 2.98125 V1 -0.165481 -0.281352 2.98125 V2 -0.184834 -0.314228 3.06667
- N0 -0.550896 -0.550896 -0.626919 N1 -0.390178 -0.674735 -0.626493 N2 -0.495088 -0.856312 0.147029
- txt003
-STRI
- V0 -0.258037 -0.258037 3.06667 V1 -0.314228 -0.184834 3.06667 V2 -0.281352 -0.165481 2.98125
- N0 -0.699411 -0.699411 0.147135 N1 -0.856312 -0.495088 0.147029 N2 -0.674735 -0.390178 -0.626493
- txt003
-STRI
- V0 -0.281352 -0.165481 2.98125 V1 -0.231031 -0.231031 2.98125 V2 -0.258037 -0.258037 3.06667
- N0 -0.674735 -0.390178 -0.626493 N1 -0.550896 -0.550896 -0.626919 N2 -0.699411 -0.699411 0.147135
- txt003
-STRI
- V0 -0.314228 -0.184834 3.06667 V1 -0.350254 -0.0977709 3.06667 V2 -0.313617 -0.0875289 2.98125
- N0 -0.856312 -0.495088 0.147029 N1 -0.955496 -0.255913 0.146755 N2 -0.753688 -0.201937 -0.625441
- txt003
-STRI
- V0 -0.313617 -0.0875289 2.98125 V1 -0.281352 -0.165481 2.98125 V2 -0.314228 -0.184834 3.06667
- N0 -0.753688 -0.201937 -0.625441 N1 -0.674735 -0.390178 -0.626493 N2 -0.856312 -0.495088 0.147029
- txt003
-STRI
- V0 -0.350254 -0.0977709 3.06667 V1 -0.362963 0 3.06667 V2 -0.325 1.11022e-16 2.98125
- N0 -0.955496 -0.255913 0.146755 N1 -0.989203 4.98112e-16 0.146549 N2 -0.780869 -1.51803e-15 -0.624695
- txt003
-STRI
- V0 -0.325 1.11022e-16 2.98125 V1 -0.313617 -0.0875289 2.98125 V2 -0.350254 -0.0977709 3.06667
- N0 -0.780869 -1.51803e-15 -0.624695 N1 -0.753688 -0.201937 -0.625441 N2 -0.955496 -0.255913 0.146755
- txt003
-STRI
- V0 0 -0.325 2.98125 V1 -0.0875289 -0.313617 2.98125 V2 -0.0638032 -0.228728 2.88333
- N0 -0 -0.780869 -0.624695 N1 -0.201937 -0.753688 -0.625441 N2 -0.193465 -0.721244 -0.665116
- txt003
-STRI
- V0 -0.0638032 -0.228728 2.88333 V1 0 -0.237037 2.88333 V2 0 -0.325 2.98125
- N0 -0.193465 -0.721244 -0.665116 N1 -0 -0.747409 -0.664364 N2 -0 -0.780869 -0.624695
- txt003
-STRI
- V0 -0.0875289 -0.313617 2.98125 V1 -0.165481 -0.281352 2.98125 V2 -0.120647 -0.20518 2.88333
- N0 -0.201937 -0.753688 -0.625441 N1 -0.390178 -0.674735 -0.626493 N2 -0.373497 -0.645526 -0.66618
- txt003
-STRI
- V0 -0.120647 -0.20518 2.88333 V1 -0.0638032 -0.228728 2.88333 V2 -0.0875289 -0.313617 2.98125
- N0 -0.373497 -0.645526 -0.66618 N1 -0.193465 -0.721244 -0.665116 N2 -0.201937 -0.753688 -0.625441
- txt003
-STRI
- V0 -0.165481 -0.281352 2.98125 V1 -0.231031 -0.231031 2.98125 V2 -0.168463 -0.168463 2.88333
- N0 -0.390178 -0.674735 -0.626493 N1 -0.550896 -0.550896 -0.626919 N2 -0.527081 -0.527081 -0.666611
- txt003
-STRI
- V0 -0.168463 -0.168463 2.88333 V1 -0.120647 -0.20518 2.88333 V2 -0.165481 -0.281352 2.98125
- N0 -0.527081 -0.527081 -0.666611 N1 -0.373497 -0.645526 -0.66618 N2 -0.390178 -0.674735 -0.626493
- txt003
-STRI
- V0 -0.231031 -0.231031 2.98125 V1 -0.281352 -0.165481 2.98125 V2 -0.20518 -0.120647 2.88333
- N0 -0.550896 -0.550896 -0.626919 N1 -0.674735 -0.390178 -0.626493 N2 -0.645526 -0.373497 -0.66618
- txt003
-STRI
- V0 -0.20518 -0.120647 2.88333 V1 -0.168463 -0.168463 2.88333 V2 -0.231031 -0.231031 2.98125
- N0 -0.645526 -0.373497 -0.66618 N1 -0.527081 -0.527081 -0.666611 N2 -0.550896 -0.550896 -0.626919
- txt003
-STRI
- V0 -0.281352 -0.165481 2.98125 V1 -0.313617 -0.0875289 2.98125 V2 -0.228728 -0.0638032 2.88333
- N0 -0.674735 -0.390178 -0.626493 N1 -0.753688 -0.201937 -0.625441 N2 -0.721244 -0.193465 -0.665116
- txt003
-STRI
- V0 -0.228728 -0.0638032 2.88333 V1 -0.20518 -0.120647 2.88333 V2 -0.281352 -0.165481 2.98125
- N0 -0.721244 -0.193465 -0.665116 N1 -0.645526 -0.373497 -0.66618 N2 -0.674735 -0.390178 -0.626493
- txt003
-STRI
- V0 -0.313617 -0.0875289 2.98125 V1 -0.325 1.11022e-16 2.98125 V2 -0.237037 1.11022e-16 2.88333
- N0 -0.753688 -0.201937 -0.625441 N1 -0.780869 -1.51803e-15 -0.624695 N2 -0.747409 -2.42292e-15 -0.664364
- txt003
-STRI
- V0 -0.237037 1.11022e-16 2.88333 V1 -0.228728 -0.0638032 2.88333 V2 -0.313617 -0.0875289 2.98125
- N0 -0.747409 -2.42292e-15 -0.664364 N1 -0.721244 -0.193465 -0.665116 N2 -0.753688 -0.201937 -0.625441
- txt003
-STRI
- V0 0 -0.237037 2.88333 V1 -0.0638032 -0.228728 2.88333 V2 -0.0460445 -0.165279 2.78542
- N0 -0 -0.747409 -0.664364 N1 -0.193465 -0.721244 -0.665116 N2 -0.246906 -0.917897 -0.310647
- txt003
-STRI
- V0 -0.0460445 -0.165279 2.78542 V1 0 -0.171296 2.78542 V2 0 -0.237037 2.88333
- N0 -0.246906 -0.917897 -0.310647 N1 -0 -0.950775 -0.309882 N2 -0 -0.747409 -0.664364
- txt003
-STRI
- V0 -0.0638032 -0.228728 2.88333 V1 -0.120647 -0.20518 2.88333 V2 -0.0871056 -0.148234 2.78542
- N0 -0.193465 -0.721244 -0.665116 N1 -0.373497 -0.645526 -0.66618 N2 -0.476337 -0.822132 -0.311772
- txt003
-STRI
- V0 -0.0871056 -0.148234 2.78542 V1 -0.0460445 -0.165279 2.78542 V2 -0.0638032 -0.228728 2.88333
- N0 -0.476337 -0.822132 -0.311772 N1 -0.246906 -0.917897 -0.310647 N2 -0.193465 -0.721244 -0.665116
- txt003
-STRI
- V0 -0.120647 -0.20518 2.88333 V1 -0.168463 -0.168463 2.88333 V2 -0.121672 -0.121672 2.78542
- N0 -0.373497 -0.645526 -0.66618 N1 -0.527081 -0.527081 -0.666611 N2 -0.671754 -0.671754 -0.312241
- txt003
-STRI
- V0 -0.121672 -0.121672 2.78542 V1 -0.0871056 -0.148234 2.78542 V2 -0.120647 -0.20518 2.88333
- N0 -0.671754 -0.671754 -0.312241 N1 -0.476337 -0.822132 -0.311772 N2 -0.373497 -0.645526 -0.66618
- txt003
-STRI
- V0 -0.168463 -0.168463 2.88333 V1 -0.20518 -0.120647 2.88333 V2 -0.148234 -0.0871056 2.78542
- N0 -0.527081 -0.527081 -0.666611 N1 -0.645526 -0.373497 -0.66618 N2 -0.822132 -0.476337 -0.311772
- txt003
-STRI
- V0 -0.148234 -0.0871056 2.78542 V1 -0.121672 -0.121672 2.78542 V2 -0.168463 -0.168463 2.88333
- N0 -0.822132 -0.476337 -0.311772 N1 -0.671754 -0.671754 -0.312241 N2 -0.527081 -0.527081 -0.666611
- txt003
-STRI
- V0 -0.20518 -0.120647 2.88333 V1 -0.228728 -0.0638032 2.88333 V2 -0.165279 -0.0460445 2.78542
- N0 -0.645526 -0.373497 -0.66618 N1 -0.721244 -0.193465 -0.665116 N2 -0.917897 -0.246906 -0.310647
- txt003
-STRI
- V0 -0.165279 -0.0460445 2.78542 V1 -0.148234 -0.0871056 2.78542 V2 -0.20518 -0.120647 2.88333
- N0 -0.917897 -0.246906 -0.310647 N1 -0.822132 -0.476337 -0.311772 N2 -0.645526 -0.373497 -0.66618
- txt003
-STRI
- V0 -0.228728 -0.0638032 2.88333 V1 -0.237037 1.11022e-16 2.88333 V2 -0.171296 6.66134e-16 2.78542
- N0 -0.721244 -0.193465 -0.665116 N1 -0.747409 -2.42292e-15 -0.664364 N2 -0.950775 -2.16507e-15 -0.309882
- txt003
-STRI
- V0 -0.171296 6.66134e-16 2.78542 V1 -0.165279 -0.0460445 2.78542 V2 -0.228728 -0.0638032 2.88333
- N0 -0.950775 -2.16507e-15 -0.309882 N1 -0.917897 -0.246906 -0.310647 N2 -0.721244 -0.193465 -0.665116
- txt003
-STRI
- V0 0 -0.171296 2.78542 V1 -0.0460445 -0.165279 2.78542 V2 -0.0537037 -0.192963 2.7
- N0 -0 -0.950775 -0.309882 N1 -0.246906 -0.917897 -0.310647 N2 -0.15602 -0.578783 0.800417
- txt003
-STRI
- V0 -0.0537037 -0.192963 2.7 V1 0 -0.2 2.7 V2 0 -0.171296 2.78542
- N0 -0.15602 -0.578783 0.800417 N1 0 -0.6 0.8 N2 -0 -0.950775 -0.309882
- txt003
-STRI
- V0 -0.0460445 -0.165279 2.78542 V1 -0.0871056 -0.148234 2.78542 V2 -0.10163 -0.173037 2.7
- N0 -0.246906 -0.917897 -0.310647 N1 -0.476337 -0.822132 -0.311772 N2 -0.300385 -0.517905 0.800964
- txt003
-STRI
- V0 -0.10163 -0.173037 2.7 V1 -0.0537037 -0.192963 2.7 V2 -0.0460445 -0.165279 2.78542
- N0 -0.300385 -0.517905 0.800964 N1 -0.15602 -0.578783 0.800417 N2 -0.246906 -0.917897 -0.310647
- txt003
-STRI
- V0 -0.0871056 -0.148234 2.78542 V1 -0.121672 -0.121672 2.78542 V2 -0.142 -0.142 2.7
- N0 -0.476337 -0.822132 -0.311772 N1 -0.671754 -0.671754 -0.312241 N2 -0.423155 -0.423155 0.801174
- txt003
-STRI
- V0 -0.142 -0.142 2.7 V1 -0.10163 -0.173037 2.7 V2 -0.0871056 -0.148234 2.78542
- N0 -0.423155 -0.423155 0.801174 N1 -0.300385 -0.517905 0.800964 N2 -0.476337 -0.822132 -0.311772
- txt003
-STRI
- V0 -0.121672 -0.121672 2.78542 V1 -0.148234 -0.0871056 2.78542 V2 -0.173037 -0.10163 2.7
- N0 -0.671754 -0.671754 -0.312241 N1 -0.822132 -0.476337 -0.311772 N2 -0.517905 -0.300385 0.800964
- txt003
-STRI
- V0 -0.173037 -0.10163 2.7 V1 -0.142 -0.142 2.7 V2 -0.121672 -0.121672 2.78542
- N0 -0.517905 -0.300385 0.800964 N1 -0.423155 -0.423155 0.801174 N2 -0.671754 -0.671754 -0.312241
- txt003
-STRI
- V0 -0.148234 -0.0871056 2.78542 V1 -0.165279 -0.0460445 2.78542 V2 -0.192963 -0.0537037 2.7
- N0 -0.822132 -0.476337 -0.311772 N1 -0.917897 -0.246906 -0.310647 N2 -0.578783 -0.15602 0.800417
- txt003
-STRI
- V0 -0.192963 -0.0537037 2.7 V1 -0.173037 -0.10163 2.7 V2 -0.148234 -0.0871056 2.78542
- N0 -0.578783 -0.15602 0.800417 N1 -0.517905 -0.300385 0.800964 N2 -0.822132 -0.476337 -0.311772
- txt003
-STRI
- V0 -0.165279 -0.0460445 2.78542 V1 -0.171296 6.66134e-16 2.78542 V2 -0.2 0 2.7
- N0 -0.917897 -0.246906 -0.310647 N1 -0.950775 -2.16507e-15 -0.309882 N2 -0.6 3.17207e-15 0.8
- txt003
-STRI
- V0 -0.2 0 2.7 V1 -0.192963 -0.0537037 2.7 V2 -0.165279 -0.0460445 2.78542
- N0 -0.6 3.17207e-15 0.8 N1 -0.578783 -0.15602 0.800417 N2 -0.917897 -0.246906 -0.310647
- txt003
-STRI
- V0 -0.268946 0.0750782 3.12708 V1 -0.278704 0 3.12708 V2 0 0 3.15
- N0 -0.241077 0.0645609 0.968356 N1 -0.249998 0 0.968246 N2 0 0 1
- txt003
-STRI
- V0 -0.241285 0.141931 3.12708 V1 -0.268946 0.0750782 3.12708 V2 0 0 3.15
- N0 -0.215548 0.124615 0.968509 N1 -0.241077 0.0645609 0.968356 N2 0 0 1
- txt003
-STRI
- V0 -0.19814 0.19814 3.12708 V1 -0.241285 0.141931 3.12708 V2 0 0 3.15
- N0 -0.175885 0.175885 0.96857 N1 -0.215548 0.124615 0.968509 N2 0 0 1
- txt003
-STRI
- V0 -0.141931 0.241285 3.12708 V1 -0.19814 0.19814 3.12708 V2 0 0 3.15
- N0 -0.124615 0.215548 0.968509 N1 -0.175885 0.175885 0.96857 N2 0 0 1
- txt003
-STRI
- V0 -0.0750782 0.268946 3.12708 V1 -0.141931 0.241285 3.12708 V2 0 0 3.15
- N0 -0.0645609 0.241077 0.968356 N1 -0.124615 0.215548 0.968509 N2 0 0 1
- txt003
-STRI
- V0 0 0.278704 3.12708 V1 -0.0750782 0.268946 3.12708 V2 0 0 3.15
- N0 2.80184e-15 0.249998 0.968246 N1 -0.0645609 0.241077 0.968356 N2 0 0 1
- txt003
-STRI
- V0 -0.278704 0 3.12708 V1 -0.268946 0.0750782 3.12708 V2 -0.350254 0.0977709 3.06667
- N0 -0.249998 0 0.968246 N1 -0.241077 0.0645609 0.968356 N2 -0.955496 0.255913 0.146755
- txt003
-STRI
- V0 -0.350254 0.0977709 3.06667 V1 -0.362963 0 3.06667 V2 -0.278704 0 3.12708
- N0 -0.955496 0.255913 0.146755 N1 -0.989203 0 0.146549 N2 -0.249998 0 0.968246
- txt003
-STRI
- V0 -0.268946 0.0750782 3.12708 V1 -0.241285 0.141931 3.12708 V2 -0.314228 0.184834 3.06667
- N0 -0.241077 0.0645609 0.968356 N1 -0.215548 0.124615 0.968509 N2 -0.856312 0.495088 0.147029
- txt003
-STRI
- V0 -0.314228 0.184834 3.06667 V1 -0.350254 0.0977709 3.06667 V2 -0.268946 0.0750782 3.12708
- N0 -0.856312 0.495088 0.147029 N1 -0.955496 0.255913 0.146755 N2 -0.241077 0.0645609 0.968356
- txt003
-STRI
- V0 -0.241285 0.141931 3.12708 V1 -0.19814 0.19814 3.12708 V2 -0.258037 0.258037 3.06667
- N0 -0.215548 0.124615 0.968509 N1 -0.175885 0.175885 0.96857 N2 -0.699411 0.699411 0.147135
- txt003
-STRI
- V0 -0.258037 0.258037 3.06667 V1 -0.314228 0.184834 3.06667 V2 -0.241285 0.141931 3.12708
- N0 -0.699411 0.699411 0.147135 N1 -0.856312 0.495088 0.147029 N2 -0.215548 0.124615 0.968509
- txt003
-STRI
- V0 -0.19814 0.19814 3.12708 V1 -0.141931 0.241285 3.12708 V2 -0.184834 0.314228 3.06667
- N0 -0.175885 0.175885 0.96857 N1 -0.124615 0.215548 0.968509 N2 -0.495088 0.856312 0.147029
- txt003
-STRI
- V0 -0.184834 0.314228 3.06667 V1 -0.258037 0.258037 3.06667 V2 -0.19814 0.19814 3.12708
- N0 -0.495088 0.856312 0.147029 N1 -0.699411 0.699411 0.147135 N2 -0.175885 0.175885 0.96857
- txt003
-STRI
- V0 -0.141931 0.241285 3.12708 V1 -0.0750782 0.268946 3.12708 V2 -0.0977709 0.350254 3.06667
- N0 -0.124615 0.215548 0.968509 N1 -0.0645609 0.241077 0.968356 N2 -0.255913 0.955496 0.146755
- txt003
-STRI
- V0 -0.0977709 0.350254 3.06667 V1 -0.184834 0.314228 3.06667 V2 -0.141931 0.241285 3.12708
- N0 -0.255913 0.955496 0.146755 N1 -0.495088 0.856312 0.147029 N2 -0.124615 0.215548 0.968509
- txt003
-STRI
- V0 -0.0750782 0.268946 3.12708 V1 0 0.278704 3.12708 V2 0 0.362963 3.06667
- N0 -0.0645609 0.241077 0.968356 N1 2.80184e-15 0.249998 0.968246 N2 4.98112e-16 0.989203 0.146549
- txt003
-STRI
- V0 0 0.362963 3.06667 V1 -0.0977709 0.350254 3.06667 V2 -0.0750782 0.268946 3.12708
- N0 4.98112e-16 0.989203 0.146549 N1 -0.255913 0.955496 0.146755 N2 -0.0645609 0.241077 0.968356
- txt003
-STRI
- V0 -0.362963 0 3.06667 V1 -0.350254 0.0977709 3.06667 V2 -0.313617 0.0875289 2.98125
- N0 -0.989203 0 0.146549 N1 -0.955496 0.255913 0.146755 N2 -0.753688 0.201937 -0.625441
- txt003
-STRI
- V0 -0.313617 0.0875289 2.98125 V1 -0.325 0 2.98125 V2 -0.362963 0 3.06667
- N0 -0.753688 0.201937 -0.625441 N1 -0.780869 0 -0.624695 N2 -0.989203 0 0.146549
- txt003
-STRI
- V0 -0.350254 0.0977709 3.06667 V1 -0.314228 0.184834 3.06667 V2 -0.281352 0.165481 2.98125
- N0 -0.955496 0.255913 0.146755 N1 -0.856312 0.495088 0.147029 N2 -0.674735 0.390178 -0.626493
- txt003
-STRI
- V0 -0.281352 0.165481 2.98125 V1 -0.313617 0.0875289 2.98125 V2 -0.350254 0.0977709 3.06667
- N0 -0.674735 0.390178 -0.626493 N1 -0.753688 0.201937 -0.625441 N2 -0.955496 0.255913 0.146755
- txt003
-STRI
- V0 -0.314228 0.184834 3.06667 V1 -0.258037 0.258037 3.06667 V2 -0.231031 0.231031 2.98125
- N0 -0.856312 0.495088 0.147029 N1 -0.699411 0.699411 0.147135 N2 -0.550896 0.550896 -0.626919
- txt003
-STRI
- V0 -0.231031 0.231031 2.98125 V1 -0.281352 0.165481 2.98125 V2 -0.314228 0.184834 3.06667
- N0 -0.550896 0.550896 -0.626919 N1 -0.674735 0.390178 -0.626493 N2 -0.856312 0.495088 0.147029
- txt003
-STRI
- V0 -0.258037 0.258037 3.06667 V1 -0.184834 0.314228 3.06667 V2 -0.165481 0.281352 2.98125
- N0 -0.699411 0.699411 0.147135 N1 -0.495088 0.856312 0.147029 N2 -0.390178 0.674735 -0.626493
- txt003
-STRI
- V0 -0.165481 0.281352 2.98125 V1 -0.231031 0.231031 2.98125 V2 -0.258037 0.258037 3.06667
- N0 -0.390178 0.674735 -0.626493 N1 -0.550896 0.550896 -0.626919 N2 -0.699411 0.699411 0.147135
- txt003
-STRI
- V0 -0.184834 0.314228 3.06667 V1 -0.0977709 0.350254 3.06667 V2 -0.0875289 0.313617 2.98125
- N0 -0.495088 0.856312 0.147029 N1 -0.255913 0.955496 0.146755 N2 -0.201937 0.753688 -0.625441
- txt003
-STRI
- V0 -0.0875289 0.313617 2.98125 V1 -0.165481 0.281352 2.98125 V2 -0.184834 0.314228 3.06667
- N0 -0.201937 0.753688 -0.625441 N1 -0.390178 0.674735 -0.626493 N2 -0.495088 0.856312 0.147029
- txt003
-STRI
- V0 -0.0977709 0.350254 3.06667 V1 0 0.362963 3.06667 V2 1.11022e-16 0.325 2.98125
- N0 -0.255913 0.955496 0.146755 N1 4.98112e-16 0.989203 0.146549 N2 -1.51803e-15 0.780869 -0.624695
- txt003
-STRI
- V0 1.11022e-16 0.325 2.98125 V1 -0.0875289 0.313617 2.98125 V2 -0.0977709 0.350254 3.06667
- N0 -1.51803e-15 0.780869 -0.624695 N1 -0.201937 0.753688 -0.625441 N2 -0.255913 0.955496 0.146755
- txt003
-STRI
- V0 -0.325 0 2.98125 V1 -0.313617 0.0875289 2.98125 V2 -0.228728 0.0638032 2.88333
- N0 -0.780869 0 -0.624695 N1 -0.753688 0.201937 -0.625441 N2 -0.721244 0.193465 -0.665116
- txt003
-STRI
- V0 -0.228728 0.0638032 2.88333 V1 -0.237037 0 2.88333 V2 -0.325 0 2.98125
- N0 -0.721244 0.193465 -0.665116 N1 -0.747409 0 -0.664364 N2 -0.780869 0 -0.624695
- txt003
-STRI
- V0 -0.313617 0.0875289 2.98125 V1 -0.281352 0.165481 2.98125 V2 -0.20518 0.120647 2.88333
- N0 -0.753688 0.201937 -0.625441 N1 -0.674735 0.390178 -0.626493 N2 -0.645526 0.373497 -0.66618
- txt003
-STRI
- V0 -0.20518 0.120647 2.88333 V1 -0.228728 0.0638032 2.88333 V2 -0.313617 0.0875289 2.98125
- N0 -0.645526 0.373497 -0.66618 N1 -0.721244 0.193465 -0.665116 N2 -0.753688 0.201937 -0.625441
- txt003
-STRI
- V0 -0.281352 0.165481 2.98125 V1 -0.231031 0.231031 2.98125 V2 -0.168463 0.168463 2.88333
- N0 -0.674735 0.390178 -0.626493 N1 -0.550896 0.550896 -0.626919 N2 -0.527081 0.527081 -0.666611
- txt003
-STRI
- V0 -0.168463 0.168463 2.88333 V1 -0.20518 0.120647 2.88333 V2 -0.281352 0.165481 2.98125
- N0 -0.527081 0.527081 -0.666611 N1 -0.645526 0.373497 -0.66618 N2 -0.674735 0.390178 -0.626493
- txt003
-STRI
- V0 -0.231031 0.231031 2.98125 V1 -0.165481 0.281352 2.98125 V2 -0.120647 0.20518 2.88333
- N0 -0.550896 0.550896 -0.626919 N1 -0.390178 0.674735 -0.626493 N2 -0.373497 0.645526 -0.66618
- txt003
-STRI
- V0 -0.120647 0.20518 2.88333 V1 -0.168463 0.168463 2.88333 V2 -0.231031 0.231031 2.98125
- N0 -0.373497 0.645526 -0.66618 N1 -0.527081 0.527081 -0.666611 N2 -0.550896 0.550896 -0.626919
- txt003
-STRI
- V0 -0.165481 0.281352 2.98125 V1 -0.0875289 0.313617 2.98125 V2 -0.0638032 0.228728 2.88333
- N0 -0.390178 0.674735 -0.626493 N1 -0.201937 0.753688 -0.625441 N2 -0.193465 0.721244 -0.665116
- txt003
-STRI
- V0 -0.0638032 0.228728 2.88333 V1 -0.120647 0.20518 2.88333 V2 -0.165481 0.281352 2.98125
- N0 -0.193465 0.721244 -0.665116 N1 -0.373497 0.645526 -0.66618 N2 -0.390178 0.674735 -0.626493
- txt003
-STRI
- V0 -0.0875289 0.313617 2.98125 V1 1.11022e-16 0.325 2.98125 V2 1.11022e-16 0.237037 2.88333
- N0 -0.201937 0.753688 -0.625441 N1 -1.51803e-15 0.780869 -0.624695 N2 -2.42292e-15 0.747409 -0.664364
- txt003
-STRI
- V0 1.11022e-16 0.237037 2.88333 V1 -0.0638032 0.228728 2.88333 V2 -0.0875289 0.313617 2.98125
- N0 -2.42292e-15 0.747409 -0.664364 N1 -0.193465 0.721244 -0.665116 N2 -0.201937 0.753688 -0.625441
- txt003
-STRI
- V0 -0.237037 0 2.88333 V1 -0.228728 0.0638032 2.88333 V2 -0.165279 0.0460445 2.78542
- N0 -0.747409 0 -0.664364 N1 -0.721244 0.193465 -0.665116 N2 -0.917897 0.246906 -0.310647
- txt003
-STRI
- V0 -0.165279 0.0460445 2.78542 V1 -0.171296 0 2.78542 V2 -0.237037 0 2.88333
- N0 -0.917897 0.246906 -0.310647 N1 -0.950775 0 -0.309882 N2 -0.747409 0 -0.664364
- txt003
-STRI
- V0 -0.228728 0.0638032 2.88333 V1 -0.20518 0.120647 2.88333 V2 -0.148234 0.0871056 2.78542
- N0 -0.721244 0.193465 -0.665116 N1 -0.645526 0.373497 -0.66618 N2 -0.822132 0.476337 -0.311772
- txt003
-STRI
- V0 -0.148234 0.0871056 2.78542 V1 -0.165279 0.0460445 2.78542 V2 -0.228728 0.0638032 2.88333
- N0 -0.822132 0.476337 -0.311772 N1 -0.917897 0.246906 -0.310647 N2 -0.721244 0.193465 -0.665116
- txt003
-STRI
- V0 -0.20518 0.120647 2.88333 V1 -0.168463 0.168463 2.88333 V2 -0.121672 0.121672 2.78542
- N0 -0.645526 0.373497 -0.66618 N1 -0.527081 0.527081 -0.666611 N2 -0.671754 0.671754 -0.312241
- txt003
-STRI
- V0 -0.121672 0.121672 2.78542 V1 -0.148234 0.0871056 2.78542 V2 -0.20518 0.120647 2.88333
- N0 -0.671754 0.671754 -0.312241 N1 -0.822132 0.476337 -0.311772 N2 -0.645526 0.373497 -0.66618
- txt003
-STRI
- V0 -0.168463 0.168463 2.88333 V1 -0.120647 0.20518 2.88333 V2 -0.0871056 0.148234 2.78542
- N0 -0.527081 0.527081 -0.666611 N1 -0.373497 0.645526 -0.66618 N2 -0.476337 0.822132 -0.311772
- txt003
-STRI
- V0 -0.0871056 0.148234 2.78542 V1 -0.121672 0.121672 2.78542 V2 -0.168463 0.168463 2.88333
- N0 -0.476337 0.822132 -0.311772 N1 -0.671754 0.671754 -0.312241 N2 -0.527081 0.527081 -0.666611
- txt003
-STRI
- V0 -0.120647 0.20518 2.88333 V1 -0.0638032 0.228728 2.88333 V2 -0.0460445 0.165279 2.78542
- N0 -0.373497 0.645526 -0.66618 N1 -0.193465 0.721244 -0.665116 N2 -0.246906 0.917897 -0.310647
- txt003
-STRI
- V0 -0.0460445 0.165279 2.78542 V1 -0.0871056 0.148234 2.78542 V2 -0.120647 0.20518 2.88333
- N0 -0.246906 0.917897 -0.310647 N1 -0.476337 0.822132 -0.311772 N2 -0.373497 0.645526 -0.66618
- txt003
-STRI
- V0 -0.0638032 0.228728 2.88333 V1 1.11022e-16 0.237037 2.88333 V2 6.66134e-16 0.171296 2.78542
- N0 -0.193465 0.721244 -0.665116 N1 -2.42292e-15 0.747409 -0.664364 N2 -2.16507e-15 0.950775 -0.309882
- txt003
-STRI
- V0 6.66134e-16 0.171296 2.78542 V1 -0.0460445 0.165279 2.78542 V2 -0.0638032 0.228728 2.88333
- N0 -2.16507e-15 0.950775 -0.309882 N1 -0.246906 0.917897 -0.310647 N2 -0.193465 0.721244 -0.665116
- txt003
-STRI
- V0 -0.171296 0 2.78542 V1 -0.165279 0.0460445 2.78542 V2 -0.192963 0.0537037 2.7
- N0 -0.950775 0 -0.309882 N1 -0.917897 0.246906 -0.310647 N2 -0.578783 0.15602 0.800417
- txt003
-STRI
- V0 -0.192963 0.0537037 2.7 V1 -0.2 0 2.7 V2 -0.171296 0 2.78542
- N0 -0.578783 0.15602 0.800417 N1 -0.6 0 0.8 N2 -0.950775 0 -0.309882
- txt003
-STRI
- V0 -0.165279 0.0460445 2.78542 V1 -0.148234 0.0871056 2.78542 V2 -0.173037 0.10163 2.7
- N0 -0.917897 0.246906 -0.310647 N1 -0.822132 0.476337 -0.311772 N2 -0.517905 0.300385 0.800964
- txt003
-STRI
- V0 -0.173037 0.10163 2.7 V1 -0.192963 0.0537037 2.7 V2 -0.165279 0.0460445 2.78542
- N0 -0.517905 0.300385 0.800964 N1 -0.578783 0.15602 0.800417 N2 -0.917897 0.246906 -0.310647
- txt003
-STRI
- V0 -0.148234 0.0871056 2.78542 V1 -0.121672 0.121672 2.78542 V2 -0.142 0.142 2.7
- N0 -0.822132 0.476337 -0.311772 N1 -0.671754 0.671754 -0.312241 N2 -0.423155 0.423155 0.801174
- txt003
-STRI
- V0 -0.142 0.142 2.7 V1 -0.173037 0.10163 2.7 V2 -0.148234 0.0871056 2.78542
- N0 -0.423155 0.423155 0.801174 N1 -0.517905 0.300385 0.800964 N2 -0.822132 0.476337 -0.311772
- txt003
-STRI
- V0 -0.121672 0.121672 2.78542 V1 -0.0871056 0.148234 2.78542 V2 -0.10163 0.173037 2.7
- N0 -0.671754 0.671754 -0.312241 N1 -0.476337 0.822132 -0.311772 N2 -0.300385 0.517905 0.800964
- txt003
-STRI
- V0 -0.10163 0.173037 2.7 V1 -0.142 0.142 2.7 V2 -0.121672 0.121672 2.78542
- N0 -0.300385 0.517905 0.800964 N1 -0.423155 0.423155 0.801174 N2 -0.671754 0.671754 -0.312241
- txt003
-STRI
- V0 -0.0871056 0.148234 2.78542 V1 -0.0460445 0.165279 2.78542 V2 -0.0537037 0.192963 2.7
- N0 -0.476337 0.822132 -0.311772 N1 -0.246906 0.917897 -0.310647 N2 -0.15602 0.578783 0.800417
- txt003
-STRI
- V0 -0.0537037 0.192963 2.7 V1 -0.10163 0.173037 2.7 V2 -0.0871056 0.148234 2.78542
- N0 -0.15602 0.578783 0.800417 N1 -0.300385 0.517905 0.800964 N2 -0.476337 0.822132 -0.311772
- txt003
-STRI
- V0 -0.0460445 0.165279 2.78542 V1 6.66134e-16 0.171296 2.78542 V2 0 0.2 2.7
- N0 -0.246906 0.917897 -0.310647 N1 -2.16507e-15 0.950775 -0.309882 N2 3.17207e-15 0.6 0.8
- txt003
-STRI
- V0 0 0.2 2.7 V1 -0.0537037 0.192963 2.7 V2 -0.0460445 0.165279 2.78542
- N0 3.17207e-15 0.6 0.8 N1 -0.15602 0.578783 0.800417 N2 -0.246906 0.917897 -0.310647
- txt003
-STRI
- V0 0.0750782 0.268946 3.12708 V1 0 0.278704 3.12708 V2 0 0 3.15
- N0 0.0645609 0.241077 0.968356 N1 -0 0.249998 0.968246 N2 0 0 1
- txt003
-STRI
- V0 0.141931 0.241285 3.12708 V1 0.0750782 0.268946 3.12708 V2 0 0 3.15
- N0 0.124615 0.215548 0.968509 N1 0.0645609 0.241077 0.968356 N2 0 0 1
- txt003
-STRI
- V0 0.19814 0.19814 3.12708 V1 0.141931 0.241285 3.12708 V2 0 0 3.15
- N0 0.175885 0.175885 0.96857 N1 0.124615 0.215548 0.968509 N2 0 0 1
- txt003
-STRI
- V0 0.241285 0.141931 3.12708 V1 0.19814 0.19814 3.12708 V2 0 0 3.15
- N0 0.215548 0.124615 0.968509 N1 0.175885 0.175885 0.96857 N2 0 0 1
- txt003
-STRI
- V0 0.268946 0.0750782 3.12708 V1 0.241285 0.141931 3.12708 V2 0 0 3.15
- N0 0.241077 0.0645609 0.968356 N1 0.215548 0.124615 0.968509 N2 0 0 1
- txt003
-STRI
- V0 0.278704 0 3.12708 V1 0.268946 0.0750782 3.12708 V2 0 0 3.15
- N0 0.249998 -2.80184e-15 0.968246 N1 0.241077 0.0645609 0.968356 N2 0 0 1
- txt003
-STRI
- V0 0 0.278704 3.12708 V1 0.0750782 0.268946 3.12708 V2 0.0977709 0.350254 3.06667
- N0 -0 0.249998 0.968246 N1 0.0645609 0.241077 0.968356 N2 0.255913 0.955496 0.146755
- txt003
-STRI
- V0 0.0977709 0.350254 3.06667 V1 0 0.362963 3.06667 V2 0 0.278704 3.12708
- N0 0.255913 0.955496 0.146755 N1 -0 0.989203 0.146549 N2 -0 0.249998 0.968246
- txt003
-STRI
- V0 0.0750782 0.268946 3.12708 V1 0.141931 0.241285 3.12708 V2 0.184834 0.314228 3.06667
- N0 0.0645609 0.241077 0.968356 N1 0.124615 0.215548 0.968509 N2 0.495088 0.856312 0.147029
- txt003
-STRI
- V0 0.184834 0.314228 3.06667 V1 0.0977709 0.350254 3.06667 V2 0.0750782 0.268946 3.12708
- N0 0.495088 0.856312 0.147029 N1 0.255913 0.955496 0.146755 N2 0.0645609 0.241077 0.968356
- txt003
-STRI
- V0 0.141931 0.241285 3.12708 V1 0.19814 0.19814 3.12708 V2 0.258037 0.258037 3.06667
- N0 0.124615 0.215548 0.968509 N1 0.175885 0.175885 0.96857 N2 0.699411 0.699411 0.147135
- txt003
-STRI
- V0 0.258037 0.258037 3.06667 V1 0.184834 0.314228 3.06667 V2 0.141931 0.241285 3.12708
- N0 0.699411 0.699411 0.147135 N1 0.495088 0.856312 0.147029 N2 0.124615 0.215548 0.968509
- txt003
-STRI
- V0 0.19814 0.19814 3.12708 V1 0.241285 0.141931 3.12708 V2 0.314228 0.184834 3.06667
- N0 0.175885 0.175885 0.96857 N1 0.215548 0.124615 0.968509 N2 0.856312 0.495088 0.147029
- txt003
-STRI
- V0 0.314228 0.184834 3.06667 V1 0.258037 0.258037 3.06667 V2 0.19814 0.19814 3.12708
- N0 0.856312 0.495088 0.147029 N1 0.699411 0.699411 0.147135 N2 0.175885 0.175885 0.96857
- txt003
-STRI
- V0 0.241285 0.141931 3.12708 V1 0.268946 0.0750782 3.12708 V2 0.350254 0.0977709 3.06667
- N0 0.215548 0.124615 0.968509 N1 0.241077 0.0645609 0.968356 N2 0.955496 0.255913 0.146755
- txt003
-STRI
- V0 0.350254 0.0977709 3.06667 V1 0.314228 0.184834 3.06667 V2 0.241285 0.141931 3.12708
- N0 0.955496 0.255913 0.146755 N1 0.856312 0.495088 0.147029 N2 0.215548 0.124615 0.968509
- txt003
-STRI
- V0 0.268946 0.0750782 3.12708 V1 0.278704 0 3.12708 V2 0.362963 0 3.06667
- N0 0.241077 0.0645609 0.968356 N1 0.249998 -2.80184e-15 0.968246 N2 0.989203 -4.98112e-16 0.146549
- txt003
-STRI
- V0 0.362963 0 3.06667 V1 0.350254 0.0977709 3.06667 V2 0.268946 0.0750782 3.12708
- N0 0.989203 -4.98112e-16 0.146549 N1 0.955496 0.255913 0.146755 N2 0.241077 0.0645609 0.968356
- txt003
-STRI
- V0 0 0.362963 3.06667 V1 0.0977709 0.350254 3.06667 V2 0.0875289 0.313617 2.98125
- N0 -0 0.989203 0.146549 N1 0.255913 0.955496 0.146755 N2 0.201937 0.753688 -0.625441
- txt003
-STRI
- V0 0.0875289 0.313617 2.98125 V1 0 0.325 2.98125 V2 0 0.362963 3.06667
- N0 0.201937 0.753688 -0.625441 N1 0 0.780869 -0.624695 N2 -0 0.989203 0.146549
- txt003
-STRI
- V0 0.0977709 0.350254 3.06667 V1 0.184834 0.314228 3.06667 V2 0.165481 0.281352 2.98125
- N0 0.255913 0.955496 0.146755 N1 0.495088 0.856312 0.147029 N2 0.390178 0.674735 -0.626493
- txt003
-STRI
- V0 0.165481 0.281352 2.98125 V1 0.0875289 0.313617 2.98125 V2 0.0977709 0.350254 3.06667
- N0 0.390178 0.674735 -0.626493 N1 0.201937 0.753688 -0.625441 N2 0.255913 0.955496 0.146755
- txt003
-STRI
- V0 0.184834 0.314228 3.06667 V1 0.258037 0.258037 3.06667 V2 0.231031 0.231031 2.98125
- N0 0.495088 0.856312 0.147029 N1 0.699411 0.699411 0.147135 N2 0.550896 0.550896 -0.626919
- txt003
-STRI
- V0 0.231031 0.231031 2.98125 V1 0.165481 0.281352 2.98125 V2 0.184834 0.314228 3.06667
- N0 0.550896 0.550896 -0.626919 N1 0.390178 0.674735 -0.626493 N2 0.495088 0.856312 0.147029
- txt003
-STRI
- V0 0.258037 0.258037 3.06667 V1 0.314228 0.184834 3.06667 V2 0.281352 0.165481 2.98125
- N0 0.699411 0.699411 0.147135 N1 0.856312 0.495088 0.147029 N2 0.674735 0.390178 -0.626493
- txt003
-STRI
- V0 0.281352 0.165481 2.98125 V1 0.231031 0.231031 2.98125 V2 0.258037 0.258037 3.06667
- N0 0.674735 0.390178 -0.626493 N1 0.550896 0.550896 -0.626919 N2 0.699411 0.699411 0.147135
- txt003
-STRI
- V0 0.314228 0.184834 3.06667 V1 0.350254 0.0977709 3.06667 V2 0.313617 0.0875289 2.98125
- N0 0.856312 0.495088 0.147029 N1 0.955496 0.255913 0.146755 N2 0.753688 0.201937 -0.625441
- txt003
-STRI
- V0 0.313617 0.0875289 2.98125 V1 0.281352 0.165481 2.98125 V2 0.314228 0.184834 3.06667
- N0 0.753688 0.201937 -0.625441 N1 0.674735 0.390178 -0.626493 N2 0.856312 0.495088 0.147029
- txt003
-STRI
- V0 0.350254 0.0977709 3.06667 V1 0.362963 0 3.06667 V2 0.325 -1.11022e-16 2.98125
- N0 0.955496 0.255913 0.146755 N1 0.989203 -4.98112e-16 0.146549 N2 0.780869 1.51803e-15 -0.624695
- txt003
-STRI
- V0 0.325 -1.11022e-16 2.98125 V1 0.313617 0.0875289 2.98125 V2 0.350254 0.0977709 3.06667
- N0 0.780869 1.51803e-15 -0.624695 N1 0.753688 0.201937 -0.625441 N2 0.955496 0.255913 0.146755
- txt003
-STRI
- V0 0 0.325 2.98125 V1 0.0875289 0.313617 2.98125 V2 0.0638032 0.228728 2.88333
- N0 0 0.780869 -0.624695 N1 0.201937 0.753688 -0.625441 N2 0.193465 0.721244 -0.665116
- txt003
-STRI
- V0 0.0638032 0.228728 2.88333 V1 0 0.237037 2.88333 V2 0 0.325 2.98125
- N0 0.193465 0.721244 -0.665116 N1 0 0.747409 -0.664364 N2 0 0.780869 -0.624695
- txt003
-STRI
- V0 0.0875289 0.313617 2.98125 V1 0.165481 0.281352 2.98125 V2 0.120647 0.20518 2.88333
- N0 0.201937 0.753688 -0.625441 N1 0.390178 0.674735 -0.626493 N2 0.373497 0.645526 -0.66618
- txt003
-STRI
- V0 0.120647 0.20518 2.88333 V1 0.0638032 0.228728 2.88333 V2 0.0875289 0.313617 2.98125
- N0 0.373497 0.645526 -0.66618 N1 0.193465 0.721244 -0.665116 N2 0.201937 0.753688 -0.625441
- txt003
-STRI
- V0 0.165481 0.281352 2.98125 V1 0.231031 0.231031 2.98125 V2 0.168463 0.168463 2.88333
- N0 0.390178 0.674735 -0.626493 N1 0.550896 0.550896 -0.626919 N2 0.527081 0.527081 -0.666611
- txt003
-STRI
- V0 0.168463 0.168463 2.88333 V1 0.120647 0.20518 2.88333 V2 0.165481 0.281352 2.98125
- N0 0.527081 0.527081 -0.666611 N1 0.373497 0.645526 -0.66618 N2 0.390178 0.674735 -0.626493
- txt003
-STRI
- V0 0.231031 0.231031 2.98125 V1 0.281352 0.165481 2.98125 V2 0.20518 0.120647 2.88333
- N0 0.550896 0.550896 -0.626919 N1 0.674735 0.390178 -0.626493 N2 0.645526 0.373497 -0.66618
- txt003
-STRI
- V0 0.20518 0.120647 2.88333 V1 0.168463 0.168463 2.88333 V2 0.231031 0.231031 2.98125
- N0 0.645526 0.373497 -0.66618 N1 0.527081 0.527081 -0.666611 N2 0.550896 0.550896 -0.626919
- txt003
-STRI
- V0 0.281352 0.165481 2.98125 V1 0.313617 0.0875289 2.98125 V2 0.228728 0.0638032 2.88333
- N0 0.674735 0.390178 -0.626493 N1 0.753688 0.201937 -0.625441 N2 0.721244 0.193465 -0.665116
- txt003
-STRI
- V0 0.228728 0.0638032 2.88333 V1 0.20518 0.120647 2.88333 V2 0.281352 0.165481 2.98125
- N0 0.721244 0.193465 -0.665116 N1 0.645526 0.373497 -0.66618 N2 0.674735 0.390178 -0.626493
- txt003
-STRI
- V0 0.313617 0.0875289 2.98125 V1 0.325 -1.11022e-16 2.98125 V2 0.237037 -1.11022e-16 2.88333
- N0 0.753688 0.201937 -0.625441 N1 0.780869 1.51803e-15 -0.624695 N2 0.747409 2.42292e-15 -0.664364
- txt003
-STRI
- V0 0.237037 -1.11022e-16 2.88333 V1 0.228728 0.0638032 2.88333 V2 0.313617 0.0875289 2.98125
- N0 0.747409 2.42292e-15 -0.664364 N1 0.721244 0.193465 -0.665116 N2 0.753688 0.201937 -0.625441
- txt003
-STRI
- V0 0 0.237037 2.88333 V1 0.0638032 0.228728 2.88333 V2 0.0460445 0.165279 2.78542
- N0 0 0.747409 -0.664364 N1 0.193465 0.721244 -0.665116 N2 0.246906 0.917897 -0.310647
- txt003
-STRI
- V0 0.0460445 0.165279 2.78542 V1 0 0.171296 2.78542 V2 0 0.237037 2.88333
- N0 0.246906 0.917897 -0.310647 N1 0 0.950775 -0.309882 N2 0 0.747409 -0.664364
- txt003
-STRI
- V0 0.0638032 0.228728 2.88333 V1 0.120647 0.20518 2.88333 V2 0.0871056 0.148234 2.78542
- N0 0.193465 0.721244 -0.665116 N1 0.373497 0.645526 -0.66618 N2 0.476337 0.822132 -0.311772
- txt003
-STRI
- V0 0.0871056 0.148234 2.78542 V1 0.0460445 0.165279 2.78542 V2 0.0638032 0.228728 2.88333
- N0 0.476337 0.822132 -0.311772 N1 0.246906 0.917897 -0.310647 N2 0.193465 0.721244 -0.665116
- txt003
-STRI
- V0 0.120647 0.20518 2.88333 V1 0.168463 0.168463 2.88333 V2 0.121672 0.121672 2.78542
- N0 0.373497 0.645526 -0.66618 N1 0.527081 0.527081 -0.666611 N2 0.671754 0.671754 -0.312241
- txt003
-STRI
- V0 0.121672 0.121672 2.78542 V1 0.0871056 0.148234 2.78542 V2 0.120647 0.20518 2.88333
- N0 0.671754 0.671754 -0.312241 N1 0.476337 0.822132 -0.311772 N2 0.373497 0.645526 -0.66618
- txt003
-STRI
- V0 0.168463 0.168463 2.88333 V1 0.20518 0.120647 2.88333 V2 0.148234 0.0871056 2.78542
- N0 0.527081 0.527081 -0.666611 N1 0.645526 0.373497 -0.66618 N2 0.822132 0.476337 -0.311772
- txt003
-STRI
- V0 0.148234 0.0871056 2.78542 V1 0.121672 0.121672 2.78542 V2 0.168463 0.168463 2.88333
- N0 0.822132 0.476337 -0.311772 N1 0.671754 0.671754 -0.312241 N2 0.527081 0.527081 -0.666611
- txt003
-STRI
- V0 0.20518 0.120647 2.88333 V1 0.228728 0.0638032 2.88333 V2 0.165279 0.0460445 2.78542
- N0 0.645526 0.373497 -0.66618 N1 0.721244 0.193465 -0.665116 N2 0.917897 0.246906 -0.310647
- txt003
-STRI
- V0 0.165279 0.0460445 2.78542 V1 0.148234 0.0871056 2.78542 V2 0.20518 0.120647 2.88333
- N0 0.917897 0.246906 -0.310647 N1 0.822132 0.476337 -0.311772 N2 0.645526 0.373497 -0.66618
- txt003
-STRI
- V0 0.228728 0.0638032 2.88333 V1 0.237037 -1.11022e-16 2.88333 V2 0.171296 -6.66134e-16 2.78542
- N0 0.721244 0.193465 -0.665116 N1 0.747409 2.42292e-15 -0.664364 N2 0.950775 2.16507e-15 -0.309882
- txt003
-STRI
- V0 0.171296 -6.66134e-16 2.78542 V1 0.165279 0.0460445 2.78542 V2 0.228728 0.0638032 2.88333
- N0 0.950775 2.16507e-15 -0.309882 N1 0.917897 0.246906 -0.310647 N2 0.721244 0.193465 -0.665116
- txt003
-STRI
- V0 0 0.171296 2.78542 V1 0.0460445 0.165279 2.78542 V2 0.0537037 0.192963 2.7
- N0 0 0.950775 -0.309882 N1 0.246906 0.917897 -0.310647 N2 0.15602 0.578783 0.800417
- txt003
-STRI
- V0 0.0537037 0.192963 2.7 V1 0 0.2 2.7 V2 0 0.171296 2.78542
- N0 0.15602 0.578783 0.800417 N1 -0 0.6 0.8 N2 0 0.950775 -0.309882
- txt003
-STRI
- V0 0.0460445 0.165279 2.78542 V1 0.0871056 0.148234 2.78542 V2 0.10163 0.173037 2.7
- N0 0.246906 0.917897 -0.310647 N1 0.476337 0.822132 -0.311772 N2 0.300385 0.517905 0.800964
- txt003
-STRI
- V0 0.10163 0.173037 2.7 V1 0.0537037 0.192963 2.7 V2 0.0460445 0.165279 2.78542
- N0 0.300385 0.517905 0.800964 N1 0.15602 0.578783 0.800417 N2 0.246906 0.917897 -0.310647
- txt003
-STRI
- V0 0.0871056 0.148234 2.78542 V1 0.121672 0.121672 2.78542 V2 0.142 0.142 2.7
- N0 0.476337 0.822132 -0.311772 N1 0.671754 0.671754 -0.312241 N2 0.423155 0.423155 0.801174
- txt003
-STRI
- V0 0.142 0.142 2.7 V1 0.10163 0.173037 2.7 V2 0.0871056 0.148234 2.78542
- N0 0.423155 0.423155 0.801174 N1 0.300385 0.517905 0.800964 N2 0.476337 0.822132 -0.311772
- txt003
-STRI
- V0 0.121672 0.121672 2.78542 V1 0.148234 0.0871056 2.78542 V2 0.173037 0.10163 2.7
- N0 0.671754 0.671754 -0.312241 N1 0.822132 0.476337 -0.311772 N2 0.517905 0.300385 0.800964
- txt003
-STRI
- V0 0.173037 0.10163 2.7 V1 0.142 0.142 2.7 V2 0.121672 0.121672 2.78542
- N0 0.517905 0.300385 0.800964 N1 0.423155 0.423155 0.801174 N2 0.671754 0.671754 -0.312241
- txt003
-STRI
- V0 0.148234 0.0871056 2.78542 V1 0.165279 0.0460445 2.78542 V2 0.192963 0.0537037 2.7
- N0 0.822132 0.476337 -0.311772 N1 0.917897 0.246906 -0.310647 N2 0.578783 0.15602 0.800417
- txt003
-STRI
- V0 0.192963 0.0537037 2.7 V1 0.173037 0.10163 2.7 V2 0.148234 0.0871056 2.78542
- N0 0.578783 0.15602 0.800417 N1 0.517905 0.300385 0.800964 N2 0.822132 0.476337 -0.311772
- txt003
-STRI
- V0 0.165279 0.0460445 2.78542 V1 0.171296 -6.66134e-16 2.78542 V2 0.2 0 2.7
- N0 0.917897 0.246906 -0.310647 N1 0.950775 2.16507e-15 -0.309882 N2 0.6 -3.17207e-15 0.8
- txt003
-STRI
- V0 0.2 0 2.7 V1 0.192963 0.0537037 2.7 V2 0.165279 0.0460445 2.78542
- N0 0.6 -3.17207e-15 0.8 N1 0.578783 0.15602 0.800417 N2 0.917897 0.246906 -0.310647
- txt003
-STRI
- V0 0.2 0 2.7 V1 0.192963 -0.0537037 2.7 V2 0.338579 -0.0942301 2.63611
- N0 0.6 0 0.8 N1 0.578783 -0.15602 0.800417 N2 0.258756 -0.0697517 0.963421
- txt003
-STRI
- V0 0.338579 -0.0942301 2.63611 V1 0.350926 0 2.63611 V2 0.2 0 2.7
- N0 0.258756 -0.0697517 0.963421 N1 0.268354 0 0.96332 N2 0.6 0 0.8
- txt003
-STRI
- V0 0.192963 -0.0537037 2.7 V1 0.173037 -0.10163 2.7 V2 0.303616 -0.178322 2.63611
- N0 0.578783 -0.15602 0.800417 N1 0.517905 -0.300385 0.800964 N2 0.231413 -0.134219 0.963552
- txt003
-STRI
- V0 0.303616 -0.178322 2.63611 V1 0.338579 -0.0942301 2.63611 V2 0.192963 -0.0537037 2.7
- N0 0.231413 -0.134219 0.963552 N1 0.258756 -0.0697517 0.963421 N2 0.578783 -0.15602 0.800417
- txt003
-STRI
- V0 0.173037 -0.10163 2.7 V1 0.142 -0.142 2.7 V2 0.249157 -0.249157 2.63611
- N0 0.517905 -0.300385 0.800964 N1 0.423155 -0.423155 0.801174 N2 0.189037 -0.189037 0.963603
- txt003
-STRI
- V0 0.249157 -0.249157 2.63611 V1 0.303616 -0.178322 2.63611 V2 0.173037 -0.10163 2.7
- N0 0.189037 -0.189037 0.963603 N1 0.231413 -0.134219 0.963552 N2 0.517905 -0.300385 0.800964
- txt003
-STRI
- V0 0.142 -0.142 2.7 V1 0.10163 -0.173037 2.7 V2 0.178322 -0.303616 2.63611
- N0 0.423155 -0.423155 0.801174 N1 0.300385 -0.517905 0.800964 N2 0.134219 -0.231413 0.963552
- txt003
-STRI
- V0 0.178322 -0.303616 2.63611 V1 0.249157 -0.249157 2.63611 V2 0.142 -0.142 2.7
- N0 0.134219 -0.231413 0.963552 N1 0.189037 -0.189037 0.963603 N2 0.423155 -0.423155 0.801174
- txt003
-STRI
- V0 0.10163 -0.173037 2.7 V1 0.0537037 -0.192963 2.7 V2 0.0942301 -0.338579 2.63611
- N0 0.300385 -0.517905 0.800964 N1 0.15602 -0.578783 0.800417 N2 0.0697517 -0.258756 0.963421
- txt003
-STRI
- V0 0.0942301 -0.338579 2.63611 V1 0.178322 -0.303616 2.63611 V2 0.10163 -0.173037 2.7
- N0 0.0697517 -0.258756 0.963421 N1 0.134219 -0.231413 0.963552 N2 0.300385 -0.517905 0.800964
- txt003
-STRI
- V0 0.0537037 -0.192963 2.7 V1 0 -0.2 2.7 V2 5.55112e-17 -0.350926 2.63611
- N0 0.15602 -0.578783 0.800417 N1 -9.91271e-17 -0.6 0.8 N2 0 -0.268354 0.96332
- txt003
-STRI
- V0 5.55112e-17 -0.350926 2.63611 V1 0.0942301 -0.338579 2.63611 V2 0.0537037 -0.192963 2.7
- N0 0 -0.268354 0.96332 N1 0.0697517 -0.258756 0.963421 N2 0.15602 -0.578783 0.800417
- txt003
-STRI
- V0 0.350926 0 2.63611 V1 0.338579 -0.0942301 2.63611 V2 0.553875 -0.15415 2.58889
- N0 0.268354 0 0.96332 N1 0.258756 -0.0697517 0.963421 N2 0.162011 -0.0436726 0.985822
- txt003
-STRI
- V0 0.553875 -0.15415 2.58889 V1 0.574074 0 2.58889 V2 0.350926 0 2.63611
- N0 0.162011 -0.0436726 0.985822 N1 0.168031 0 0.985782 N2 0.268354 0 0.96332
- txt003
-STRI
- V0 0.338579 -0.0942301 2.63611 V1 0.303616 -0.178322 2.63611 V2 0.49668 -0.291715 2.58889
- N0 0.258756 -0.0697517 0.963421 N1 0.231413 -0.134219 0.963552 N2 0.144879 -0.0840299 0.985875
- txt003
-STRI
- V0 0.49668 -0.291715 2.58889 V1 0.553875 -0.15415 2.58889 V2 0.338579 -0.0942301 2.63611
- N0 0.144879 -0.0840299 0.985875 N1 0.162011 -0.0436726 0.985822 N2 0.258756 -0.0697517 0.963421
- txt003
-STRI
- V0 0.303616 -0.178322 2.63611 V1 0.249157 -0.249157 2.63611 V2 0.407593 -0.407593 2.58889
- N0 0.231413 -0.134219 0.963552 N1 0.189037 -0.189037 0.963603 N2 0.118345 -0.118345 0.985895
- txt003
-STRI
- V0 0.407593 -0.407593 2.58889 V1 0.49668 -0.291715 2.58889 V2 0.303616 -0.178322 2.63611
- N0 0.118345 -0.118345 0.985895 N1 0.144879 -0.0840299 0.985875 N2 0.231413 -0.134219 0.963552
- txt003
-STRI
- V0 0.249157 -0.249157 2.63611 V1 0.178322 -0.303616 2.63611 V2 0.291715 -0.49668 2.58889
- N0 0.189037 -0.189037 0.963603 N1 0.134219 -0.231413 0.963552 N2 0.0840299 -0.144879 0.985875
- txt003
-STRI
- V0 0.291715 -0.49668 2.58889 V1 0.407593 -0.407593 2.58889 V2 0.249157 -0.249157 2.63611
- N0 0.0840299 -0.144879 0.985875 N1 0.118345 -0.118345 0.985895 N2 0.189037 -0.189037 0.963603
- txt003
-STRI
- V0 0.178322 -0.303616 2.63611 V1 0.0942301 -0.338579 2.63611 V2 0.15415 -0.553875 2.58889
- N0 0.134219 -0.231413 0.963552 N1 0.0697517 -0.258756 0.963421 N2 0.0436726 -0.162011 0.985822
- txt003
-STRI
- V0 0.15415 -0.553875 2.58889 V1 0.291715 -0.49668 2.58889 V2 0.178322 -0.303616 2.63611
- N0 0.0436726 -0.162011 0.985822 N1 0.0840299 -0.144879 0.985875 N2 0.134219 -0.231413 0.963552
- txt003
-STRI
- V0 0.0942301 -0.338579 2.63611 V1 5.55112e-17 -0.350926 2.63611 V2 2.22045e-16 -0.574074 2.58889
- N0 0.0697517 -0.258756 0.963421 N1 0 -0.268354 0.96332 N2 -1.93429e-17 -0.168031 0.985782
- txt003
-STRI
- V0 2.22045e-16 -0.574074 2.58889 V1 0.15415 -0.553875 2.58889 V2 0.0942301 -0.338579 2.63611
- N0 -1.93429e-17 -0.168031 0.985782 N1 0.0436726 -0.162011 0.985822 N2 0.0697517 -0.258756 0.963421
- txt003
-STRI
- V0 0.574074 0 2.58889 V1 0.553875 -0.15415 2.58889 V2 0.795972 -0.221528 2.55
- N0 0.168031 0 0.985782 N1 0.162011 -0.0436726 0.985822 N2 0.143025 -0.0385545 0.988968
- txt003
-STRI
- V0 0.795972 -0.221528 2.55 V1 0.825 0 2.55 V2 0.574074 0 2.58889
- N0 0.143025 -0.0385545 0.988968 N1 0.14834 0 0.988936 N2 0.168031 0 0.985782
- txt003
-STRI
- V0 0.553875 -0.15415 2.58889 V1 0.49668 -0.291715 2.58889 V2 0.713778 -0.419222 2.55
- N0 0.162011 -0.0436726 0.985822 N1 0.144879 -0.0840299 0.985875 N2 0.127899 -0.0741814 0.989009
- txt003
-STRI
- V0 0.713778 -0.419222 2.55 V1 0.795972 -0.221528 2.55 V2 0.553875 -0.15415 2.58889
- N0 0.127899 -0.0741814 0.989009 N1 0.143025 -0.0385545 0.988968 N2 0.162011 -0.0436726 0.985822
- txt003
-STRI
- V0 0.49668 -0.291715 2.58889 V1 0.407593 -0.407593 2.58889 V2 0.58575 -0.58575 2.55
- N0 0.144879 -0.0840299 0.985875 N1 0.118345 -0.118345 0.985895 N2 0.104474 -0.104474 0.989025
- txt003
-STRI
- V0 0.58575 -0.58575 2.55 V1 0.713778 -0.419222 2.55 V2 0.49668 -0.291715 2.58889
- N0 0.104474 -0.104474 0.989025 N1 0.127899 -0.0741814 0.989009 N2 0.144879 -0.0840299 0.985875
- txt003
-STRI
- V0 0.407593 -0.407593 2.58889 V1 0.291715 -0.49668 2.58889 V2 0.419222 -0.713778 2.55
- N0 0.118345 -0.118345 0.985895 N1 0.0840299 -0.144879 0.985875 N2 0.0741814 -0.127899 0.989009
- txt003
-STRI
- V0 0.419222 -0.713778 2.55 V1 0.58575 -0.58575 2.55 V2 0.407593 -0.407593 2.58889
- N0 0.0741814 -0.127899 0.989009 N1 0.104474 -0.104474 0.989025 N2 0.118345 -0.118345 0.985895
- txt003
-STRI
- V0 0.291715 -0.49668 2.58889 V1 0.15415 -0.553875 2.58889 V2 0.221528 -0.795972 2.55
- N0 0.0840299 -0.144879 0.985875 N1 0.0436726 -0.162011 0.985822 N2 0.0385545 -0.143025 0.988968
- txt003
-STRI
- V0 0.221528 -0.795972 2.55 V1 0.419222 -0.713778 2.55 V2 0.291715 -0.49668 2.58889
- N0 0.0385545 -0.143025 0.988968 N1 0.0741814 -0.127899 0.989009 N2 0.0840299 -0.144879 0.985875
- txt003
-STRI
- V0 0.15415 -0.553875 2.58889 V1 2.22045e-16 -0.574074 2.58889 V2 1.11022e-16 -0.825 2.55
- N0 0.0436726 -0.162011 0.985822 N1 -1.93429e-17 -0.168031 0.985782 N2 -2.37649e-17 -0.14834 0.988936
- txt003
-STRI
- V0 1.11022e-16 -0.825 2.55 V1 0.221528 -0.795972 2.55 V2 0.15415 -0.553875 2.58889
- N0 -2.37649e-17 -0.14834 0.988936 N1 0.0385545 -0.143025 0.988968 N2 0.0436726 -0.162011 0.985822
- txt003
-STRI
- V0 0.825 0 2.55 V1 0.795972 -0.221528 2.55 V2 1.02199 -0.284431 2.51111
- N0 0.14834 0 0.988936 N1 0.143025 -0.0385545 0.988968 N2 0.186699 -0.0503275 0.981127
- txt003
-STRI
- V0 1.02199 -0.284431 2.51111 V1 1.05926 0 2.51111 V2 0.825 0 2.55
- N0 0.186699 -0.0503275 0.981127 N1 0.193633 0 0.981074 N2 0.14834 0 0.988936
- txt003
-STRI
- V0 0.795972 -0.221528 2.55 V1 0.713778 -0.419222 2.55 V2 0.916455 -0.538261 2.51111
- N0 0.143025 -0.0385545 0.988968 N1 0.127899 -0.0741814 0.989009 N2 0.166959 -0.0968361 0.981197
- txt003
-STRI
- V0 0.916455 -0.538261 2.51111 V1 1.02199 -0.284431 2.51111 V2 0.795972 -0.221528 2.55
- N0 0.166959 -0.0968361 0.981197 N1 0.186699 -0.0503275 0.981127 N2 0.143025 -0.0385545 0.988968
- txt003
-STRI
- V0 0.713778 -0.419222 2.55 V1 0.58575 -0.58575 2.55 V2 0.752074 -0.752074 2.51111
- N0 0.127899 -0.0741814 0.989009 N1 0.104474 -0.104474 0.989025 N2 0.136382 -0.136382 0.981224
- txt003
-STRI
- V0 0.752074 -0.752074 2.51111 V1 0.916455 -0.538261 2.51111 V2 0.713778 -0.419222 2.55
- N0 0.136382 -0.136382 0.981224 N1 0.166959 -0.0968361 0.981197 N2 0.127899 -0.0741814 0.989009
- txt003
-STRI
- V0 0.58575 -0.58575 2.55 V1 0.419222 -0.713778 2.55 V2 0.538261 -0.916455 2.51111
- N0 0.104474 -0.104474 0.989025 N1 0.0741814 -0.127899 0.989009 N2 0.0968361 -0.166959 0.981197
- txt003
-STRI
- V0 0.538261 -0.916455 2.51111 V1 0.752074 -0.752074 2.51111 V2 0.58575 -0.58575 2.55
- N0 0.0968361 -0.166959 0.981197 N1 0.136382 -0.136382 0.981224 N2 0.104474 -0.104474 0.989025
- txt003
-STRI
- V0 0.419222 -0.713778 2.55 V1 0.221528 -0.795972 2.55 V2 0.284431 -1.02199 2.51111
- N0 0.0741814 -0.127899 0.989009 N1 0.0385545 -0.143025 0.988968 N2 0.0503275 -0.186699 0.981127
- txt003
-STRI
- V0 0.284431 -1.02199 2.51111 V1 0.538261 -0.916455 2.51111 V2 0.419222 -0.713778 2.55
- N0 0.0503275 -0.186699 0.981127 N1 0.0968361 -0.166959 0.981197 N2 0.0741814 -0.127899 0.989009
- txt003
-STRI
- V0 0.221528 -0.795972 2.55 V1 1.11022e-16 -0.825 2.55 V2 4.44089e-16 -1.05926 2.51111
- N0 0.0385545 -0.143025 0.988968 N1 -2.37649e-17 -0.14834 0.988936 N2 -7.24819e-17 -0.193633 0.981074
- txt003
-STRI
- V0 4.44089e-16 -1.05926 2.51111 V1 0.284431 -1.02199 2.51111 V2 0.221528 -0.795972 2.55
- N0 -7.24819e-17 -0.193633 0.981074 N1 0.0503275 -0.186699 0.981127 N2 0.0385545 -0.143025 0.988968
- txt003
-STRI
- V0 1.05926 0 2.51111 V1 1.02199 -0.284431 2.51111 V2 1.18904 -0.330924 2.46389
- N0 0.193633 0 0.981074 N1 0.186699 -0.0503275 0.981127 N2 0.376378 -0.101459 0.920894
- txt003
-STRI
- V0 1.18904 -0.330924 2.46389 V1 1.23241 0 2.46389 V2 1.05926 0 2.51111
- N0 0.376378 -0.101459 0.920894 N1 0.390293 0 0.920691 N2 0.193633 0 0.981074
- txt003
-STRI
- V0 1.02199 -0.284431 2.51111 V1 0.916455 -0.538261 2.51111 V2 1.06626 -0.626246 2.46389
- N0 0.186699 -0.0503275 0.981127 N1 0.166959 -0.0968361 0.981197 N2 0.336657 -0.195261 0.92116
- txt003
-STRI
- V0 1.06626 -0.626246 2.46389 V1 1.18904 -0.330924 2.46389 V2 1.02199 -0.284431 2.51111
- N0 0.336657 -0.195261 0.92116 N1 0.376378 -0.101459 0.920894 N2 0.186699 -0.0503275 0.981127
- txt003
-STRI
- V0 0.916455 -0.538261 2.51111 V1 0.752074 -0.752074 2.51111 V2 0.875009 -0.875009 2.46389
- N0 0.166959 -0.0968361 0.981197 N1 0.136382 -0.136382 0.981224 N2 0.275025 -0.275025 0.921262
- txt003
-STRI
- V0 0.875009 -0.875009 2.46389 V1 1.06626 -0.626246 2.46389 V2 0.916455 -0.538261 2.51111
- N0 0.275025 -0.275025 0.921262 N1 0.336657 -0.195261 0.92116 N2 0.166959 -0.0968361 0.981197
- txt003
-STRI
- V0 0.752074 -0.752074 2.51111 V1 0.538261 -0.916455 2.51111 V2 0.626246 -1.06626 2.46389
- N0 0.136382 -0.136382 0.981224 N1 0.0968361 -0.166959 0.981197 N2 0.195261 -0.336657 0.92116
- txt003
-STRI
- V0 0.626246 -1.06626 2.46389 V1 0.875009 -0.875009 2.46389 V2 0.752074 -0.752074 2.51111
- N0 0.195261 -0.336657 0.92116 N1 0.275025 -0.275025 0.921262 N2 0.136382 -0.136382 0.981224
- txt003
-STRI
- V0 0.538261 -0.916455 2.51111 V1 0.284431 -1.02199 2.51111 V2 0.330924 -1.18904 2.46389
- N0 0.0968361 -0.166959 0.981197 N1 0.0503275 -0.186699 0.981127 N2 0.101459 -0.376378 0.920894
- txt003
-STRI
- V0 0.330924 -1.18904 2.46389 V1 0.626246 -1.06626 2.46389 V2 0.538261 -0.916455 2.51111
- N0 0.101459 -0.376378 0.920894 N1 0.195261 -0.336657 0.92116 N2 0.0968361 -0.166959 0.981197
- txt003
-STRI
- V0 0.284431 -1.02199 2.51111 V1 4.44089e-16 -1.05926 2.51111 V2 4.44089e-16 -1.23241 2.46389
- N0 0.0503275 -0.186699 0.981127 N1 -7.24819e-17 -0.193633 0.981074 N2 -8.37138e-17 -0.390293 0.920691
- txt003
-STRI
- V0 4.44089e-16 -1.23241 2.46389 V1 0.330924 -1.18904 2.46389 V2 0.284431 -1.02199 2.51111
- N0 -8.37138e-17 -0.390293 0.920691 N1 0.101459 -0.376378 0.920894 N2 0.0503275 -0.186699 0.981127
- txt003
-STRI
- V0 1.23241 0 2.46389 V1 1.18904 -0.330924 2.46389 V2 1.25426 -0.349074 2.4
- N0 0.390293 0 0.920691 N1 0.376378 -0.101459 0.920894 N2 0.965535 -0.260275 -1.02004e-15
- txt003
-STRI
- V0 1.25426 -0.349074 2.4 V1 1.3 0 2.4 V2 1.23241 0 2.46389
- N0 0.965535 -0.260275 -1.02004e-15 N1 1 0 -9.86865e-16 N2 0.390293 0 0.920691
- txt003
-STRI
- V0 1.18904 -0.330924 2.46389 V1 1.06626 -0.626246 2.46389 V2 1.12474 -0.660593 2.4
- N0 0.376378 -0.101459 0.920894 N1 0.336657 -0.195261 0.92116 N2 0.865031 -0.501718 -9.69705e-16
- txt003
-STRI
- V0 1.12474 -0.660593 2.4 V1 1.25426 -0.349074 2.4 V2 1.18904 -0.330924 2.46389
- N0 0.865031 -0.501718 -9.69705e-16 N1 0.965535 -0.260275 -1.02004e-15 N2 0.376378 -0.101459 0.920894
- txt003
-STRI
- V0 1.06626 -0.626246 2.46389 V1 0.875009 -0.875009 2.46389 V2 0.923 -0.923 2.4
- N0 0.336657 -0.195261 0.92116 N1 0.275025 -0.275025 0.921262 N2 0.707107 -0.707107 -7.41433e-16
- txt003
-STRI
- V0 0.923 -0.923 2.4 V1 1.12474 -0.660593 2.4 V2 1.06626 -0.626246 2.46389
- N0 0.707107 -0.707107 -7.41433e-16 N1 0.865031 -0.501718 -9.69705e-16 N2 0.336657 -0.195261 0.92116
- txt003
-STRI
- V0 0.875009 -0.875009 2.46389 V1 0.626246 -1.06626 2.46389 V2 0.660593 -1.12474 2.4
- N0 0.275025 -0.275025 0.921262 N1 0.195261 -0.336657 0.92116 N2 0.501718 -0.865031 -4.67305e-16
- txt003
-STRI
- V0 0.660593 -1.12474 2.4 V1 0.923 -0.923 2.4 V2 0.875009 -0.875009 2.46389
- N0 0.501718 -0.865031 -4.67305e-16 N1 0.707107 -0.707107 -7.41433e-16 N2 0.275025 -0.275025 0.921262
- txt003
-STRI
- V0 0.626246 -1.06626 2.46389 V1 0.330924 -1.18904 2.46389 V2 0.349074 -1.25426 2.4
- N0 0.195261 -0.336657 0.92116 N1 0.101459 -0.376378 0.920894 N2 0.260275 -0.965535 -5.24893e-16
- txt003
-STRI
- V0 0.349074 -1.25426 2.4 V1 0.660593 -1.12474 2.4 V2 0.626246 -1.06626 2.46389
- N0 0.260275 -0.965535 -5.24893e-16 N1 0.501718 -0.865031 -4.67305e-16 N2 0.195261 -0.336657 0.92116
- txt003
-STRI
- V0 0.330924 -1.18904 2.46389 V1 4.44089e-16 -1.23241 2.46389 V2 6.66134e-16 -1.3 2.4
- N0 0.101459 -0.376378 0.920894 N1 -8.37138e-17 -0.390293 0.920691 N2 -4.06675e-16 -1 -1.4803e-15
- txt003
-STRI
- V0 6.66134e-16 -1.3 2.4 V1 0.349074 -1.25426 2.4 V2 0.330924 -1.18904 2.46389
- N0 -4.06675e-16 -1 -1.4803e-15 N1 0.260275 -0.965535 -5.24893e-16 N2 0.101459 -0.376378 0.920894
- txt003
-STRI
- V0 0 -0.2 2.7 V1 -0.0537037 -0.192963 2.7 V2 -0.0942301 -0.338579 2.63611
- N0 0 -0.6 0.8 N1 -0.15602 -0.578783 0.800417 N2 -0.0697517 -0.258756 0.963421
- txt003
-STRI
- V0 -0.0942301 -0.338579 2.63611 V1 0 -0.350926 2.63611 V2 0 -0.2 2.7
- N0 -0.0697517 -0.258756 0.963421 N1 0 -0.268354 0.96332 N2 0 -0.6 0.8
- txt003
-STRI
- V0 -0.0537037 -0.192963 2.7 V1 -0.10163 -0.173037 2.7 V2 -0.178322 -0.303616 2.63611
- N0 -0.15602 -0.578783 0.800417 N1 -0.300385 -0.517905 0.800964 N2 -0.134219 -0.231413 0.963552
- txt003
-STRI
- V0 -0.178322 -0.303616 2.63611 V1 -0.0942301 -0.338579 2.63611 V2 -0.0537037 -0.192963 2.7
- N0 -0.134219 -0.231413 0.963552 N1 -0.0697517 -0.258756 0.963421 N2 -0.15602 -0.578783 0.800417
- txt003
-STRI
- V0 -0.10163 -0.173037 2.7 V1 -0.142 -0.142 2.7 V2 -0.249157 -0.249157 2.63611
- N0 -0.300385 -0.517905 0.800964 N1 -0.423155 -0.423155 0.801174 N2 -0.189037 -0.189037 0.963603
- txt003
-STRI
- V0 -0.249157 -0.249157 2.63611 V1 -0.178322 -0.303616 2.63611 V2 -0.10163 -0.173037 2.7
- N0 -0.189037 -0.189037 0.963603 N1 -0.134219 -0.231413 0.963552 N2 -0.300385 -0.517905 0.800964
- txt003
-STRI
- V0 -0.142 -0.142 2.7 V1 -0.173037 -0.10163 2.7 V2 -0.303616 -0.178322 2.63611
- N0 -0.423155 -0.423155 0.801174 N1 -0.517905 -0.300385 0.800964 N2 -0.231413 -0.134219 0.963552
- txt003
-STRI
- V0 -0.303616 -0.178322 2.63611 V1 -0.249157 -0.249157 2.63611 V2 -0.142 -0.142 2.7
- N0 -0.231413 -0.134219 0.963552 N1 -0.189037 -0.189037 0.963603 N2 -0.423155 -0.423155 0.801174
- txt003
-STRI
- V0 -0.173037 -0.10163 2.7 V1 -0.192963 -0.0537037 2.7 V2 -0.338579 -0.0942301 2.63611
- N0 -0.517905 -0.300385 0.800964 N1 -0.578783 -0.15602 0.800417 N2 -0.258756 -0.0697517 0.963421
- txt003
-STRI
- V0 -0.338579 -0.0942301 2.63611 V1 -0.303616 -0.178322 2.63611 V2 -0.173037 -0.10163 2.7
- N0 -0.258756 -0.0697517 0.963421 N1 -0.231413 -0.134219 0.963552 N2 -0.517905 -0.300385 0.800964
- txt003
-STRI
- V0 -0.192963 -0.0537037 2.7 V1 -0.2 0 2.7 V2 -0.350926 -5.55112e-17 2.63611
- N0 -0.578783 -0.15602 0.800417 N1 -0.6 9.91271e-17 0.8 N2 -0.268354 0 0.96332
- txt003
-STRI
- V0 -0.350926 -5.55112e-17 2.63611 V1 -0.338579 -0.0942301 2.63611 V2 -0.192963 -0.0537037 2.7
- N0 -0.268354 0 0.96332 N1 -0.258756 -0.0697517 0.963421 N2 -0.578783 -0.15602 0.800417
- txt003
-STRI
- V0 0 -0.350926 2.63611 V1 -0.0942301 -0.338579 2.63611 V2 -0.15415 -0.553875 2.58889
- N0 0 -0.268354 0.96332 N1 -0.0697517 -0.258756 0.963421 N2 -0.0436726 -0.162011 0.985822
- txt003
-STRI
- V0 -0.15415 -0.553875 2.58889 V1 0 -0.574074 2.58889 V2 0 -0.350926 2.63611
- N0 -0.0436726 -0.162011 0.985822 N1 0 -0.168031 0.985782 N2 0 -0.268354 0.96332
- txt003
-STRI
- V0 -0.0942301 -0.338579 2.63611 V1 -0.178322 -0.303616 2.63611 V2 -0.291715 -0.49668 2.58889
- N0 -0.0697517 -0.258756 0.963421 N1 -0.134219 -0.231413 0.963552 N2 -0.0840299 -0.144879 0.985875
- txt003
-STRI
- V0 -0.291715 -0.49668 2.58889 V1 -0.15415 -0.553875 2.58889 V2 -0.0942301 -0.338579 2.63611
- N0 -0.0840299 -0.144879 0.985875 N1 -0.0436726 -0.162011 0.985822 N2 -0.0697517 -0.258756 0.963421
- txt003
-STRI
- V0 -0.178322 -0.303616 2.63611 V1 -0.249157 -0.249157 2.63611 V2 -0.407593 -0.407593 2.58889
- N0 -0.134219 -0.231413 0.963552 N1 -0.189037 -0.189037 0.963603 N2 -0.118345 -0.118345 0.985895
- txt003
-STRI
- V0 -0.407593 -0.407593 2.58889 V1 -0.291715 -0.49668 2.58889 V2 -0.178322 -0.303616 2.63611
- N0 -0.118345 -0.118345 0.985895 N1 -0.0840299 -0.144879 0.985875 N2 -0.134219 -0.231413 0.963552
- txt003
-STRI
- V0 -0.249157 -0.249157 2.63611 V1 -0.303616 -0.178322 2.63611 V2 -0.49668 -0.291715 2.58889
- N0 -0.189037 -0.189037 0.963603 N1 -0.231413 -0.134219 0.963552 N2 -0.144879 -0.0840299 0.985875
- txt003
-STRI
- V0 -0.49668 -0.291715 2.58889 V1 -0.407593 -0.407593 2.58889 V2 -0.249157 -0.249157 2.63611
- N0 -0.144879 -0.0840299 0.985875 N1 -0.118345 -0.118345 0.985895 N2 -0.189037 -0.189037 0.963603
- txt003
-STRI
- V0 -0.303616 -0.178322 2.63611 V1 -0.338579 -0.0942301 2.63611 V2 -0.553875 -0.15415 2.58889
- N0 -0.231413 -0.134219 0.963552 N1 -0.258756 -0.0697517 0.963421 N2 -0.162011 -0.0436726 0.985822
- txt003
-STRI
- V0 -0.553875 -0.15415 2.58889 V1 -0.49668 -0.291715 2.58889 V2 -0.303616 -0.178322 2.63611
- N0 -0.162011 -0.0436726 0.985822 N1 -0.144879 -0.0840299 0.985875 N2 -0.231413 -0.134219 0.963552
- txt003
-STRI
- V0 -0.338579 -0.0942301 2.63611 V1 -0.350926 -5.55112e-17 2.63611 V2 -0.574074 -2.22045e-16 2.58889
- N0 -0.258756 -0.0697517 0.963421 N1 -0.268354 0 0.96332 N2 -0.168031 1.93429e-17 0.985782
- txt003
-STRI
- V0 -0.574074 -2.22045e-16 2.58889 V1 -0.553875 -0.15415 2.58889 V2 -0.338579 -0.0942301 2.63611
- N0 -0.168031 1.93429e-17 0.985782 N1 -0.162011 -0.0436726 0.985822 N2 -0.258756 -0.0697517 0.963421
- txt003
-STRI
- V0 0 -0.574074 2.58889 V1 -0.15415 -0.553875 2.58889 V2 -0.221528 -0.795972 2.55
- N0 0 -0.168031 0.985782 N1 -0.0436726 -0.162011 0.985822 N2 -0.0385545 -0.143025 0.988968
- txt003
-STRI
- V0 -0.221528 -0.795972 2.55 V1 0 -0.825 2.55 V2 0 -0.574074 2.58889
- N0 -0.0385545 -0.143025 0.988968 N1 0 -0.14834 0.988936 N2 0 -0.168031 0.985782
- txt003
-STRI
- V0 -0.15415 -0.553875 2.58889 V1 -0.291715 -0.49668 2.58889 V2 -0.419222 -0.713778 2.55
- N0 -0.0436726 -0.162011 0.985822 N1 -0.0840299 -0.144879 0.985875 N2 -0.0741814 -0.127899 0.989009
- txt003
-STRI
- V0 -0.419222 -0.713778 2.55 V1 -0.221528 -0.795972 2.55 V2 -0.15415 -0.553875 2.58889
- N0 -0.0741814 -0.127899 0.989009 N1 -0.0385545 -0.143025 0.988968 N2 -0.0436726 -0.162011 0.985822
- txt003
-STRI
- V0 -0.291715 -0.49668 2.58889 V1 -0.407593 -0.407593 2.58889 V2 -0.58575 -0.58575 2.55
- N0 -0.0840299 -0.144879 0.985875 N1 -0.118345 -0.118345 0.985895 N2 -0.104474 -0.104474 0.989025
- txt003
-STRI
- V0 -0.58575 -0.58575 2.55 V1 -0.419222 -0.713778 2.55 V2 -0.291715 -0.49668 2.58889
- N0 -0.104474 -0.104474 0.989025 N1 -0.0741814 -0.127899 0.989009 N2 -0.0840299 -0.144879 0.985875
- txt003
-STRI
- V0 -0.407593 -0.407593 2.58889 V1 -0.49668 -0.291715 2.58889 V2 -0.713778 -0.419222 2.55
- N0 -0.118345 -0.118345 0.985895 N1 -0.144879 -0.0840299 0.985875 N2 -0.127899 -0.0741814 0.989009
- txt003
-STRI
- V0 -0.713778 -0.419222 2.55 V1 -0.58575 -0.58575 2.55 V2 -0.407593 -0.407593 2.58889
- N0 -0.127899 -0.0741814 0.989009 N1 -0.104474 -0.104474 0.989025 N2 -0.118345 -0.118345 0.985895
- txt003
-STRI
- V0 -0.49668 -0.291715 2.58889 V1 -0.553875 -0.15415 2.58889 V2 -0.795972 -0.221528 2.55
- N0 -0.144879 -0.0840299 0.985875 N1 -0.162011 -0.0436726 0.985822 N2 -0.143025 -0.0385545 0.988968
- txt003
-STRI
- V0 -0.795972 -0.221528 2.55 V1 -0.713778 -0.419222 2.55 V2 -0.49668 -0.291715 2.58889
- N0 -0.143025 -0.0385545 0.988968 N1 -0.127899 -0.0741814 0.989009 N2 -0.144879 -0.0840299 0.985875
- txt003
-STRI
- V0 -0.553875 -0.15415 2.58889 V1 -0.574074 -2.22045e-16 2.58889 V2 -0.825 -1.11022e-16 2.55
- N0 -0.162011 -0.0436726 0.985822 N1 -0.168031 1.93429e-17 0.985782 N2 -0.14834 2.37649e-17 0.988936
- txt003
-STRI
- V0 -0.825 -1.11022e-16 2.55 V1 -0.795972 -0.221528 2.55 V2 -0.553875 -0.15415 2.58889
- N0 -0.14834 2.37649e-17 0.988936 N1 -0.143025 -0.0385545 0.988968 N2 -0.162011 -0.0436726 0.985822
- txt003
-STRI
- V0 0 -0.825 2.55 V1 -0.221528 -0.795972 2.55 V2 -0.284431 -1.02199 2.51111
- N0 0 -0.14834 0.988936 N1 -0.0385545 -0.143025 0.988968 N2 -0.0503275 -0.186699 0.981127
- txt003
-STRI
- V0 -0.284431 -1.02199 2.51111 V1 0 -1.05926 2.51111 V2 0 -0.825 2.55
- N0 -0.0503275 -0.186699 0.981127 N1 0 -0.193633 0.981074 N2 0 -0.14834 0.988936
- txt003
-STRI
- V0 -0.221528 -0.795972 2.55 V1 -0.419222 -0.713778 2.55 V2 -0.538261 -0.916455 2.51111
- N0 -0.0385545 -0.143025 0.988968 N1 -0.0741814 -0.127899 0.989009 N2 -0.0968361 -0.166959 0.981197
- txt003
-STRI
- V0 -0.538261 -0.916455 2.51111 V1 -0.284431 -1.02199 2.51111 V2 -0.221528 -0.795972 2.55
- N0 -0.0968361 -0.166959 0.981197 N1 -0.0503275 -0.186699 0.981127 N2 -0.0385545 -0.143025 0.988968
- txt003
-STRI
- V0 -0.419222 -0.713778 2.55 V1 -0.58575 -0.58575 2.55 V2 -0.752074 -0.752074 2.51111
- N0 -0.0741814 -0.127899 0.989009 N1 -0.104474 -0.104474 0.989025 N2 -0.136382 -0.136382 0.981224
- txt003
-STRI
- V0 -0.752074 -0.752074 2.51111 V1 -0.538261 -0.916455 2.51111 V2 -0.419222 -0.713778 2.55
- N0 -0.136382 -0.136382 0.981224 N1 -0.0968361 -0.166959 0.981197 N2 -0.0741814 -0.127899 0.989009
- txt003
-STRI
- V0 -0.58575 -0.58575 2.55 V1 -0.713778 -0.419222 2.55 V2 -0.916455 -0.538261 2.51111
- N0 -0.104474 -0.104474 0.989025 N1 -0.127899 -0.0741814 0.989009 N2 -0.166959 -0.0968361 0.981197
- txt003
-STRI
- V0 -0.916455 -0.538261 2.51111 V1 -0.752074 -0.752074 2.51111 V2 -0.58575 -0.58575 2.55
- N0 -0.166959 -0.0968361 0.981197 N1 -0.136382 -0.136382 0.981224 N2 -0.104474 -0.104474 0.989025
- txt003
-STRI
- V0 -0.713778 -0.419222 2.55 V1 -0.795972 -0.221528 2.55 V2 -1.02199 -0.284431 2.51111
- N0 -0.127899 -0.0741814 0.989009 N1 -0.143025 -0.0385545 0.988968 N2 -0.186699 -0.0503275 0.981127
- txt003
-STRI
- V0 -1.02199 -0.284431 2.51111 V1 -0.916455 -0.538261 2.51111 V2 -0.713778 -0.419222 2.55
- N0 -0.186699 -0.0503275 0.981127 N1 -0.166959 -0.0968361 0.981197 N2 -0.127899 -0.0741814 0.989009
- txt003
-STRI
- V0 -0.795972 -0.221528 2.55 V1 -0.825 -1.11022e-16 2.55 V2 -1.05926 -4.44089e-16 2.51111
- N0 -0.143025 -0.0385545 0.988968 N1 -0.14834 2.37649e-17 0.988936 N2 -0.193633 7.24819e-17 0.981074
- txt003
-STRI
- V0 -1.05926 -4.44089e-16 2.51111 V1 -1.02199 -0.284431 2.51111 V2 -0.795972 -0.221528 2.55
- N0 -0.193633 7.24819e-17 0.981074 N1 -0.186699 -0.0503275 0.981127 N2 -0.143025 -0.0385545 0.988968
- txt003
-STRI
- V0 0 -1.05926 2.51111 V1 -0.284431 -1.02199 2.51111 V2 -0.330924 -1.18904 2.46389
- N0 0 -0.193633 0.981074 N1 -0.0503275 -0.186699 0.981127 N2 -0.101459 -0.376378 0.920894
- txt003
-STRI
- V0 -0.330924 -1.18904 2.46389 V1 0 -1.23241 2.46389 V2 0 -1.05926 2.51111
- N0 -0.101459 -0.376378 0.920894 N1 0 -0.390293 0.920691 N2 0 -0.193633 0.981074
- txt003
-STRI
- V0 -0.284431 -1.02199 2.51111 V1 -0.538261 -0.916455 2.51111 V2 -0.626246 -1.06626 2.46389
- N0 -0.0503275 -0.186699 0.981127 N1 -0.0968361 -0.166959 0.981197 N2 -0.195261 -0.336657 0.92116
- txt003
-STRI
- V0 -0.626246 -1.06626 2.46389 V1 -0.330924 -1.18904 2.46389 V2 -0.284431 -1.02199 2.51111
- N0 -0.195261 -0.336657 0.92116 N1 -0.101459 -0.376378 0.920894 N2 -0.0503275 -0.186699 0.981127
- txt003
-STRI
- V0 -0.538261 -0.916455 2.51111 V1 -0.752074 -0.752074 2.51111 V2 -0.875009 -0.875009 2.46389
- N0 -0.0968361 -0.166959 0.981197 N1 -0.136382 -0.136382 0.981224 N2 -0.275025 -0.275025 0.921262
- txt003
-STRI
- V0 -0.875009 -0.875009 2.46389 V1 -0.626246 -1.06626 2.46389 V2 -0.538261 -0.916455 2.51111
- N0 -0.275025 -0.275025 0.921262 N1 -0.195261 -0.336657 0.92116 N2 -0.0968361 -0.166959 0.981197
- txt003
-STRI
- V0 -0.752074 -0.752074 2.51111 V1 -0.916455 -0.538261 2.51111 V2 -1.06626 -0.626246 2.46389
- N0 -0.136382 -0.136382 0.981224 N1 -0.166959 -0.0968361 0.981197 N2 -0.336657 -0.195261 0.92116
- txt003
-STRI
- V0 -1.06626 -0.626246 2.46389 V1 -0.875009 -0.875009 2.46389 V2 -0.752074 -0.752074 2.51111
- N0 -0.336657 -0.195261 0.92116 N1 -0.275025 -0.275025 0.921262 N2 -0.136382 -0.136382 0.981224
- txt003
-STRI
- V0 -0.916455 -0.538261 2.51111 V1 -1.02199 -0.284431 2.51111 V2 -1.18904 -0.330924 2.46389
- N0 -0.166959 -0.0968361 0.981197 N1 -0.186699 -0.0503275 0.981127 N2 -0.376378 -0.101459 0.920894
- txt003
-STRI
- V0 -1.18904 -0.330924 2.46389 V1 -1.06626 -0.626246 2.46389 V2 -0.916455 -0.538261 2.51111
- N0 -0.376378 -0.101459 0.920894 N1 -0.336657 -0.195261 0.92116 N2 -0.166959 -0.0968361 0.981197
- txt003
-STRI
- V0 -1.02199 -0.284431 2.51111 V1 -1.05926 -4.44089e-16 2.51111 V2 -1.23241 -4.44089e-16 2.46389
- N0 -0.186699 -0.0503275 0.981127 N1 -0.193633 7.24819e-17 0.981074 N2 -0.390293 8.37138e-17 0.920691
- txt003
-STRI
- V0 -1.23241 -4.44089e-16 2.46389 V1 -1.18904 -0.330924 2.46389 V2 -1.02199 -0.284431 2.51111
- N0 -0.390293 8.37138e-17 0.920691 N1 -0.376378 -0.101459 0.920894 N2 -0.186699 -0.0503275 0.981127
- txt003
-STRI
- V0 0 -1.23241 2.46389 V1 -0.330924 -1.18904 2.46389 V2 -0.349074 -1.25426 2.4
- N0 0 -0.390293 0.920691 N1 -0.101459 -0.376378 0.920894 N2 -0.260275 -0.965535 -1.02004e-15
- txt003
-STRI
- V0 -0.349074 -1.25426 2.4 V1 0 -1.3 2.4 V2 0 -1.23241 2.46389
- N0 -0.260275 -0.965535 -1.02004e-15 N1 -0 -1 -9.86865e-16 N2 0 -0.390293 0.920691
- txt003
-STRI
- V0 -0.330924 -1.18904 2.46389 V1 -0.626246 -1.06626 2.46389 V2 -0.660593 -1.12474 2.4
- N0 -0.101459 -0.376378 0.920894 N1 -0.195261 -0.336657 0.92116 N2 -0.501718 -0.865031 -9.69705e-16
- txt003
-STRI
- V0 -0.660593 -1.12474 2.4 V1 -0.349074 -1.25426 2.4 V2 -0.330924 -1.18904 2.46389
- N0 -0.501718 -0.865031 -9.69705e-16 N1 -0.260275 -0.965535 -1.02004e-15 N2 -0.101459 -0.376378 0.920894
- txt003
-STRI
- V0 -0.626246 -1.06626 2.46389 V1 -0.875009 -0.875009 2.46389 V2 -0.923 -0.923 2.4
- N0 -0.195261 -0.336657 0.92116 N1 -0.275025 -0.275025 0.921262 N2 -0.707107 -0.707107 -7.41433e-16
- txt003
-STRI
- V0 -0.923 -0.923 2.4 V1 -0.660593 -1.12474 2.4 V2 -0.626246 -1.06626 2.46389
- N0 -0.707107 -0.707107 -7.41433e-16 N1 -0.501718 -0.865031 -9.69705e-16 N2 -0.195261 -0.336657 0.92116
- txt003
-STRI
- V0 -0.875009 -0.875009 2.46389 V1 -1.06626 -0.626246 2.46389 V2 -1.12474 -0.660593 2.4
- N0 -0.275025 -0.275025 0.921262 N1 -0.336657 -0.195261 0.92116 N2 -0.865031 -0.501718 -4.67305e-16
- txt003
-STRI
- V0 -1.12474 -0.660593 2.4 V1 -0.923 -0.923 2.4 V2 -0.875009 -0.875009 2.46389
- N0 -0.865031 -0.501718 -4.67305e-16 N1 -0.707107 -0.707107 -7.41433e-16 N2 -0.275025 -0.275025 0.921262
- txt003
-STRI
- V0 -1.06626 -0.626246 2.46389 V1 -1.18904 -0.330924 2.46389 V2 -1.25426 -0.349074 2.4
- N0 -0.336657 -0.195261 0.92116 N1 -0.376378 -0.101459 0.920894 N2 -0.965535 -0.260275 -5.24893e-16
- txt003
-STRI
- V0 -1.25426 -0.349074 2.4 V1 -1.12474 -0.660593 2.4 V2 -1.06626 -0.626246 2.46389
- N0 -0.965535 -0.260275 -5.24893e-16 N1 -0.865031 -0.501718 -4.67305e-16 N2 -0.336657 -0.195261 0.92116
- txt003
-STRI
- V0 -1.18904 -0.330924 2.46389 V1 -1.23241 -4.44089e-16 2.46389 V2 -1.3 -6.66134e-16 2.4
- N0 -0.376378 -0.101459 0.920894 N1 -0.390293 8.37138e-17 0.920691 N2 -1 4.06675e-16 -1.4803e-15
- txt003
-STRI
- V0 -1.3 -6.66134e-16 2.4 V1 -1.25426 -0.349074 2.4 V2 -1.18904 -0.330924 2.46389
- N0 -1 4.06675e-16 -1.4803e-15 N1 -0.965535 -0.260275 -5.24893e-16 N2 -0.376378 -0.101459 0.920894
- txt003
-STRI
- V0 -0.2 0 2.7 V1 -0.192963 0.0537037 2.7 V2 -0.338579 0.0942301 2.63611
- N0 -0.6 0 0.8 N1 -0.578783 0.15602 0.800417 N2 -0.258756 0.0697517 0.963421
- txt003
-STRI
- V0 -0.338579 0.0942301 2.63611 V1 -0.350926 0 2.63611 V2 -0.2 0 2.7
- N0 -0.258756 0.0697517 0.963421 N1 -0.268354 0 0.96332 N2 -0.6 0 0.8
- txt003
-STRI
- V0 -0.192963 0.0537037 2.7 V1 -0.173037 0.10163 2.7 V2 -0.303616 0.178322 2.63611
- N0 -0.578783 0.15602 0.800417 N1 -0.517905 0.300385 0.800964 N2 -0.231413 0.134219 0.963552
- txt003
-STRI
- V0 -0.303616 0.178322 2.63611 V1 -0.338579 0.0942301 2.63611 V2 -0.192963 0.0537037 2.7
- N0 -0.231413 0.134219 0.963552 N1 -0.258756 0.0697517 0.963421 N2 -0.578783 0.15602 0.800417
- txt003
-STRI
- V0 -0.173037 0.10163 2.7 V1 -0.142 0.142 2.7 V2 -0.249157 0.249157 2.63611
- N0 -0.517905 0.300385 0.800964 N1 -0.423155 0.423155 0.801174 N2 -0.189037 0.189037 0.963603
- txt003
-STRI
- V0 -0.249157 0.249157 2.63611 V1 -0.303616 0.178322 2.63611 V2 -0.173037 0.10163 2.7
- N0 -0.189037 0.189037 0.963603 N1 -0.231413 0.134219 0.963552 N2 -0.517905 0.300385 0.800964
- txt003
-STRI
- V0 -0.142 0.142 2.7 V1 -0.10163 0.173037 2.7 V2 -0.178322 0.303616 2.63611
- N0 -0.423155 0.423155 0.801174 N1 -0.300385 0.517905 0.800964 N2 -0.134219 0.231413 0.963552
- txt003
-STRI
- V0 -0.178322 0.303616 2.63611 V1 -0.249157 0.249157 2.63611 V2 -0.142 0.142 2.7
- N0 -0.134219 0.231413 0.963552 N1 -0.189037 0.189037 0.963603 N2 -0.423155 0.423155 0.801174
- txt003
-STRI
- V0 -0.10163 0.173037 2.7 V1 -0.0537037 0.192963 2.7 V2 -0.0942301 0.338579 2.63611
- N0 -0.300385 0.517905 0.800964 N1 -0.15602 0.578783 0.800417 N2 -0.0697517 0.258756 0.963421
- txt003
-STRI
- V0 -0.0942301 0.338579 2.63611 V1 -0.178322 0.303616 2.63611 V2 -0.10163 0.173037 2.7
- N0 -0.0697517 0.258756 0.963421 N1 -0.134219 0.231413 0.963552 N2 -0.300385 0.517905 0.800964
- txt003
-STRI
- V0 -0.0537037 0.192963 2.7 V1 0 0.2 2.7 V2 -5.55112e-17 0.350926 2.63611
- N0 -0.15602 0.578783 0.800417 N1 9.91271e-17 0.6 0.8 N2 -0 0.268354 0.96332
- txt003
-STRI
- V0 -5.55112e-17 0.350926 2.63611 V1 -0.0942301 0.338579 2.63611 V2 -0.0537037 0.192963 2.7
- N0 -0 0.268354 0.96332 N1 -0.0697517 0.258756 0.963421 N2 -0.15602 0.578783 0.800417
- txt003
-STRI
- V0 -0.350926 0 2.63611 V1 -0.338579 0.0942301 2.63611 V2 -0.553875 0.15415 2.58889
- N0 -0.268354 0 0.96332 N1 -0.258756 0.0697517 0.963421 N2 -0.162011 0.0436726 0.985822
- txt003
-STRI
- V0 -0.553875 0.15415 2.58889 V1 -0.574074 0 2.58889 V2 -0.350926 0 2.63611
- N0 -0.162011 0.0436726 0.985822 N1 -0.168031 0 0.985782 N2 -0.268354 0 0.96332
- txt003
-STRI
- V0 -0.338579 0.0942301 2.63611 V1 -0.303616 0.178322 2.63611 V2 -0.49668 0.291715 2.58889
- N0 -0.258756 0.0697517 0.963421 N1 -0.231413 0.134219 0.963552 N2 -0.144879 0.0840299 0.985875
- txt003
-STRI
- V0 -0.49668 0.291715 2.58889 V1 -0.553875 0.15415 2.58889 V2 -0.338579 0.0942301 2.63611
- N0 -0.144879 0.0840299 0.985875 N1 -0.162011 0.0436726 0.985822 N2 -0.258756 0.0697517 0.963421
- txt003
-STRI
- V0 -0.303616 0.178322 2.63611 V1 -0.249157 0.249157 2.63611 V2 -0.407593 0.407593 2.58889
- N0 -0.231413 0.134219 0.963552 N1 -0.189037 0.189037 0.963603 N2 -0.118345 0.118345 0.985895
- txt003
-STRI
- V0 -0.407593 0.407593 2.58889 V1 -0.49668 0.291715 2.58889 V2 -0.303616 0.178322 2.63611
- N0 -0.118345 0.118345 0.985895 N1 -0.144879 0.0840299 0.985875 N2 -0.231413 0.134219 0.963552
- txt003
-STRI
- V0 -0.249157 0.249157 2.63611 V1 -0.178322 0.303616 2.63611 V2 -0.291715 0.49668 2.58889
- N0 -0.189037 0.189037 0.963603 N1 -0.134219 0.231413 0.963552 N2 -0.0840299 0.144879 0.985875
- txt003
-STRI
- V0 -0.291715 0.49668 2.58889 V1 -0.407593 0.407593 2.58889 V2 -0.249157 0.249157 2.63611
- N0 -0.0840299 0.144879 0.985875 N1 -0.118345 0.118345 0.985895 N2 -0.189037 0.189037 0.963603
- txt003
-STRI
- V0 -0.178322 0.303616 2.63611 V1 -0.0942301 0.338579 2.63611 V2 -0.15415 0.553875 2.58889
- N0 -0.134219 0.231413 0.963552 N1 -0.0697517 0.258756 0.963421 N2 -0.0436726 0.162011 0.985822
- txt003
-STRI
- V0 -0.15415 0.553875 2.58889 V1 -0.291715 0.49668 2.58889 V2 -0.178322 0.303616 2.63611
- N0 -0.0436726 0.162011 0.985822 N1 -0.0840299 0.144879 0.985875 N2 -0.134219 0.231413 0.963552
- txt003
-STRI
- V0 -0.0942301 0.338579 2.63611 V1 -5.55112e-17 0.350926 2.63611 V2 -2.22045e-16 0.574074 2.58889
- N0 -0.0697517 0.258756 0.963421 N1 -0 0.268354 0.96332 N2 1.93429e-17 0.168031 0.985782
- txt003
-STRI
- V0 -2.22045e-16 0.574074 2.58889 V1 -0.15415 0.553875 2.58889 V2 -0.0942301 0.338579 2.63611
- N0 1.93429e-17 0.168031 0.985782 N1 -0.0436726 0.162011 0.985822 N2 -0.0697517 0.258756 0.963421
- txt003
-STRI
- V0 -0.574074 0 2.58889 V1 -0.553875 0.15415 2.58889 V2 -0.795972 0.221528 2.55
- N0 -0.168031 0 0.985782 N1 -0.162011 0.0436726 0.985822 N2 -0.143025 0.0385545 0.988968
- txt003
-STRI
- V0 -0.795972 0.221528 2.55 V1 -0.825 0 2.55 V2 -0.574074 0 2.58889
- N0 -0.143025 0.0385545 0.988968 N1 -0.14834 0 0.988936 N2 -0.168031 0 0.985782
- txt003
-STRI
- V0 -0.553875 0.15415 2.58889 V1 -0.49668 0.291715 2.58889 V2 -0.713778 0.419222 2.55
- N0 -0.162011 0.0436726 0.985822 N1 -0.144879 0.0840299 0.985875 N2 -0.127899 0.0741814 0.989009
- txt003
-STRI
- V0 -0.713778 0.419222 2.55 V1 -0.795972 0.221528 2.55 V2 -0.553875 0.15415 2.58889
- N0 -0.127899 0.0741814 0.989009 N1 -0.143025 0.0385545 0.988968 N2 -0.162011 0.0436726 0.985822
- txt003
-STRI
- V0 -0.49668 0.291715 2.58889 V1 -0.407593 0.407593 2.58889 V2 -0.58575 0.58575 2.55
- N0 -0.144879 0.0840299 0.985875 N1 -0.118345 0.118345 0.985895 N2 -0.104474 0.104474 0.989025
- txt003
-STRI
- V0 -0.58575 0.58575 2.55 V1 -0.713778 0.419222 2.55 V2 -0.49668 0.291715 2.58889
- N0 -0.104474 0.104474 0.989025 N1 -0.127899 0.0741814 0.989009 N2 -0.144879 0.0840299 0.985875
- txt003
-STRI
- V0 -0.407593 0.407593 2.58889 V1 -0.291715 0.49668 2.58889 V2 -0.419222 0.713778 2.55
- N0 -0.118345 0.118345 0.985895 N1 -0.0840299 0.144879 0.985875 N2 -0.0741814 0.127899 0.989009
- txt003
-STRI
- V0 -0.419222 0.713778 2.55 V1 -0.58575 0.58575 2.55 V2 -0.407593 0.407593 2.58889
- N0 -0.0741814 0.127899 0.989009 N1 -0.104474 0.104474 0.989025 N2 -0.118345 0.118345 0.985895
- txt003
-STRI
- V0 -0.291715 0.49668 2.58889 V1 -0.15415 0.553875 2.58889 V2 -0.221528 0.795972 2.55
- N0 -0.0840299 0.144879 0.985875 N1 -0.0436726 0.162011 0.985822 N2 -0.0385545 0.143025 0.988968
- txt003
-STRI
- V0 -0.221528 0.795972 2.55 V1 -0.419222 0.713778 2.55 V2 -0.291715 0.49668 2.58889
- N0 -0.0385545 0.143025 0.988968 N1 -0.0741814 0.127899 0.989009 N2 -0.0840299 0.144879 0.985875
- txt003
-STRI
- V0 -0.15415 0.553875 2.58889 V1 -2.22045e-16 0.574074 2.58889 V2 -1.11022e-16 0.825 2.55
- N0 -0.0436726 0.162011 0.985822 N1 1.93429e-17 0.168031 0.985782 N2 2.37649e-17 0.14834 0.988936
- txt003
-STRI
- V0 -1.11022e-16 0.825 2.55 V1 -0.221528 0.795972 2.55 V2 -0.15415 0.553875 2.58889
- N0 2.37649e-17 0.14834 0.988936 N1 -0.0385545 0.143025 0.988968 N2 -0.0436726 0.162011 0.985822
- txt003
-STRI
- V0 -0.825 0 2.55 V1 -0.795972 0.221528 2.55 V2 -1.02199 0.284431 2.51111
- N0 -0.14834 0 0.988936 N1 -0.143025 0.0385545 0.988968 N2 -0.186699 0.0503275 0.981127
- txt003
-STRI
- V0 -1.02199 0.284431 2.51111 V1 -1.05926 0 2.51111 V2 -0.825 0 2.55
- N0 -0.186699 0.0503275 0.981127 N1 -0.193633 0 0.981074 N2 -0.14834 0 0.988936
- txt003
-STRI
- V0 -0.795972 0.221528 2.55 V1 -0.713778 0.419222 2.55 V2 -0.916455 0.538261 2.51111
- N0 -0.143025 0.0385545 0.988968 N1 -0.127899 0.0741814 0.989009 N2 -0.166959 0.0968361 0.981197
- txt003
-STRI
- V0 -0.916455 0.538261 2.51111 V1 -1.02199 0.284431 2.51111 V2 -0.795972 0.221528 2.55
- N0 -0.166959 0.0968361 0.981197 N1 -0.186699 0.0503275 0.981127 N2 -0.143025 0.0385545 0.988968
- txt003
-STRI
- V0 -0.713778 0.419222 2.55 V1 -0.58575 0.58575 2.55 V2 -0.752074 0.752074 2.51111
- N0 -0.127899 0.0741814 0.989009 N1 -0.104474 0.104474 0.989025 N2 -0.136382 0.136382 0.981224
- txt003
-STRI
- V0 -0.752074 0.752074 2.51111 V1 -0.916455 0.538261 2.51111 V2 -0.713778 0.419222 2.55
- N0 -0.136382 0.136382 0.981224 N1 -0.166959 0.0968361 0.981197 N2 -0.127899 0.0741814 0.989009
- txt003
-STRI
- V0 -0.58575 0.58575 2.55 V1 -0.419222 0.713778 2.55 V2 -0.538261 0.916455 2.51111
- N0 -0.104474 0.104474 0.989025 N1 -0.0741814 0.127899 0.989009 N2 -0.0968361 0.166959 0.981197
- txt003
-STRI
- V0 -0.538261 0.916455 2.51111 V1 -0.752074 0.752074 2.51111 V2 -0.58575 0.58575 2.55
- N0 -0.0968361 0.166959 0.981197 N1 -0.136382 0.136382 0.981224 N2 -0.104474 0.104474 0.989025
- txt003
-STRI
- V0 -0.419222 0.713778 2.55 V1 -0.221528 0.795972 2.55 V2 -0.284431 1.02199 2.51111
- N0 -0.0741814 0.127899 0.989009 N1 -0.0385545 0.143025 0.988968 N2 -0.0503275 0.186699 0.981127
- txt003
-STRI
- V0 -0.284431 1.02199 2.51111 V1 -0.538261 0.916455 2.51111 V2 -0.419222 0.713778 2.55
- N0 -0.0503275 0.186699 0.981127 N1 -0.0968361 0.166959 0.981197 N2 -0.0741814 0.127899 0.989009
- txt003
-STRI
- V0 -0.221528 0.795972 2.55 V1 -1.11022e-16 0.825 2.55 V2 -4.44089e-16 1.05926 2.51111
- N0 -0.0385545 0.143025 0.988968 N1 2.37649e-17 0.14834 0.988936 N2 7.24819e-17 0.193633 0.981074
- txt003
-STRI
- V0 -4.44089e-16 1.05926 2.51111 V1 -0.284431 1.02199 2.51111 V2 -0.221528 0.795972 2.55
- N0 7.24819e-17 0.193633 0.981074 N1 -0.0503275 0.186699 0.981127 N2 -0.0385545 0.143025 0.988968
- txt003
-STRI
- V0 -1.05926 0 2.51111 V1 -1.02199 0.284431 2.51111 V2 -1.18904 0.330924 2.46389
- N0 -0.193633 0 0.981074 N1 -0.186699 0.0503275 0.981127 N2 -0.376378 0.101459 0.920894
- txt003
-STRI
- V0 -1.18904 0.330924 2.46389 V1 -1.23241 0 2.46389 V2 -1.05926 0 2.51111
- N0 -0.376378 0.101459 0.920894 N1 -0.390293 0 0.920691 N2 -0.193633 0 0.981074
- txt003
-STRI
- V0 -1.02199 0.284431 2.51111 V1 -0.916455 0.538261 2.51111 V2 -1.06626 0.626246 2.46389
- N0 -0.186699 0.0503275 0.981127 N1 -0.166959 0.0968361 0.981197 N2 -0.336657 0.195261 0.92116
- txt003
-STRI
- V0 -1.06626 0.626246 2.46389 V1 -1.18904 0.330924 2.46389 V2 -1.02199 0.284431 2.51111
- N0 -0.336657 0.195261 0.92116 N1 -0.376378 0.101459 0.920894 N2 -0.186699 0.0503275 0.981127
- txt003
-STRI
- V0 -0.916455 0.538261 2.51111 V1 -0.752074 0.752074 2.51111 V2 -0.875009 0.875009 2.46389
- N0 -0.166959 0.0968361 0.981197 N1 -0.136382 0.136382 0.981224 N2 -0.275025 0.275025 0.921262
- txt003
-STRI
- V0 -0.875009 0.875009 2.46389 V1 -1.06626 0.626246 2.46389 V2 -0.916455 0.538261 2.51111
- N0 -0.275025 0.275025 0.921262 N1 -0.336657 0.195261 0.92116 N2 -0.166959 0.0968361 0.981197
- txt003
-STRI
- V0 -0.752074 0.752074 2.51111 V1 -0.538261 0.916455 2.51111 V2 -0.626246 1.06626 2.46389
- N0 -0.136382 0.136382 0.981224 N1 -0.0968361 0.166959 0.981197 N2 -0.195261 0.336657 0.92116
- txt003
-STRI
- V0 -0.626246 1.06626 2.46389 V1 -0.875009 0.875009 2.46389 V2 -0.752074 0.752074 2.51111
- N0 -0.195261 0.336657 0.92116 N1 -0.275025 0.275025 0.921262 N2 -0.136382 0.136382 0.981224
- txt003
-STRI
- V0 -0.538261 0.916455 2.51111 V1 -0.284431 1.02199 2.51111 V2 -0.330924 1.18904 2.46389
- N0 -0.0968361 0.166959 0.981197 N1 -0.0503275 0.186699 0.981127 N2 -0.101459 0.376378 0.920894
- txt003
-STRI
- V0 -0.330924 1.18904 2.46389 V1 -0.626246 1.06626 2.46389 V2 -0.538261 0.916455 2.51111
- N0 -0.101459 0.376378 0.920894 N1 -0.195261 0.336657 0.92116 N2 -0.0968361 0.166959 0.981197
- txt003
-STRI
- V0 -0.284431 1.02199 2.51111 V1 -4.44089e-16 1.05926 2.51111 V2 -4.44089e-16 1.23241 2.46389
- N0 -0.0503275 0.186699 0.981127 N1 7.24819e-17 0.193633 0.981074 N2 8.37138e-17 0.390293 0.920691
- txt003
-STRI
- V0 -4.44089e-16 1.23241 2.46389 V1 -0.330924 1.18904 2.46389 V2 -0.284431 1.02199 2.51111
- N0 8.37138e-17 0.390293 0.920691 N1 -0.101459 0.376378 0.920894 N2 -0.0503275 0.186699 0.981127
- txt003
-STRI
- V0 -1.23241 0 2.46389 V1 -1.18904 0.330924 2.46389 V2 -1.25426 0.349074 2.4
- N0 -0.390293 0 0.920691 N1 -0.376378 0.101459 0.920894 N2 -0.965535 0.260275 -1.02004e-15
- txt003
-STRI
- V0 -1.25426 0.349074 2.4 V1 -1.3 0 2.4 V2 -1.23241 0 2.46389
- N0 -0.965535 0.260275 -1.02004e-15 N1 -1 0 -9.86865e-16 N2 -0.390293 0 0.920691
- txt003
-STRI
- V0 -1.18904 0.330924 2.46389 V1 -1.06626 0.626246 2.46389 V2 -1.12474 0.660593 2.4
- N0 -0.376378 0.101459 0.920894 N1 -0.336657 0.195261 0.92116 N2 -0.865031 0.501718 -9.69705e-16
- txt003
-STRI
- V0 -1.12474 0.660593 2.4 V1 -1.25426 0.349074 2.4 V2 -1.18904 0.330924 2.46389
- N0 -0.865031 0.501718 -9.69705e-16 N1 -0.965535 0.260275 -1.02004e-15 N2 -0.376378 0.101459 0.920894
- txt003
-STRI
- V0 -1.06626 0.626246 2.46389 V1 -0.875009 0.875009 2.46389 V2 -0.923 0.923 2.4
- N0 -0.336657 0.195261 0.92116 N1 -0.275025 0.275025 0.921262 N2 -0.707107 0.707107 -7.41433e-16
- txt003
-STRI
- V0 -0.923 0.923 2.4 V1 -1.12474 0.660593 2.4 V2 -1.06626 0.626246 2.46389
- N0 -0.707107 0.707107 -7.41433e-16 N1 -0.865031 0.501718 -9.69705e-16 N2 -0.336657 0.195261 0.92116
- txt003
-STRI
- V0 -0.875009 0.875009 2.46389 V1 -0.626246 1.06626 2.46389 V2 -0.660593 1.12474 2.4
- N0 -0.275025 0.275025 0.921262 N1 -0.195261 0.336657 0.92116 N2 -0.501718 0.865031 -4.67305e-16
- txt003
-STRI
- V0 -0.660593 1.12474 2.4 V1 -0.923 0.923 2.4 V2 -0.875009 0.875009 2.46389
- N0 -0.501718 0.865031 -4.67305e-16 N1 -0.707107 0.707107 -7.41433e-16 N2 -0.275025 0.275025 0.921262
- txt003
-STRI
- V0 -0.626246 1.06626 2.46389 V1 -0.330924 1.18904 2.46389 V2 -0.349074 1.25426 2.4
- N0 -0.195261 0.336657 0.92116 N1 -0.101459 0.376378 0.920894 N2 -0.260275 0.965535 -5.24893e-16
- txt003
-STRI
- V0 -0.349074 1.25426 2.4 V1 -0.660593 1.12474 2.4 V2 -0.626246 1.06626 2.46389
- N0 -0.260275 0.965535 -5.24893e-16 N1 -0.501718 0.865031 -4.67305e-16 N2 -0.195261 0.336657 0.92116
- txt003
-STRI
- V0 -0.330924 1.18904 2.46389 V1 -4.44089e-16 1.23241 2.46389 V2 -6.66134e-16 1.3 2.4
- N0 -0.101459 0.376378 0.920894 N1 8.37138e-17 0.390293 0.920691 N2 4.06675e-16 1 -1.4803e-15
- txt003
-STRI
- V0 -6.66134e-16 1.3 2.4 V1 -0.349074 1.25426 2.4 V2 -0.330924 1.18904 2.46389
- N0 4.06675e-16 1 -1.4803e-15 N1 -0.260275 0.965535 -5.24893e-16 N2 -0.101459 0.376378 0.920894
- txt003
-STRI
- V0 0 0.2 2.7 V1 0.0537037 0.192963 2.7 V2 0.0942301 0.338579 2.63611
- N0 -0 0.6 0.8 N1 0.15602 0.578783 0.800417 N2 0.0697517 0.258756 0.963421
- txt003
-STRI
- V0 0.0942301 0.338579 2.63611 V1 0 0.350926 2.63611 V2 0 0.2 2.7
- N0 0.0697517 0.258756 0.963421 N1 -0 0.268354 0.96332 N2 -0 0.6 0.8
- txt003
-STRI
- V0 0.0537037 0.192963 2.7 V1 0.10163 0.173037 2.7 V2 0.178322 0.303616 2.63611
- N0 0.15602 0.578783 0.800417 N1 0.300385 0.517905 0.800964 N2 0.134219 0.231413 0.963552
- txt003
-STRI
- V0 0.178322 0.303616 2.63611 V1 0.0942301 0.338579 2.63611 V2 0.0537037 0.192963 2.7
- N0 0.134219 0.231413 0.963552 N1 0.0697517 0.258756 0.963421 N2 0.15602 0.578783 0.800417
- txt003
-STRI
- V0 0.10163 0.173037 2.7 V1 0.142 0.142 2.7 V2 0.249157 0.249157 2.63611
- N0 0.300385 0.517905 0.800964 N1 0.423155 0.423155 0.801174 N2 0.189037 0.189037 0.963603
- txt003
-STRI
- V0 0.249157 0.249157 2.63611 V1 0.178322 0.303616 2.63611 V2 0.10163 0.173037 2.7
- N0 0.189037 0.189037 0.963603 N1 0.134219 0.231413 0.963552 N2 0.300385 0.517905 0.800964
- txt003
-STRI
- V0 0.142 0.142 2.7 V1 0.173037 0.10163 2.7 V2 0.303616 0.178322 2.63611
- N0 0.423155 0.423155 0.801174 N1 0.517905 0.300385 0.800964 N2 0.231413 0.134219 0.963552
- txt003
-STRI
- V0 0.303616 0.178322 2.63611 V1 0.249157 0.249157 2.63611 V2 0.142 0.142 2.7
- N0 0.231413 0.134219 0.963552 N1 0.189037 0.189037 0.963603 N2 0.423155 0.423155 0.801174
- txt003
-STRI
- V0 0.173037 0.10163 2.7 V1 0.192963 0.0537037 2.7 V2 0.338579 0.0942301 2.63611
- N0 0.517905 0.300385 0.800964 N1 0.578783 0.15602 0.800417 N2 0.258756 0.0697517 0.963421
- txt003
-STRI
- V0 0.338579 0.0942301 2.63611 V1 0.303616 0.178322 2.63611 V2 0.173037 0.10163 2.7
- N0 0.258756 0.0697517 0.963421 N1 0.231413 0.134219 0.963552 N2 0.517905 0.300385 0.800964
- txt003
-STRI
- V0 0.192963 0.0537037 2.7 V1 0.2 0 2.7 V2 0.350926 5.55112e-17 2.63611
- N0 0.578783 0.15602 0.800417 N1 0.6 -9.91271e-17 0.8 N2 0.268354 0 0.96332
- txt003
-STRI
- V0 0.350926 5.55112e-17 2.63611 V1 0.338579 0.0942301 2.63611 V2 0.192963 0.0537037 2.7
- N0 0.268354 0 0.96332 N1 0.258756 0.0697517 0.963421 N2 0.578783 0.15602 0.800417
- txt003
-STRI
- V0 0 0.350926 2.63611 V1 0.0942301 0.338579 2.63611 V2 0.15415 0.553875 2.58889
- N0 -0 0.268354 0.96332 N1 0.0697517 0.258756 0.963421 N2 0.0436726 0.162011 0.985822
- txt003
-STRI
- V0 0.15415 0.553875 2.58889 V1 0 0.574074 2.58889 V2 0 0.350926 2.63611
- N0 0.0436726 0.162011 0.985822 N1 -0 0.168031 0.985782 N2 -0 0.268354 0.96332
- txt003
-STRI
- V0 0.0942301 0.338579 2.63611 V1 0.178322 0.303616 2.63611 V2 0.291715 0.49668 2.58889
- N0 0.0697517 0.258756 0.963421 N1 0.134219 0.231413 0.963552 N2 0.0840299 0.144879 0.985875
- txt003
-STRI
- V0 0.291715 0.49668 2.58889 V1 0.15415 0.553875 2.58889 V2 0.0942301 0.338579 2.63611
- N0 0.0840299 0.144879 0.985875 N1 0.0436726 0.162011 0.985822 N2 0.0697517 0.258756 0.963421
- txt003
-STRI
- V0 0.178322 0.303616 2.63611 V1 0.249157 0.249157 2.63611 V2 0.407593 0.407593 2.58889
- N0 0.134219 0.231413 0.963552 N1 0.189037 0.189037 0.963603 N2 0.118345 0.118345 0.985895
- txt003
-STRI
- V0 0.407593 0.407593 2.58889 V1 0.291715 0.49668 2.58889 V2 0.178322 0.303616 2.63611
- N0 0.118345 0.118345 0.985895 N1 0.0840299 0.144879 0.985875 N2 0.134219 0.231413 0.963552
- txt003
-STRI
- V0 0.249157 0.249157 2.63611 V1 0.303616 0.178322 2.63611 V2 0.49668 0.291715 2.58889
- N0 0.189037 0.189037 0.963603 N1 0.231413 0.134219 0.963552 N2 0.144879 0.0840299 0.985875
- txt003
-STRI
- V0 0.49668 0.291715 2.58889 V1 0.407593 0.407593 2.58889 V2 0.249157 0.249157 2.63611
- N0 0.144879 0.0840299 0.985875 N1 0.118345 0.118345 0.985895 N2 0.189037 0.189037 0.963603
- txt003
-STRI
- V0 0.303616 0.178322 2.63611 V1 0.338579 0.0942301 2.63611 V2 0.553875 0.15415 2.58889
- N0 0.231413 0.134219 0.963552 N1 0.258756 0.0697517 0.963421 N2 0.162011 0.0436726 0.985822
- txt003
-STRI
- V0 0.553875 0.15415 2.58889 V1 0.49668 0.291715 2.58889 V2 0.303616 0.178322 2.63611
- N0 0.162011 0.0436726 0.985822 N1 0.144879 0.0840299 0.985875 N2 0.231413 0.134219 0.963552
- txt003
-STRI
- V0 0.338579 0.0942301 2.63611 V1 0.350926 5.55112e-17 2.63611 V2 0.574074 2.22045e-16 2.58889
- N0 0.258756 0.0697517 0.963421 N1 0.268354 0 0.96332 N2 0.168031 -1.93429e-17 0.985782
- txt003
-STRI
- V0 0.574074 2.22045e-16 2.58889 V1 0.553875 0.15415 2.58889 V2 0.338579 0.0942301 2.63611
- N0 0.168031 -1.93429e-17 0.985782 N1 0.162011 0.0436726 0.985822 N2 0.258756 0.0697517 0.963421
- txt003
-STRI
- V0 0 0.574074 2.58889 V1 0.15415 0.553875 2.58889 V2 0.221528 0.795972 2.55
- N0 -0 0.168031 0.985782 N1 0.0436726 0.162011 0.985822 N2 0.0385545 0.143025 0.988968
- txt003
-STRI
- V0 0.221528 0.795972 2.55 V1 0 0.825 2.55 V2 0 0.574074 2.58889
- N0 0.0385545 0.143025 0.988968 N1 -0 0.14834 0.988936 N2 -0 0.168031 0.985782
- txt003
-STRI
- V0 0.15415 0.553875 2.58889 V1 0.291715 0.49668 2.58889 V2 0.419222 0.713778 2.55
- N0 0.0436726 0.162011 0.985822 N1 0.0840299 0.144879 0.985875 N2 0.0741814 0.127899 0.989009
- txt003
-STRI
- V0 0.419222 0.713778 2.55 V1 0.221528 0.795972 2.55 V2 0.15415 0.553875 2.58889
- N0 0.0741814 0.127899 0.989009 N1 0.0385545 0.143025 0.988968 N2 0.0436726 0.162011 0.985822
- txt003
-STRI
- V0 0.291715 0.49668 2.58889 V1 0.407593 0.407593 2.58889 V2 0.58575 0.58575 2.55
- N0 0.0840299 0.144879 0.985875 N1 0.118345 0.118345 0.985895 N2 0.104474 0.104474 0.989025
- txt003
-STRI
- V0 0.58575 0.58575 2.55 V1 0.419222 0.713778 2.55 V2 0.291715 0.49668 2.58889
- N0 0.104474 0.104474 0.989025 N1 0.0741814 0.127899 0.989009 N2 0.0840299 0.144879 0.985875
- txt003
-STRI
- V0 0.407593 0.407593 2.58889 V1 0.49668 0.291715 2.58889 V2 0.713778 0.419222 2.55
- N0 0.118345 0.118345 0.985895 N1 0.144879 0.0840299 0.985875 N2 0.127899 0.0741814 0.989009
- txt003
-STRI
- V0 0.713778 0.419222 2.55 V1 0.58575 0.58575 2.55 V2 0.407593 0.407593 2.58889
- N0 0.127899 0.0741814 0.989009 N1 0.104474 0.104474 0.989025 N2 0.118345 0.118345 0.985895
- txt003
-STRI
- V0 0.49668 0.291715 2.58889 V1 0.553875 0.15415 2.58889 V2 0.795972 0.221528 2.55
- N0 0.144879 0.0840299 0.985875 N1 0.162011 0.0436726 0.985822 N2 0.143025 0.0385545 0.988968
- txt003
-STRI
- V0 0.795972 0.221528 2.55 V1 0.713778 0.419222 2.55 V2 0.49668 0.291715 2.58889
- N0 0.143025 0.0385545 0.988968 N1 0.127899 0.0741814 0.989009 N2 0.144879 0.0840299 0.985875
- txt003
-STRI
- V0 0.553875 0.15415 2.58889 V1 0.574074 2.22045e-16 2.58889 V2 0.825 1.11022e-16 2.55
- N0 0.162011 0.0436726 0.985822 N1 0.168031 -1.93429e-17 0.985782 N2 0.14834 -2.37649e-17 0.988936
- txt003
-STRI
- V0 0.825 1.11022e-16 2.55 V1 0.795972 0.221528 2.55 V2 0.553875 0.15415 2.58889
- N0 0.14834 -2.37649e-17 0.988936 N1 0.143025 0.0385545 0.988968 N2 0.162011 0.0436726 0.985822
- txt003
-STRI
- V0 0 0.825 2.55 V1 0.221528 0.795972 2.55 V2 0.284431 1.02199 2.51111
- N0 -0 0.14834 0.988936 N1 0.0385545 0.143025 0.988968 N2 0.0503275 0.186699 0.981127
- txt003
-STRI
- V0 0.284431 1.02199 2.51111 V1 0 1.05926 2.51111 V2 0 0.825 2.55
- N0 0.0503275 0.186699 0.981127 N1 -0 0.193633 0.981074 N2 -0 0.14834 0.988936
- txt003
-STRI
- V0 0.221528 0.795972 2.55 V1 0.419222 0.713778 2.55 V2 0.538261 0.916455 2.51111
- N0 0.0385545 0.143025 0.988968 N1 0.0741814 0.127899 0.989009 N2 0.0968361 0.166959 0.981197
- txt003
-STRI
- V0 0.538261 0.916455 2.51111 V1 0.284431 1.02199 2.51111 V2 0.221528 0.795972 2.55
- N0 0.0968361 0.166959 0.981197 N1 0.0503275 0.186699 0.981127 N2 0.0385545 0.143025 0.988968
- txt003
-STRI
- V0 0.419222 0.713778 2.55 V1 0.58575 0.58575 2.55 V2 0.752074 0.752074 2.51111
- N0 0.0741814 0.127899 0.989009 N1 0.104474 0.104474 0.989025 N2 0.136382 0.136382 0.981224
- txt003
-STRI
- V0 0.752074 0.752074 2.51111 V1 0.538261 0.916455 2.51111 V2 0.419222 0.713778 2.55
- N0 0.136382 0.136382 0.981224 N1 0.0968361 0.166959 0.981197 N2 0.0741814 0.127899 0.989009
- txt003
-STRI
- V0 0.58575 0.58575 2.55 V1 0.713778 0.419222 2.55 V2 0.916455 0.538261 2.51111
- N0 0.104474 0.104474 0.989025 N1 0.127899 0.0741814 0.989009 N2 0.166959 0.0968361 0.981197
- txt003
-STRI
- V0 0.916455 0.538261 2.51111 V1 0.752074 0.752074 2.51111 V2 0.58575 0.58575 2.55
- N0 0.166959 0.0968361 0.981197 N1 0.136382 0.136382 0.981224 N2 0.104474 0.104474 0.989025
- txt003
-STRI
- V0 0.713778 0.419222 2.55 V1 0.795972 0.221528 2.55 V2 1.02199 0.284431 2.51111
- N0 0.127899 0.0741814 0.989009 N1 0.143025 0.0385545 0.988968 N2 0.186699 0.0503275 0.981127
- txt003
-STRI
- V0 1.02199 0.284431 2.51111 V1 0.916455 0.538261 2.51111 V2 0.713778 0.419222 2.55
- N0 0.186699 0.0503275 0.981127 N1 0.166959 0.0968361 0.981197 N2 0.127899 0.0741814 0.989009
- txt003
-STRI
- V0 0.795972 0.221528 2.55 V1 0.825 1.11022e-16 2.55 V2 1.05926 4.44089e-16 2.51111
- N0 0.143025 0.0385545 0.988968 N1 0.14834 -2.37649e-17 0.988936 N2 0.193633 -7.24819e-17 0.981074
- txt003
-STRI
- V0 1.05926 4.44089e-16 2.51111 V1 1.02199 0.284431 2.51111 V2 0.795972 0.221528 2.55
- N0 0.193633 -7.24819e-17 0.981074 N1 0.186699 0.0503275 0.981127 N2 0.143025 0.0385545 0.988968
- txt003
-STRI
- V0 0 1.05926 2.51111 V1 0.284431 1.02199 2.51111 V2 0.330924 1.18904 2.46389
- N0 -0 0.193633 0.981074 N1 0.0503275 0.186699 0.981127 N2 0.101459 0.376378 0.920894
- txt003
-STRI
- V0 0.330924 1.18904 2.46389 V1 0 1.23241 2.46389 V2 0 1.05926 2.51111
- N0 0.101459 0.376378 0.920894 N1 -0 0.390293 0.920691 N2 -0 0.193633 0.981074
- txt003
-STRI
- V0 0.284431 1.02199 2.51111 V1 0.538261 0.916455 2.51111 V2 0.626246 1.06626 2.46389
- N0 0.0503275 0.186699 0.981127 N1 0.0968361 0.166959 0.981197 N2 0.195261 0.336657 0.92116
- txt003
-STRI
- V0 0.626246 1.06626 2.46389 V1 0.330924 1.18904 2.46389 V2 0.284431 1.02199 2.51111
- N0 0.195261 0.336657 0.92116 N1 0.101459 0.376378 0.920894 N2 0.0503275 0.186699 0.981127
- txt003
-STRI
- V0 0.538261 0.916455 2.51111 V1 0.752074 0.752074 2.51111 V2 0.875009 0.875009 2.46389
- N0 0.0968361 0.166959 0.981197 N1 0.136382 0.136382 0.981224 N2 0.275025 0.275025 0.921262
- txt003
-STRI
- V0 0.875009 0.875009 2.46389 V1 0.626246 1.06626 2.46389 V2 0.538261 0.916455 2.51111
- N0 0.275025 0.275025 0.921262 N1 0.195261 0.336657 0.92116 N2 0.0968361 0.166959 0.981197
- txt003
-STRI
- V0 0.752074 0.752074 2.51111 V1 0.916455 0.538261 2.51111 V2 1.06626 0.626246 2.46389
- N0 0.136382 0.136382 0.981224 N1 0.166959 0.0968361 0.981197 N2 0.336657 0.195261 0.92116
- txt003
-STRI
- V0 1.06626 0.626246 2.46389 V1 0.875009 0.875009 2.46389 V2 0.752074 0.752074 2.51111
- N0 0.336657 0.195261 0.92116 N1 0.275025 0.275025 0.921262 N2 0.136382 0.136382 0.981224
- txt003
-STRI
- V0 0.916455 0.538261 2.51111 V1 1.02199 0.284431 2.51111 V2 1.18904 0.330924 2.46389
- N0 0.166959 0.0968361 0.981197 N1 0.186699 0.0503275 0.981127 N2 0.376378 0.101459 0.920894
- txt003
-STRI
- V0 1.18904 0.330924 2.46389 V1 1.06626 0.626246 2.46389 V2 0.916455 0.538261 2.51111
- N0 0.376378 0.101459 0.920894 N1 0.336657 0.195261 0.92116 N2 0.166959 0.0968361 0.981197
- txt003
-STRI
- V0 1.02199 0.284431 2.51111 V1 1.05926 4.44089e-16 2.51111 V2 1.23241 4.44089e-16 2.46389
- N0 0.186699 0.0503275 0.981127 N1 0.193633 -7.24819e-17 0.981074 N2 0.390293 -8.37138e-17 0.920691
- txt003
-STRI
- V0 1.23241 4.44089e-16 2.46389 V1 1.18904 0.330924 2.46389 V2 1.02199 0.284431 2.51111
- N0 0.390293 -8.37138e-17 0.920691 N1 0.376378 0.101459 0.920894 N2 0.186699 0.0503275 0.981127
- txt003
-STRI
- V0 0 1.23241 2.46389 V1 0.330924 1.18904 2.46389 V2 0.349074 1.25426 2.4
- N0 -0 0.390293 0.920691 N1 0.101459 0.376378 0.920894 N2 0.260275 0.965535 -1.02004e-15
- txt003
-STRI
- V0 0.349074 1.25426 2.4 V1 0 1.3 2.4 V2 0 1.23241 2.46389
- N0 0.260275 0.965535 -1.02004e-15 N1 0 1 -9.86865e-16 N2 -0 0.390293 0.920691
- txt003
-STRI
- V0 0.330924 1.18904 2.46389 V1 0.626246 1.06626 2.46389 V2 0.660593 1.12474 2.4
- N0 0.101459 0.376378 0.920894 N1 0.195261 0.336657 0.92116 N2 0.501718 0.865031 -9.69705e-16
- txt003
-STRI
- V0 0.660593 1.12474 2.4 V1 0.349074 1.25426 2.4 V2 0.330924 1.18904 2.46389
- N0 0.501718 0.865031 -9.69705e-16 N1 0.260275 0.965535 -1.02004e-15 N2 0.101459 0.376378 0.920894
- txt003
-STRI
- V0 0.626246 1.06626 2.46389 V1 0.875009 0.875009 2.46389 V2 0.923 0.923 2.4
- N0 0.195261 0.336657 0.92116 N1 0.275025 0.275025 0.921262 N2 0.707107 0.707107 -7.41433e-16
- txt003
-STRI
- V0 0.923 0.923 2.4 V1 0.660593 1.12474 2.4 V2 0.626246 1.06626 2.46389
- N0 0.707107 0.707107 -7.41433e-16 N1 0.501718 0.865031 -9.69705e-16 N2 0.195261 0.336657 0.92116
- txt003
-STRI
- V0 0.875009 0.875009 2.46389 V1 1.06626 0.626246 2.46389 V2 1.12474 0.660593 2.4
- N0 0.275025 0.275025 0.921262 N1 0.336657 0.195261 0.92116 N2 0.865031 0.501718 -4.67305e-16
- txt003
-STRI
- V0 1.12474 0.660593 2.4 V1 0.923 0.923 2.4 V2 0.875009 0.875009 2.46389
- N0 0.865031 0.501718 -4.67305e-16 N1 0.707107 0.707107 -7.41433e-16 N2 0.275025 0.275025 0.921262
- txt003
-STRI
- V0 1.06626 0.626246 2.46389 V1 1.18904 0.330924 2.46389 V2 1.25426 0.349074 2.4
- N0 0.336657 0.195261 0.92116 N1 0.376378 0.101459 0.920894 N2 0.965535 0.260275 -5.24893e-16
- txt003
-STRI
- V0 1.25426 0.349074 2.4 V1 1.12474 0.660593 2.4 V2 1.06626 0.626246 2.46389
- N0 0.965535 0.260275 -5.24893e-16 N1 0.865031 0.501718 -4.67305e-16 N2 0.336657 0.195261 0.92116
- txt003
-STRI
- V0 1.18904 0.330924 2.46389 V1 1.23241 4.44089e-16 2.46389 V2 1.3 6.66134e-16 2.4
- N0 0.376378 0.101459 0.920894 N1 0.390293 -8.37138e-17 0.920691 N2 1 -4.06675e-16 -1.4803e-15
- txt003
-STRI
- V0 1.3 6.66134e-16 2.4 V1 1.25426 0.349074 2.4 V2 1.18904 0.330924 2.46389
- N0 1 -4.06675e-16 -1.4803e-15 N1 0.965535 0.260275 -5.24893e-16 N2 0.376378 0.101459 0.920894
- txt003
-STRI
- V0 0.584584 0.162696 0.00590278 V1 0.605903 0 0.00590278 V2 0 0 0
- N0 0.0218614 0.00589307 -0.999744 N1 0.0226746 0 -0.999743 N2 0 0 -1
- txt003
-STRI
- V0 0.524218 0.307888 0.00590278 V1 0.584584 0.162696 0.00590278 V2 0 0 0
- N0 0.0195486 0.0113382 -0.999745 N1 0.0218614 0.00589307 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 0.430191 0.430191 0.00590278 V1 0.524218 0.307888 0.00590278 V2 0 0 0
- N0 0.015968 0.015968 -0.999745 N1 0.0195486 0.0113382 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 0.307888 0.524218 0.00590278 V1 0.430191 0.430191 0.00590278 V2 0 0 0
- N0 0.0113382 0.0195486 -0.999745 N1 0.015968 0.015968 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 0.162696 0.584584 0.00590278 V1 0.307888 0.524218 0.00590278 V2 0 0 0
- N0 0.00589307 0.0218614 -0.999744 N1 0.0113382 0.0195486 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 0 0.605903 0.00590278 V1 0.162696 0.584584 0.00590278 V2 0 0 0
- N0 4.94615e-18 0.0226746 -0.999743 N1 0.00589307 0.0218614 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 0.605903 0 0.00590278 V1 0.584584 0.162696 0.00590278 V2 0.986255 0.274486 0.0222222
- N0 0.0226746 0 -0.999743 N1 0.0218614 0.00589307 -0.999744 N2 0.0601415 0.0162121 -0.998058
- txt003
-STRI
- V0 0.986255 0.274486 0.0222222 V1 1.02222 0 0.0222222 V2 0.605903 0 0.00590278
- N0 0.0601415 0.0162121 -0.998058 N1 0.0623783 0 -0.998053 N2 0.0226746 0 -0.999743
- txt003
-STRI
- V0 0.584584 0.162696 0.00590278 V1 0.524218 0.307888 0.00590278 V2 0.884412 0.51944 0.0222222
- N0 0.0218614 0.00589307 -0.999744 N1 0.0195486 0.0113382 -0.999745 N2 0.0537792 0.0311919 -0.998066
- txt003
-STRI
- V0 0.884412 0.51944 0.0222222 V1 0.986255 0.274486 0.0222222 V2 0.584584 0.162696 0.00590278
- N0 0.0537792 0.0311919 -0.998066 N1 0.0601415 0.0162121 -0.998058 N2 0.0218614 0.00589307 -0.999744
- txt003
-STRI
- V0 0.524218 0.307888 0.00590278 V1 0.430191 0.430191 0.00590278 V2 0.725778 0.725778 0.0222222
- N0 0.0195486 0.0113382 -0.999745 N1 0.015968 0.015968 -0.999745 N2 0.0439291 0.0439291 -0.998068
- txt003
-STRI
- V0 0.725778 0.725778 0.0222222 V1 0.884412 0.51944 0.0222222 V2 0.524218 0.307888 0.00590278
- N0 0.0439291 0.0439291 -0.998068 N1 0.0537792 0.0311919 -0.998066 N2 0.0195486 0.0113382 -0.999745
- txt003
-STRI
- V0 0.430191 0.430191 0.00590278 V1 0.307888 0.524218 0.00590278 V2 0.51944 0.884412 0.0222222
- N0 0.015968 0.015968 -0.999745 N1 0.0113382 0.0195486 -0.999745 N2 0.0311919 0.0537792 -0.998066
- txt003
-STRI
- V0 0.51944 0.884412 0.0222222 V1 0.725778 0.725778 0.0222222 V2 0.430191 0.430191 0.00590278
- N0 0.0311919 0.0537792 -0.998066 N1 0.0439291 0.0439291 -0.998068 N2 0.015968 0.015968 -0.999745
- txt003
-STRI
- V0 0.307888 0.524218 0.00590278 V1 0.162696 0.584584 0.00590278 V2 0.274486 0.986255 0.0222222
- N0 0.0113382 0.0195486 -0.999745 N1 0.00589307 0.0218614 -0.999744 N2 0.0162121 0.0601415 -0.998058
- txt003
-STRI
- V0 0.274486 0.986255 0.0222222 V1 0.51944 0.884412 0.0222222 V2 0.307888 0.524218 0.00590278
- N0 0.0162121 0.0601415 -0.998058 N1 0.0311919 0.0537792 -0.998066 N2 0.0113382 0.0195486 -0.999745
- txt003
-STRI
- V0 0.162696 0.584584 0.00590278 V1 0 0.605903 0.00590278 V2 -2.22045e-16 1.02222 0.0222222
- N0 0.00589307 0.0218614 -0.999744 N1 4.94615e-18 0.0226746 -0.999743 N2 0 0.0623783 -0.998053
- txt003
-STRI
- V0 -2.22045e-16 1.02222 0.0222222 V1 0.274486 0.986255 0.0222222 V2 0.162696 0.584584 0.00590278
- N0 0 0.0623783 -0.998053 N1 0.0162121 0.0601415 -0.998058 N2 0.00589307 0.0218614 -0.999744
- txt003
-STRI
- V0 1.02222 0 0.0222222 V1 0.986255 0.274486 0.0222222 V2 1.23918 0.344878 0.046875
- N0 0.0623783 0 -0.998053 N1 0.0601415 0.0162121 -0.998058 N2 0.136353 0.0367561 -0.989978
- txt003
-STRI
- V0 1.23918 0.344878 0.046875 V1 1.28438 0 0.046875 V2 1.02222 0 0.0222222
- N0 0.136353 0.0367561 -0.989978 N1 0.141421 0 -0.989949 N2 0.0623783 0 -0.998053
- txt003
-STRI
- V0 0.986255 0.274486 0.0222222 V1 0.884412 0.51944 0.0222222 V2 1.11122 0.652653 0.046875
- N0 0.0601415 0.0162121 -0.998058 N1 0.0537792 0.0311919 -0.998066 N2 0.121932 0.0707208 -0.990016
- txt003
-STRI
- V0 1.11122 0.652653 0.046875 V1 1.23918 0.344878 0.046875 V2 0.986255 0.274486 0.0222222
- N0 0.121932 0.0707208 -0.990016 N1 0.136353 0.0367561 -0.989978 N2 0.0601415 0.0162121 -0.998058
- txt003
-STRI
- V0 0.884412 0.51944 0.0222222 V1 0.725778 0.725778 0.0222222 V2 0.911906 0.911906 0.046875
- N0 0.0537792 0.0311919 -0.998066 N1 0.0439291 0.0439291 -0.998068 N2 0.0996006 0.0996006 -0.99003
- txt003
-STRI
- V0 0.911906 0.911906 0.046875 V1 1.11122 0.652653 0.046875 V2 0.884412 0.51944 0.0222222
- N0 0.0996006 0.0996006 -0.99003 N1 0.121932 0.0707208 -0.990016 N2 0.0537792 0.0311919 -0.998066
- txt003
-STRI
- V0 0.725778 0.725778 0.0222222 V1 0.51944 0.884412 0.0222222 V2 0.652653 1.11122 0.046875
- N0 0.0439291 0.0439291 -0.998068 N1 0.0311919 0.0537792 -0.998066 N2 0.0707208 0.121932 -0.990016
- txt003
-STRI
- V0 0.652653 1.11122 0.046875 V1 0.911906 0.911906 0.046875 V2 0.725778 0.725778 0.0222222
- N0 0.0707208 0.121932 -0.990016 N1 0.0996006 0.0996006 -0.99003 N2 0.0439291 0.0439291 -0.998068
- txt003
-STRI
- V0 0.51944 0.884412 0.0222222 V1 0.274486 0.986255 0.0222222 V2 0.344878 1.23918 0.046875
- N0 0.0311919 0.0537792 -0.998066 N1 0.0162121 0.0601415 -0.998058 N2 0.0367561 0.136353 -0.989978
- txt003
-STRI
- V0 0.344878 1.23918 0.046875 V1 0.652653 1.11122 0.046875 V2 0.51944 0.884412 0.0222222
- N0 0.0367561 0.136353 -0.989978 N1 0.0707208 0.121932 -0.990016 N2 0.0311919 0.0537792 -0.998066
- txt003
-STRI
- V0 0.274486 0.986255 0.0222222 V1 -2.22045e-16 1.02222 0.0222222 V2 2.22045e-16 1.28437 0.046875
- N0 0.0162121 0.0601415 -0.998058 N1 0 0.0623783 -0.998053 N2 0 0.141421 -0.989949
- txt003
-STRI
- V0 2.22045e-16 1.28437 0.046875 V1 0.344878 1.23918 0.046875 V2 0.274486 0.986255 0.0222222
- N0 0 0.141421 -0.989949 N1 0.0367561 0.136353 -0.989978 N2 0.0162121 0.0601415 -0.998058
- txt003
-STRI
- V0 1.28438 0 0.046875 V1 1.23918 0.344878 0.046875 V2 1.37754 0.383385 0.0777778
- N0 0.141421 0 -0.989949 N1 0.136353 0.0367561 -0.989978 N2 0.316788 0.085395 -0.944644
- txt003
-STRI
- V0 1.37754 0.383385 0.0777778 V1 1.42778 0 0.0777778 V2 1.28438 0 0.046875
- N0 0.316788 0.085395 -0.944644 N1 0.328521 0 -0.944497 N2 0.141421 0 -0.989949
- txt003
-STRI
- V0 1.23918 0.344878 0.046875 V1 1.11122 0.652653 0.046875 V2 1.23529 0.725523 0.0777778
- N0 0.136353 0.0367561 -0.989978 N1 0.121932 0.0707208 -0.990016 N2 0.283331 0.164332 -0.944838
- txt003
-STRI
- V0 1.23529 0.725523 0.0777778 V1 1.37754 0.383385 0.0777778 V2 1.23918 0.344878 0.046875
- N0 0.283331 0.164332 -0.944838 N1 0.316788 0.085395 -0.944644 N2 0.136353 0.0367561 -0.989978
- txt003
-STRI
- V0 1.11122 0.652653 0.046875 V1 0.911906 0.911906 0.046875 V2 1.01372 1.01372 0.0777778
- N0 0.121932 0.0707208 -0.990016 N1 0.0996006 0.0996006 -0.99003 N2 0.231454 0.231454 -0.944912
- txt003
-STRI
- V0 1.01372 1.01372 0.0777778 V1 1.23529 0.725523 0.0777778 V2 1.11122 0.652653 0.046875
- N0 0.231454 0.231454 -0.944912 N1 0.283331 0.164332 -0.944838 N2 0.121932 0.0707208 -0.990016
- txt003
-STRI
- V0 0.911906 0.911906 0.046875 V1 0.652653 1.11122 0.046875 V2 0.725523 1.23529 0.0777778
- N0 0.0996006 0.0996006 -0.99003 N1 0.0707208 0.121932 -0.990016 N2 0.164332 0.283331 -0.944838
- txt003
-STRI
- V0 0.725523 1.23529 0.0777778 V1 1.01372 1.01372 0.0777778 V2 0.911906 0.911906 0.046875
- N0 0.164332 0.283331 -0.944838 N1 0.231454 0.231454 -0.944912 N2 0.0996006 0.0996006 -0.99003
- txt003
-STRI
- V0 0.652653 1.11122 0.046875 V1 0.344878 1.23918 0.046875 V2 0.383385 1.37754 0.0777778
- N0 0.0707208 0.121932 -0.990016 N1 0.0367561 0.136353 -0.989978 N2 0.085395 0.316788 -0.944644
- txt003
-STRI
- V0 0.383385 1.37754 0.0777778 V1 0.725523 1.23529 0.0777778 V2 0.652653 1.11122 0.046875
- N0 0.085395 0.316788 -0.944644 N1 0.164332 0.283331 -0.944838 N2 0.0707208 0.121932 -0.990016
- txt003
-STRI
- V0 0.344878 1.23918 0.046875 V1 2.22045e-16 1.28437 0.046875 V2 -2.22045e-16 1.42778 0.0777778
- N0 0.0367561 0.136353 -0.989978 N1 0 0.141421 -0.989949 N2 6.08223e-17 0.328521 -0.944497
- txt003
-STRI
- V0 -2.22045e-16 1.42778 0.0777778 V1 0.383385 1.37754 0.0777778 V2 0.344878 1.23918 0.046875
- N0 6.08223e-17 0.328521 -0.944497 N1 0.085395 0.316788 -0.944644 N2 0.0367561 0.136353 -0.989978
- txt003
-STRI
- V0 1.42778 0 0.0777778 V1 1.37754 0.383385 0.0777778 V2 1.4355 0.399515 0.112847
- N0 0.328521 0 -0.944497 N1 0.316788 0.085395 -0.944644 N2 0.743044 0.200299 -0.638566
- txt003
-STRI
- V0 1.4355 0.399515 0.112847 V1 1.48785 0 0.112847 V2 1.42778 0 0.0777778
- N0 0.743044 0.200299 -0.638566 N1 0.770022 0 -0.638018 N2 0.328521 0 -0.944497
- txt003
-STRI
- V0 1.37754 0.383385 0.0777778 V1 1.23529 0.725523 0.0777778 V2 1.28726 0.756047 0.112847
- N0 0.316788 0.085395 -0.944644 N1 0.283331 0.164332 -0.944838 N2 0.665182 0.385806 -0.639286
- txt003
-STRI
- V0 1.28726 0.756047 0.112847 V1 1.4355 0.399515 0.112847 V2 1.37754 0.383385 0.0777778
- N0 0.665182 0.385806 -0.639286 N1 0.743044 0.200299 -0.638566 N2 0.316788 0.085395 -0.944644
- txt003
-STRI
- V0 1.23529 0.725523 0.0777778 V1 1.01372 1.01372 0.0777778 V2 1.05637 1.05637 0.112847
- N0 0.283331 0.164332 -0.944838 N1 0.231454 0.231454 -0.944912 N2 0.543581 0.543581 -0.639562
- txt003
-STRI
- V0 1.05637 1.05637 0.112847 V1 1.28726 0.756047 0.112847 V2 1.23529 0.725523 0.0777778
- N0 0.543581 0.543581 -0.639562 N1 0.665182 0.385806 -0.639286 N2 0.283331 0.164332 -0.944838
- txt003
-STRI
- V0 1.01372 1.01372 0.0777778 V1 0.725523 1.23529 0.0777778 V2 0.756047 1.28726 0.112847
- N0 0.231454 0.231454 -0.944912 N1 0.164332 0.283331 -0.944838 N2 0.385806 0.665182 -0.639286
- txt003
-STRI
- V0 0.756047 1.28726 0.112847 V1 1.05637 1.05637 0.112847 V2 1.01372 1.01372 0.0777778
- N0 0.385806 0.665182 -0.639286 N1 0.543581 0.543581 -0.639562 N2 0.231454 0.231454 -0.944912
- txt003
-STRI
- V0 0.725523 1.23529 0.0777778 V1 0.383385 1.37754 0.0777778 V2 0.399515 1.4355 0.112847
- N0 0.164332 0.283331 -0.944838 N1 0.085395 0.316788 -0.944644 N2 0.200299 0.743044 -0.638566
- txt003
-STRI
- V0 0.399515 1.4355 0.112847 V1 0.756047 1.28726 0.112847 V2 0.725523 1.23529 0.0777778
- N0 0.200299 0.743044 -0.638566 N1 0.385806 0.665182 -0.639286 N2 0.164332 0.283331 -0.944838
- txt003
-STRI
- V0 0.383385 1.37754 0.0777778 V1 -2.22045e-16 1.42778 0.0777778 V2 0 1.48785 0.112847
- N0 0.085395 0.316788 -0.944644 N1 6.08223e-17 0.328521 -0.944497 N2 1.36806e-16 0.770022 -0.638018
- txt003
-STRI
- V0 0 1.48785 0.112847 V1 0.399515 1.4355 0.112847 V2 0.383385 1.37754 0.0777778
- N0 1.36806e-16 0.770022 -0.638018 N1 0.200299 0.743044 -0.638566 N2 0.085395 0.316788 -0.944644
- txt003
-STRI
- V0 1.48785 0 0.112847 V1 1.4355 0.399515 0.112847 V2 1.44722 0.402778 0.15
- N0 0.770022 0 -0.638018 N1 0.743044 0.200299 -0.638566 N2 0.965535 0.260275 -2.07142e-16
- txt003
-STRI
- V0 1.44722 0.402778 0.15 V1 1.5 0 0.15 V2 1.48785 0 0.112847
- N0 0.965535 0.260275 -2.07142e-16 N1 1 0 0 N2 0.770022 0 -0.638018
- txt003
-STRI
- V0 1.4355 0.399515 0.112847 V1 1.28726 0.756047 0.112847 V2 1.29778 0.762222 0.15
- N0 0.743044 0.200299 -0.638566 N1 0.665182 0.385806 -0.639286 N2 0.865031 0.501718 -5.46348e-16
- txt003
-STRI
- V0 1.29778 0.762222 0.15 V1 1.44722 0.402778 0.15 V2 1.4355 0.399515 0.112847
- N0 0.865031 0.501718 -5.46348e-16 N1 0.965535 0.260275 -2.07142e-16 N2 0.743044 0.200299 -0.638566
- txt003
-STRI
- V0 1.28726 0.756047 0.112847 V1 1.05637 1.05637 0.112847 V2 1.065 1.065 0.15
- N0 0.665182 0.385806 -0.639286 N1 0.543581 0.543581 -0.639562 N2 0.707107 0.707107 -6.97819e-16
- txt003
-STRI
- V0 1.065 1.065 0.15 V1 1.29778 0.762222 0.15 V2 1.28726 0.756047 0.112847
- N0 0.707107 0.707107 -6.97819e-16 N1 0.865031 0.501718 -5.46348e-16 N2 0.665182 0.385806 -0.639286
- txt003
-STRI
- V0 1.05637 1.05637 0.112847 V1 0.756047 1.28726 0.112847 V2 0.762222 1.29778 0.15
- N0 0.543581 0.543581 -0.639562 N1 0.385806 0.665182 -0.639286 N2 0.501718 0.865031 -5.46348e-16
- txt003
-STRI
- V0 0.762222 1.29778 0.15 V1 1.065 1.065 0.15 V2 1.05637 1.05637 0.112847
- N0 0.501718 0.865031 -5.46348e-16 N1 0.707107 0.707107 -6.97819e-16 N2 0.543581 0.543581 -0.639562
- txt003
-STRI
- V0 0.756047 1.28726 0.112847 V1 0.399515 1.4355 0.112847 V2 0.402778 1.44722 0.15
- N0 0.385806 0.665182 -0.639286 N1 0.200299 0.743044 -0.638566 N2 0.260275 0.965535 -2.07142e-16
- txt003
-STRI
- V0 0.402778 1.44722 0.15 V1 0.762222 1.29778 0.15 V2 0.756047 1.28726 0.112847
- N0 0.260275 0.965535 -2.07142e-16 N1 0.501718 0.865031 -5.46348e-16 N2 0.385806 0.665182 -0.639286
- txt003
-STRI
- V0 0.399515 1.4355 0.112847 V1 0 1.48785 0.112847 V2 0 1.5 0.15
- N0 0.200299 0.743044 -0.638566 N1 1.36806e-16 0.770022 -0.638018 N2 0 1 -0
- txt003
-STRI
- V0 0 1.5 0.15 V1 0.402778 1.44722 0.15 V2 0.399515 1.4355 0.112847
- N0 0 1 -0 N1 0.260275 0.965535 -2.07142e-16 N2 0.200299 0.743044 -0.638566
- txt003
-STRI
- V0 -0.162696 0.584584 0.00590278 V1 0 0.605903 0.00590278 V2 0 0 0
- N0 -0.00589307 0.0218614 -0.999744 N1 0 0.0226746 -0.999743 N2 0 0 -1
- txt003
-STRI
- V0 -0.307888 0.524218 0.00590278 V1 -0.162696 0.584584 0.00590278 V2 0 0 0
- N0 -0.0113382 0.0195486 -0.999745 N1 -0.00589307 0.0218614 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 -0.430191 0.430191 0.00590278 V1 -0.307888 0.524218 0.00590278 V2 0 0 0
- N0 -0.015968 0.015968 -0.999745 N1 -0.0113382 0.0195486 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 -0.524218 0.307888 0.00590278 V1 -0.430191 0.430191 0.00590278 V2 0 0 0
- N0 -0.0195486 0.0113382 -0.999745 N1 -0.015968 0.015968 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 -0.584584 0.162696 0.00590278 V1 -0.524218 0.307888 0.00590278 V2 0 0 0
- N0 -0.0218614 0.00589307 -0.999744 N1 -0.0195486 0.0113382 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 -0.605903 0 0.00590278 V1 -0.584584 0.162696 0.00590278 V2 0 0 0
- N0 -0.0226746 4.94615e-18 -0.999743 N1 -0.0218614 0.00589307 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 0 0.605903 0.00590278 V1 -0.162696 0.584584 0.00590278 V2 -0.274486 0.986255 0.0222222
- N0 0 0.0226746 -0.999743 N1 -0.00589307 0.0218614 -0.999744 N2 -0.0162121 0.0601415 -0.998058
- txt003
-STRI
- V0 -0.274486 0.986255 0.0222222 V1 0 1.02222 0.0222222 V2 0 0.605903 0.00590278
- N0 -0.0162121 0.0601415 -0.998058 N1 0 0.0623783 -0.998053 N2 0 0.0226746 -0.999743
- txt003
-STRI
- V0 -0.162696 0.584584 0.00590278 V1 -0.307888 0.524218 0.00590278 V2 -0.51944 0.884412 0.0222222
- N0 -0.00589307 0.0218614 -0.999744 N1 -0.0113382 0.0195486 -0.999745 N2 -0.0311919 0.0537792 -0.998066
- txt003
-STRI
- V0 -0.51944 0.884412 0.0222222 V1 -0.274486 0.986255 0.0222222 V2 -0.162696 0.584584 0.00590278
- N0 -0.0311919 0.0537792 -0.998066 N1 -0.0162121 0.0601415 -0.998058 N2 -0.00589307 0.0218614 -0.999744
- txt003
-STRI
- V0 -0.307888 0.524218 0.00590278 V1 -0.430191 0.430191 0.00590278 V2 -0.725778 0.725778 0.0222222
- N0 -0.0113382 0.0195486 -0.999745 N1 -0.015968 0.015968 -0.999745 N2 -0.0439291 0.0439291 -0.998068
- txt003
-STRI
- V0 -0.725778 0.725778 0.0222222 V1 -0.51944 0.884412 0.0222222 V2 -0.307888 0.524218 0.00590278
- N0 -0.0439291 0.0439291 -0.998068 N1 -0.0311919 0.0537792 -0.998066 N2 -0.0113382 0.0195486 -0.999745
- txt003
-STRI
- V0 -0.430191 0.430191 0.00590278 V1 -0.524218 0.307888 0.00590278 V2 -0.884412 0.51944 0.0222222
- N0 -0.015968 0.015968 -0.999745 N1 -0.0195486 0.0113382 -0.999745 N2 -0.0537792 0.0311919 -0.998066
- txt003
-STRI
- V0 -0.884412 0.51944 0.0222222 V1 -0.725778 0.725778 0.0222222 V2 -0.430191 0.430191 0.00590278
- N0 -0.0537792 0.0311919 -0.998066 N1 -0.0439291 0.0439291 -0.998068 N2 -0.015968 0.015968 -0.999745
- txt003
-STRI
- V0 -0.524218 0.307888 0.00590278 V1 -0.584584 0.162696 0.00590278 V2 -0.986255 0.274486 0.0222222
- N0 -0.0195486 0.0113382 -0.999745 N1 -0.0218614 0.00589307 -0.999744 N2 -0.0601415 0.0162121 -0.998058
- txt003
-STRI
- V0 -0.986255 0.274486 0.0222222 V1 -0.884412 0.51944 0.0222222 V2 -0.524218 0.307888 0.00590278
- N0 -0.0601415 0.0162121 -0.998058 N1 -0.0537792 0.0311919 -0.998066 N2 -0.0195486 0.0113382 -0.999745
- txt003
-STRI
- V0 -0.584584 0.162696 0.00590278 V1 -0.605903 0 0.00590278 V2 -1.02222 -2.22045e-16 0.0222222
- N0 -0.0218614 0.00589307 -0.999744 N1 -0.0226746 4.94615e-18 -0.999743 N2 -0.0623783 -0 -0.998053
- txt003
-STRI
- V0 -1.02222 -2.22045e-16 0.0222222 V1 -0.986255 0.274486 0.0222222 V2 -0.584584 0.162696 0.00590278
- N0 -0.0623783 -0 -0.998053 N1 -0.0601415 0.0162121 -0.998058 N2 -0.0218614 0.00589307 -0.999744
- txt003
-STRI
- V0 0 1.02222 0.0222222 V1 -0.274486 0.986255 0.0222222 V2 -0.344878 1.23918 0.046875
- N0 0 0.0623783 -0.998053 N1 -0.0162121 0.0601415 -0.998058 N2 -0.0367561 0.136353 -0.989978
- txt003
-STRI
- V0 -0.344878 1.23918 0.046875 V1 0 1.28438 0.046875 V2 0 1.02222 0.0222222
- N0 -0.0367561 0.136353 -0.989978 N1 0 0.141421 -0.989949 N2 0 0.0623783 -0.998053
- txt003
-STRI
- V0 -0.274486 0.986255 0.0222222 V1 -0.51944 0.884412 0.0222222 V2 -0.652653 1.11122 0.046875
- N0 -0.0162121 0.0601415 -0.998058 N1 -0.0311919 0.0537792 -0.998066 N2 -0.0707208 0.121932 -0.990016
- txt003
-STRI
- V0 -0.652653 1.11122 0.046875 V1 -0.344878 1.23918 0.046875 V2 -0.274486 0.986255 0.0222222
- N0 -0.0707208 0.121932 -0.990016 N1 -0.0367561 0.136353 -0.989978 N2 -0.0162121 0.0601415 -0.998058
- txt003
-STRI
- V0 -0.51944 0.884412 0.0222222 V1 -0.725778 0.725778 0.0222222 V2 -0.911906 0.911906 0.046875
- N0 -0.0311919 0.0537792 -0.998066 N1 -0.0439291 0.0439291 -0.998068 N2 -0.0996006 0.0996006 -0.99003
- txt003
-STRI
- V0 -0.911906 0.911906 0.046875 V1 -0.652653 1.11122 0.046875 V2 -0.51944 0.884412 0.0222222
- N0 -0.0996006 0.0996006 -0.99003 N1 -0.0707208 0.121932 -0.990016 N2 -0.0311919 0.0537792 -0.998066
- txt003
-STRI
- V0 -0.725778 0.725778 0.0222222 V1 -0.884412 0.51944 0.0222222 V2 -1.11122 0.652653 0.046875
- N0 -0.0439291 0.0439291 -0.998068 N1 -0.0537792 0.0311919 -0.998066 N2 -0.121932 0.0707208 -0.990016
- txt003
-STRI
- V0 -1.11122 0.652653 0.046875 V1 -0.911906 0.911906 0.046875 V2 -0.725778 0.725778 0.0222222
- N0 -0.121932 0.0707208 -0.990016 N1 -0.0996006 0.0996006 -0.99003 N2 -0.0439291 0.0439291 -0.998068
- txt003
-STRI
- V0 -0.884412 0.51944 0.0222222 V1 -0.986255 0.274486 0.0222222 V2 -1.23918 0.344878 0.046875
- N0 -0.0537792 0.0311919 -0.998066 N1 -0.0601415 0.0162121 -0.998058 N2 -0.136353 0.0367561 -0.989978
- txt003
-STRI
- V0 -1.23918 0.344878 0.046875 V1 -1.11122 0.652653 0.046875 V2 -0.884412 0.51944 0.0222222
- N0 -0.136353 0.0367561 -0.989978 N1 -0.121932 0.0707208 -0.990016 N2 -0.0537792 0.0311919 -0.998066
- txt003
-STRI
- V0 -0.986255 0.274486 0.0222222 V1 -1.02222 -2.22045e-16 0.0222222 V2 -1.28437 2.22045e-16 0.046875
- N0 -0.0601415 0.0162121 -0.998058 N1 -0.0623783 -0 -0.998053 N2 -0.141421 -0 -0.989949
- txt003
-STRI
- V0 -1.28437 2.22045e-16 0.046875 V1 -1.23918 0.344878 0.046875 V2 -0.986255 0.274486 0.0222222
- N0 -0.141421 -0 -0.989949 N1 -0.136353 0.0367561 -0.989978 N2 -0.0601415 0.0162121 -0.998058
- txt003
-STRI
- V0 0 1.28438 0.046875 V1 -0.344878 1.23918 0.046875 V2 -0.383385 1.37754 0.0777778
- N0 0 0.141421 -0.989949 N1 -0.0367561 0.136353 -0.989978 N2 -0.085395 0.316788 -0.944644
- txt003
-STRI
- V0 -0.383385 1.37754 0.0777778 V1 0 1.42778 0.0777778 V2 0 1.28438 0.046875
- N0 -0.085395 0.316788 -0.944644 N1 0 0.328521 -0.944497 N2 0 0.141421 -0.989949
- txt003
-STRI
- V0 -0.344878 1.23918 0.046875 V1 -0.652653 1.11122 0.046875 V2 -0.725523 1.23529 0.0777778
- N0 -0.0367561 0.136353 -0.989978 N1 -0.0707208 0.121932 -0.990016 N2 -0.164332 0.283331 -0.944838
- txt003
-STRI
- V0 -0.725523 1.23529 0.0777778 V1 -0.383385 1.37754 0.0777778 V2 -0.344878 1.23918 0.046875
- N0 -0.164332 0.283331 -0.944838 N1 -0.085395 0.316788 -0.944644 N2 -0.0367561 0.136353 -0.989978
- txt003
-STRI
- V0 -0.652653 1.11122 0.046875 V1 -0.911906 0.911906 0.046875 V2 -1.01372 1.01372 0.0777778
- N0 -0.0707208 0.121932 -0.990016 N1 -0.0996006 0.0996006 -0.99003 N2 -0.231454 0.231454 -0.944912
- txt003
-STRI
- V0 -1.01372 1.01372 0.0777778 V1 -0.725523 1.23529 0.0777778 V2 -0.652653 1.11122 0.046875
- N0 -0.231454 0.231454 -0.944912 N1 -0.164332 0.283331 -0.944838 N2 -0.0707208 0.121932 -0.990016
- txt003
-STRI
- V0 -0.911906 0.911906 0.046875 V1 -1.11122 0.652653 0.046875 V2 -1.23529 0.725523 0.0777778
- N0 -0.0996006 0.0996006 -0.99003 N1 -0.121932 0.0707208 -0.990016 N2 -0.283331 0.164332 -0.944838
- txt003
-STRI
- V0 -1.23529 0.725523 0.0777778 V1 -1.01372 1.01372 0.0777778 V2 -0.911906 0.911906 0.046875
- N0 -0.283331 0.164332 -0.944838 N1 -0.231454 0.231454 -0.944912 N2 -0.0996006 0.0996006 -0.99003
- txt003
-STRI
- V0 -1.11122 0.652653 0.046875 V1 -1.23918 0.344878 0.046875 V2 -1.37754 0.383385 0.0777778
- N0 -0.121932 0.0707208 -0.990016 N1 -0.136353 0.0367561 -0.989978 N2 -0.316788 0.085395 -0.944644
- txt003
-STRI
- V0 -1.37754 0.383385 0.0777778 V1 -1.23529 0.725523 0.0777778 V2 -1.11122 0.652653 0.046875
- N0 -0.316788 0.085395 -0.944644 N1 -0.283331 0.164332 -0.944838 N2 -0.121932 0.0707208 -0.990016
- txt003
-STRI
- V0 -1.23918 0.344878 0.046875 V1 -1.28437 2.22045e-16 0.046875 V2 -1.42778 -2.22045e-16 0.0777778
- N0 -0.136353 0.0367561 -0.989978 N1 -0.141421 -0 -0.989949 N2 -0.328521 6.08223e-17 -0.944497
- txt003
-STRI
- V0 -1.42778 -2.22045e-16 0.0777778 V1 -1.37754 0.383385 0.0777778 V2 -1.23918 0.344878 0.046875
- N0 -0.328521 6.08223e-17 -0.944497 N1 -0.316788 0.085395 -0.944644 N2 -0.136353 0.0367561 -0.989978
- txt003
-STRI
- V0 0 1.42778 0.0777778 V1 -0.383385 1.37754 0.0777778 V2 -0.399515 1.4355 0.112847
- N0 0 0.328521 -0.944497 N1 -0.085395 0.316788 -0.944644 N2 -0.200299 0.743044 -0.638566
- txt003
-STRI
- V0 -0.399515 1.4355 0.112847 V1 0 1.48785 0.112847 V2 0 1.42778 0.0777778
- N0 -0.200299 0.743044 -0.638566 N1 0 0.770022 -0.638018 N2 0 0.328521 -0.944497
- txt003
-STRI
- V0 -0.383385 1.37754 0.0777778 V1 -0.725523 1.23529 0.0777778 V2 -0.756047 1.28726 0.112847
- N0 -0.085395 0.316788 -0.944644 N1 -0.164332 0.283331 -0.944838 N2 -0.385806 0.665182 -0.639286
- txt003
-STRI
- V0 -0.756047 1.28726 0.112847 V1 -0.399515 1.4355 0.112847 V2 -0.383385 1.37754 0.0777778
- N0 -0.385806 0.665182 -0.639286 N1 -0.200299 0.743044 -0.638566 N2 -0.085395 0.316788 -0.944644
- txt003
-STRI
- V0 -0.725523 1.23529 0.0777778 V1 -1.01372 1.01372 0.0777778 V2 -1.05637 1.05637 0.112847
- N0 -0.164332 0.283331 -0.944838 N1 -0.231454 0.231454 -0.944912 N2 -0.543581 0.543581 -0.639562
- txt003
-STRI
- V0 -1.05637 1.05637 0.112847 V1 -0.756047 1.28726 0.112847 V2 -0.725523 1.23529 0.0777778
- N0 -0.543581 0.543581 -0.639562 N1 -0.385806 0.665182 -0.639286 N2 -0.164332 0.283331 -0.944838
- txt003
-STRI
- V0 -1.01372 1.01372 0.0777778 V1 -1.23529 0.725523 0.0777778 V2 -1.28726 0.756047 0.112847
- N0 -0.231454 0.231454 -0.944912 N1 -0.283331 0.164332 -0.944838 N2 -0.665182 0.385806 -0.639286
- txt003
-STRI
- V0 -1.28726 0.756047 0.112847 V1 -1.05637 1.05637 0.112847 V2 -1.01372 1.01372 0.0777778
- N0 -0.665182 0.385806 -0.639286 N1 -0.543581 0.543581 -0.639562 N2 -0.231454 0.231454 -0.944912
- txt003
-STRI
- V0 -1.23529 0.725523 0.0777778 V1 -1.37754 0.383385 0.0777778 V2 -1.4355 0.399515 0.112847
- N0 -0.283331 0.164332 -0.944838 N1 -0.316788 0.085395 -0.944644 N2 -0.743044 0.200299 -0.638566
- txt003
-STRI
- V0 -1.4355 0.399515 0.112847 V1 -1.28726 0.756047 0.112847 V2 -1.23529 0.725523 0.0777778
- N0 -0.743044 0.200299 -0.638566 N1 -0.665182 0.385806 -0.639286 N2 -0.283331 0.164332 -0.944838
- txt003
-STRI
- V0 -1.37754 0.383385 0.0777778 V1 -1.42778 -2.22045e-16 0.0777778 V2 -1.48785 0 0.112847
- N0 -0.316788 0.085395 -0.944644 N1 -0.328521 6.08223e-17 -0.944497 N2 -0.770022 1.36806e-16 -0.638018
- txt003
-STRI
- V0 -1.48785 0 0.112847 V1 -1.4355 0.399515 0.112847 V2 -1.37754 0.383385 0.0777778
- N0 -0.770022 1.36806e-16 -0.638018 N1 -0.743044 0.200299 -0.638566 N2 -0.316788 0.085395 -0.944644
- txt003
-STRI
- V0 0 1.48785 0.112847 V1 -0.399515 1.4355 0.112847 V2 -0.402778 1.44722 0.15
- N0 0 0.770022 -0.638018 N1 -0.200299 0.743044 -0.638566 N2 -0.260275 0.965535 -2.07142e-16
- txt003
-STRI
- V0 -0.402778 1.44722 0.15 V1 0 1.5 0.15 V2 0 1.48785 0.112847
- N0 -0.260275 0.965535 -2.07142e-16 N1 0 1 -0 N2 0 0.770022 -0.638018
- txt003
-STRI
- V0 -0.399515 1.4355 0.112847 V1 -0.756047 1.28726 0.112847 V2 -0.762222 1.29778 0.15
- N0 -0.200299 0.743044 -0.638566 N1 -0.385806 0.665182 -0.639286 N2 -0.501718 0.865031 -5.46348e-16
- txt003
-STRI
- V0 -0.762222 1.29778 0.15 V1 -0.402778 1.44722 0.15 V2 -0.399515 1.4355 0.112847
- N0 -0.501718 0.865031 -5.46348e-16 N1 -0.260275 0.965535 -2.07142e-16 N2 -0.200299 0.743044 -0.638566
- txt003
-STRI
- V0 -0.756047 1.28726 0.112847 V1 -1.05637 1.05637 0.112847 V2 -1.065 1.065 0.15
- N0 -0.385806 0.665182 -0.639286 N1 -0.543581 0.543581 -0.639562 N2 -0.707107 0.707107 -6.97819e-16
- txt003
-STRI
- V0 -1.065 1.065 0.15 V1 -0.762222 1.29778 0.15 V2 -0.756047 1.28726 0.112847
- N0 -0.707107 0.707107 -6.97819e-16 N1 -0.501718 0.865031 -5.46348e-16 N2 -0.385806 0.665182 -0.639286
- txt003
-STRI
- V0 -1.05637 1.05637 0.112847 V1 -1.28726 0.756047 0.112847 V2 -1.29778 0.762222 0.15
- N0 -0.543581 0.543581 -0.639562 N1 -0.665182 0.385806 -0.639286 N2 -0.865031 0.501718 -5.46348e-16
- txt003
-STRI
- V0 -1.29778 0.762222 0.15 V1 -1.065 1.065 0.15 V2 -1.05637 1.05637 0.112847
- N0 -0.865031 0.501718 -5.46348e-16 N1 -0.707107 0.707107 -6.97819e-16 N2 -0.543581 0.543581 -0.639562
- txt003
-STRI
- V0 -1.28726 0.756047 0.112847 V1 -1.4355 0.399515 0.112847 V2 -1.44722 0.402778 0.15
- N0 -0.665182 0.385806 -0.639286 N1 -0.743044 0.200299 -0.638566 N2 -0.965535 0.260275 -2.07142e-16
- txt003
-STRI
- V0 -1.44722 0.402778 0.15 V1 -1.29778 0.762222 0.15 V2 -1.28726 0.756047 0.112847
- N0 -0.965535 0.260275 -2.07142e-16 N1 -0.865031 0.501718 -5.46348e-16 N2 -0.665182 0.385806 -0.639286
- txt003
-STRI
- V0 -1.4355 0.399515 0.112847 V1 -1.48785 0 0.112847 V2 -1.5 0 0.15
- N0 -0.743044 0.200299 -0.638566 N1 -0.770022 1.36806e-16 -0.638018 N2 -1 0 0
- txt003
-STRI
- V0 -1.5 0 0.15 V1 -1.44722 0.402778 0.15 V2 -1.4355 0.399515 0.112847
- N0 -1 0 0 N1 -0.965535 0.260275 -2.07142e-16 N2 -0.743044 0.200299 -0.638566
- txt003
-STRI
- V0 -0.584584 -0.162696 0.00590278 V1 -0.605903 0 0.00590278 V2 0 0 0
- N0 -0.0218614 -0.00589307 -0.999744 N1 -0.0226746 -0 -0.999743 N2 0 0 -1
- txt003
-STRI
- V0 -0.524218 -0.307888 0.00590278 V1 -0.584584 -0.162696 0.00590278 V2 0 0 0
- N0 -0.0195486 -0.0113382 -0.999745 N1 -0.0218614 -0.00589307 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 -0.430191 -0.430191 0.00590278 V1 -0.524218 -0.307888 0.00590278 V2 0 0 0
- N0 -0.015968 -0.015968 -0.999745 N1 -0.0195486 -0.0113382 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 -0.307888 -0.524218 0.00590278 V1 -0.430191 -0.430191 0.00590278 V2 0 0 0
- N0 -0.0113382 -0.0195486 -0.999745 N1 -0.015968 -0.015968 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 -0.162696 -0.584584 0.00590278 V1 -0.307888 -0.524218 0.00590278 V2 0 0 0
- N0 -0.00589307 -0.0218614 -0.999744 N1 -0.0113382 -0.0195486 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 0 -0.605903 0.00590278 V1 -0.162696 -0.584584 0.00590278 V2 0 0 0
- N0 -4.94615e-18 -0.0226746 -0.999743 N1 -0.00589307 -0.0218614 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 -0.605903 0 0.00590278 V1 -0.584584 -0.162696 0.00590278 V2 -0.986255 -0.274486 0.0222222
- N0 -0.0226746 -0 -0.999743 N1 -0.0218614 -0.00589307 -0.999744 N2 -0.0601415 -0.0162121 -0.998058
- txt003
-STRI
- V0 -0.986255 -0.274486 0.0222222 V1 -1.02222 0 0.0222222 V2 -0.605903 0 0.00590278
- N0 -0.0601415 -0.0162121 -0.998058 N1 -0.0623783 -0 -0.998053 N2 -0.0226746 -0 -0.999743
- txt003
-STRI
- V0 -0.584584 -0.162696 0.00590278 V1 -0.524218 -0.307888 0.00590278 V2 -0.884412 -0.51944 0.0222222
- N0 -0.0218614 -0.00589307 -0.999744 N1 -0.0195486 -0.0113382 -0.999745 N2 -0.0537792 -0.0311919 -0.998066
- txt003
-STRI
- V0 -0.884412 -0.51944 0.0222222 V1 -0.986255 -0.274486 0.0222222 V2 -0.584584 -0.162696 0.00590278
- N0 -0.0537792 -0.0311919 -0.998066 N1 -0.0601415 -0.0162121 -0.998058 N2 -0.0218614 -0.00589307 -0.999744
- txt003
-STRI
- V0 -0.524218 -0.307888 0.00590278 V1 -0.430191 -0.430191 0.00590278 V2 -0.725778 -0.725778 0.0222222
- N0 -0.0195486 -0.0113382 -0.999745 N1 -0.015968 -0.015968 -0.999745 N2 -0.0439291 -0.0439291 -0.998068
- txt003
-STRI
- V0 -0.725778 -0.725778 0.0222222 V1 -0.884412 -0.51944 0.0222222 V2 -0.524218 -0.307888 0.00590278
- N0 -0.0439291 -0.0439291 -0.998068 N1 -0.0537792 -0.0311919 -0.998066 N2 -0.0195486 -0.0113382 -0.999745
- txt003
-STRI
- V0 -0.430191 -0.430191 0.00590278 V1 -0.307888 -0.524218 0.00590278 V2 -0.51944 -0.884412 0.0222222
- N0 -0.015968 -0.015968 -0.999745 N1 -0.0113382 -0.0195486 -0.999745 N2 -0.0311919 -0.0537792 -0.998066
- txt003
-STRI
- V0 -0.51944 -0.884412 0.0222222 V1 -0.725778 -0.725778 0.0222222 V2 -0.430191 -0.430191 0.00590278
- N0 -0.0311919 -0.0537792 -0.998066 N1 -0.0439291 -0.0439291 -0.998068 N2 -0.015968 -0.015968 -0.999745
- txt003
-STRI
- V0 -0.307888 -0.524218 0.00590278 V1 -0.162696 -0.584584 0.00590278 V2 -0.274486 -0.986255 0.0222222
- N0 -0.0113382 -0.0195486 -0.999745 N1 -0.00589307 -0.0218614 -0.999744 N2 -0.0162121 -0.0601415 -0.998058
- txt003
-STRI
- V0 -0.274486 -0.986255 0.0222222 V1 -0.51944 -0.884412 0.0222222 V2 -0.307888 -0.524218 0.00590278
- N0 -0.0162121 -0.0601415 -0.998058 N1 -0.0311919 -0.0537792 -0.998066 N2 -0.0113382 -0.0195486 -0.999745
- txt003
-STRI
- V0 -0.162696 -0.584584 0.00590278 V1 0 -0.605903 0.00590278 V2 2.22045e-16 -1.02222 0.0222222
- N0 -0.00589307 -0.0218614 -0.999744 N1 -4.94615e-18 -0.0226746 -0.999743 N2 0 -0.0623783 -0.998053
- txt003
-STRI
- V0 2.22045e-16 -1.02222 0.0222222 V1 -0.274486 -0.986255 0.0222222 V2 -0.162696 -0.584584 0.00590278
- N0 0 -0.0623783 -0.998053 N1 -0.0162121 -0.0601415 -0.998058 N2 -0.00589307 -0.0218614 -0.999744
- txt003
-STRI
- V0 -1.02222 0 0.0222222 V1 -0.986255 -0.274486 0.0222222 V2 -1.23918 -0.344878 0.046875
- N0 -0.0623783 -0 -0.998053 N1 -0.0601415 -0.0162121 -0.998058 N2 -0.136353 -0.0367561 -0.989978
- txt003
-STRI
- V0 -1.23918 -0.344878 0.046875 V1 -1.28438 0 0.046875 V2 -1.02222 0 0.0222222
- N0 -0.136353 -0.0367561 -0.989978 N1 -0.141421 -0 -0.989949 N2 -0.0623783 -0 -0.998053
- txt003
-STRI
- V0 -0.986255 -0.274486 0.0222222 V1 -0.884412 -0.51944 0.0222222 V2 -1.11122 -0.652653 0.046875
- N0 -0.0601415 -0.0162121 -0.998058 N1 -0.0537792 -0.0311919 -0.998066 N2 -0.121932 -0.0707208 -0.990016
- txt003
-STRI
- V0 -1.11122 -0.652653 0.046875 V1 -1.23918 -0.344878 0.046875 V2 -0.986255 -0.274486 0.0222222
- N0 -0.121932 -0.0707208 -0.990016 N1 -0.136353 -0.0367561 -0.989978 N2 -0.0601415 -0.0162121 -0.998058
- txt003
-STRI
- V0 -0.884412 -0.51944 0.0222222 V1 -0.725778 -0.725778 0.0222222 V2 -0.911906 -0.911906 0.046875
- N0 -0.0537792 -0.0311919 -0.998066 N1 -0.0439291 -0.0439291 -0.998068 N2 -0.0996006 -0.0996006 -0.99003
- txt003
-STRI
- V0 -0.911906 -0.911906 0.046875 V1 -1.11122 -0.652653 0.046875 V2 -0.884412 -0.51944 0.0222222
- N0 -0.0996006 -0.0996006 -0.99003 N1 -0.121932 -0.0707208 -0.990016 N2 -0.0537792 -0.0311919 -0.998066
- txt003
-STRI
- V0 -0.725778 -0.725778 0.0222222 V1 -0.51944 -0.884412 0.0222222 V2 -0.652653 -1.11122 0.046875
- N0 -0.0439291 -0.0439291 -0.998068 N1 -0.0311919 -0.0537792 -0.998066 N2 -0.0707208 -0.121932 -0.990016
- txt003
-STRI
- V0 -0.652653 -1.11122 0.046875 V1 -0.911906 -0.911906 0.046875 V2 -0.725778 -0.725778 0.0222222
- N0 -0.0707208 -0.121932 -0.990016 N1 -0.0996006 -0.0996006 -0.99003 N2 -0.0439291 -0.0439291 -0.998068
- txt003
-STRI
- V0 -0.51944 -0.884412 0.0222222 V1 -0.274486 -0.986255 0.0222222 V2 -0.344878 -1.23918 0.046875
- N0 -0.0311919 -0.0537792 -0.998066 N1 -0.0162121 -0.0601415 -0.998058 N2 -0.0367561 -0.136353 -0.989978
- txt003
-STRI
- V0 -0.344878 -1.23918 0.046875 V1 -0.652653 -1.11122 0.046875 V2 -0.51944 -0.884412 0.0222222
- N0 -0.0367561 -0.136353 -0.989978 N1 -0.0707208 -0.121932 -0.990016 N2 -0.0311919 -0.0537792 -0.998066
- txt003
-STRI
- V0 -0.274486 -0.986255 0.0222222 V1 2.22045e-16 -1.02222 0.0222222 V2 -2.22045e-16 -1.28437 0.046875
- N0 -0.0162121 -0.0601415 -0.998058 N1 0 -0.0623783 -0.998053 N2 0 -0.141421 -0.989949
- txt003
-STRI
- V0 -2.22045e-16 -1.28437 0.046875 V1 -0.344878 -1.23918 0.046875 V2 -0.274486 -0.986255 0.0222222
- N0 0 -0.141421 -0.989949 N1 -0.0367561 -0.136353 -0.989978 N2 -0.0162121 -0.0601415 -0.998058
- txt003
-STRI
- V0 -1.28438 0 0.046875 V1 -1.23918 -0.344878 0.046875 V2 -1.37754 -0.383385 0.0777778
- N0 -0.141421 -0 -0.989949 N1 -0.136353 -0.0367561 -0.989978 N2 -0.316788 -0.085395 -0.944644
- txt003
-STRI
- V0 -1.37754 -0.383385 0.0777778 V1 -1.42778 0 0.0777778 V2 -1.28438 0 0.046875
- N0 -0.316788 -0.085395 -0.944644 N1 -0.328521 -0 -0.944497 N2 -0.141421 -0 -0.989949
- txt003
-STRI
- V0 -1.23918 -0.344878 0.046875 V1 -1.11122 -0.652653 0.046875 V2 -1.23529 -0.725523 0.0777778
- N0 -0.136353 -0.0367561 -0.989978 N1 -0.121932 -0.0707208 -0.990016 N2 -0.283331 -0.164332 -0.944838
- txt003
-STRI
- V0 -1.23529 -0.725523 0.0777778 V1 -1.37754 -0.383385 0.0777778 V2 -1.23918 -0.344878 0.046875
- N0 -0.283331 -0.164332 -0.944838 N1 -0.316788 -0.085395 -0.944644 N2 -0.136353 -0.0367561 -0.989978
- txt003
-STRI
- V0 -1.11122 -0.652653 0.046875 V1 -0.911906 -0.911906 0.046875 V2 -1.01372 -1.01372 0.0777778
- N0 -0.121932 -0.0707208 -0.990016 N1 -0.0996006 -0.0996006 -0.99003 N2 -0.231454 -0.231454 -0.944912
- txt003
-STRI
- V0 -1.01372 -1.01372 0.0777778 V1 -1.23529 -0.725523 0.0777778 V2 -1.11122 -0.652653 0.046875
- N0 -0.231454 -0.231454 -0.944912 N1 -0.283331 -0.164332 -0.944838 N2 -0.121932 -0.0707208 -0.990016
- txt003
-STRI
- V0 -0.911906 -0.911906 0.046875 V1 -0.652653 -1.11122 0.046875 V2 -0.725523 -1.23529 0.0777778
- N0 -0.0996006 -0.0996006 -0.99003 N1 -0.0707208 -0.121932 -0.990016 N2 -0.164332 -0.283331 -0.944838
- txt003
-STRI
- V0 -0.725523 -1.23529 0.0777778 V1 -1.01372 -1.01372 0.0777778 V2 -0.911906 -0.911906 0.046875
- N0 -0.164332 -0.283331 -0.944838 N1 -0.231454 -0.231454 -0.944912 N2 -0.0996006 -0.0996006 -0.99003
- txt003
-STRI
- V0 -0.652653 -1.11122 0.046875 V1 -0.344878 -1.23918 0.046875 V2 -0.383385 -1.37754 0.0777778
- N0 -0.0707208 -0.121932 -0.990016 N1 -0.0367561 -0.136353 -0.989978 N2 -0.085395 -0.316788 -0.944644
- txt003
-STRI
- V0 -0.383385 -1.37754 0.0777778 V1 -0.725523 -1.23529 0.0777778 V2 -0.652653 -1.11122 0.046875
- N0 -0.085395 -0.316788 -0.944644 N1 -0.164332 -0.283331 -0.944838 N2 -0.0707208 -0.121932 -0.990016
- txt003
-STRI
- V0 -0.344878 -1.23918 0.046875 V1 -2.22045e-16 -1.28437 0.046875 V2 2.22045e-16 -1.42778 0.0777778
- N0 -0.0367561 -0.136353 -0.989978 N1 0 -0.141421 -0.989949 N2 -6.08223e-17 -0.328521 -0.944497
- txt003
-STRI
- V0 2.22045e-16 -1.42778 0.0777778 V1 -0.383385 -1.37754 0.0777778 V2 -0.344878 -1.23918 0.046875
- N0 -6.08223e-17 -0.328521 -0.944497 N1 -0.085395 -0.316788 -0.944644 N2 -0.0367561 -0.136353 -0.989978
- txt003
-STRI
- V0 -1.42778 0 0.0777778 V1 -1.37754 -0.383385 0.0777778 V2 -1.4355 -0.399515 0.112847
- N0 -0.328521 -0 -0.944497 N1 -0.316788 -0.085395 -0.944644 N2 -0.743044 -0.200299 -0.638566
- txt003
-STRI
- V0 -1.4355 -0.399515 0.112847 V1 -1.48785 0 0.112847 V2 -1.42778 0 0.0777778
- N0 -0.743044 -0.200299 -0.638566 N1 -0.770022 -0 -0.638018 N2 -0.328521 -0 -0.944497
- txt003
-STRI
- V0 -1.37754 -0.383385 0.0777778 V1 -1.23529 -0.725523 0.0777778 V2 -1.28726 -0.756047 0.112847
- N0 -0.316788 -0.085395 -0.944644 N1 -0.283331 -0.164332 -0.944838 N2 -0.665182 -0.385806 -0.639286
- txt003
-STRI
- V0 -1.28726 -0.756047 0.112847 V1 -1.4355 -0.399515 0.112847 V2 -1.37754 -0.383385 0.0777778
- N0 -0.665182 -0.385806 -0.639286 N1 -0.743044 -0.200299 -0.638566 N2 -0.316788 -0.085395 -0.944644
- txt003
-STRI
- V0 -1.23529 -0.725523 0.0777778 V1 -1.01372 -1.01372 0.0777778 V2 -1.05637 -1.05637 0.112847
- N0 -0.283331 -0.164332 -0.944838 N1 -0.231454 -0.231454 -0.944912 N2 -0.543581 -0.543581 -0.639562
- txt003
-STRI
- V0 -1.05637 -1.05637 0.112847 V1 -1.28726 -0.756047 0.112847 V2 -1.23529 -0.725523 0.0777778
- N0 -0.543581 -0.543581 -0.639562 N1 -0.665182 -0.385806 -0.639286 N2 -0.283331 -0.164332 -0.944838
- txt003
-STRI
- V0 -1.01372 -1.01372 0.0777778 V1 -0.725523 -1.23529 0.0777778 V2 -0.756047 -1.28726 0.112847
- N0 -0.231454 -0.231454 -0.944912 N1 -0.164332 -0.283331 -0.944838 N2 -0.385806 -0.665182 -0.639286
- txt003
-STRI
- V0 -0.756047 -1.28726 0.112847 V1 -1.05637 -1.05637 0.112847 V2 -1.01372 -1.01372 0.0777778
- N0 -0.385806 -0.665182 -0.639286 N1 -0.543581 -0.543581 -0.639562 N2 -0.231454 -0.231454 -0.944912
- txt003
-STRI
- V0 -0.725523 -1.23529 0.0777778 V1 -0.383385 -1.37754 0.0777778 V2 -0.399515 -1.4355 0.112847
- N0 -0.164332 -0.283331 -0.944838 N1 -0.085395 -0.316788 -0.944644 N2 -0.200299 -0.743044 -0.638566
- txt003
-STRI
- V0 -0.399515 -1.4355 0.112847 V1 -0.756047 -1.28726 0.112847 V2 -0.725523 -1.23529 0.0777778
- N0 -0.200299 -0.743044 -0.638566 N1 -0.385806 -0.665182 -0.639286 N2 -0.164332 -0.283331 -0.944838
- txt003
-STRI
- V0 -0.383385 -1.37754 0.0777778 V1 2.22045e-16 -1.42778 0.0777778 V2 0 -1.48785 0.112847
- N0 -0.085395 -0.316788 -0.944644 N1 -6.08223e-17 -0.328521 -0.944497 N2 -1.36806e-16 -0.770022 -0.638018
- txt003
-STRI
- V0 0 -1.48785 0.112847 V1 -0.399515 -1.4355 0.112847 V2 -0.383385 -1.37754 0.0777778
- N0 -1.36806e-16 -0.770022 -0.638018 N1 -0.200299 -0.743044 -0.638566 N2 -0.085395 -0.316788 -0.944644
- txt003
-STRI
- V0 -1.48785 0 0.112847 V1 -1.4355 -0.399515 0.112847 V2 -1.44722 -0.402778 0.15
- N0 -0.770022 -0 -0.638018 N1 -0.743044 -0.200299 -0.638566 N2 -0.965535 -0.260275 -2.07142e-16
- txt003
-STRI
- V0 -1.44722 -0.402778 0.15 V1 -1.5 0 0.15 V2 -1.48785 0 0.112847
- N0 -0.965535 -0.260275 -2.07142e-16 N1 -1 0 0 N2 -0.770022 -0 -0.638018
- txt003
-STRI
- V0 -1.4355 -0.399515 0.112847 V1 -1.28726 -0.756047 0.112847 V2 -1.29778 -0.762222 0.15
- N0 -0.743044 -0.200299 -0.638566 N1 -0.665182 -0.385806 -0.639286 N2 -0.865031 -0.501718 -5.46348e-16
- txt003
-STRI
- V0 -1.29778 -0.762222 0.15 V1 -1.44722 -0.402778 0.15 V2 -1.4355 -0.399515 0.112847
- N0 -0.865031 -0.501718 -5.46348e-16 N1 -0.965535 -0.260275 -2.07142e-16 N2 -0.743044 -0.200299 -0.638566
- txt003
-STRI
- V0 -1.28726 -0.756047 0.112847 V1 -1.05637 -1.05637 0.112847 V2 -1.065 -1.065 0.15
- N0 -0.665182 -0.385806 -0.639286 N1 -0.543581 -0.543581 -0.639562 N2 -0.707107 -0.707107 -6.97819e-16
- txt003
-STRI
- V0 -1.065 -1.065 0.15 V1 -1.29778 -0.762222 0.15 V2 -1.28726 -0.756047 0.112847
- N0 -0.707107 -0.707107 -6.97819e-16 N1 -0.865031 -0.501718 -5.46348e-16 N2 -0.665182 -0.385806 -0.639286
- txt003
-STRI
- V0 -1.05637 -1.05637 0.112847 V1 -0.756047 -1.28726 0.112847 V2 -0.762222 -1.29778 0.15
- N0 -0.543581 -0.543581 -0.639562 N1 -0.385806 -0.665182 -0.639286 N2 -0.501718 -0.865031 -5.46348e-16
- txt003
-STRI
- V0 -0.762222 -1.29778 0.15 V1 -1.065 -1.065 0.15 V2 -1.05637 -1.05637 0.112847
- N0 -0.501718 -0.865031 -5.46348e-16 N1 -0.707107 -0.707107 -6.97819e-16 N2 -0.543581 -0.543581 -0.639562
- txt003
-STRI
- V0 -0.756047 -1.28726 0.112847 V1 -0.399515 -1.4355 0.112847 V2 -0.402778 -1.44722 0.15
- N0 -0.385806 -0.665182 -0.639286 N1 -0.200299 -0.743044 -0.638566 N2 -0.260275 -0.965535 -2.07142e-16
- txt003
-STRI
- V0 -0.402778 -1.44722 0.15 V1 -0.762222 -1.29778 0.15 V2 -0.756047 -1.28726 0.112847
- N0 -0.260275 -0.965535 -2.07142e-16 N1 -0.501718 -0.865031 -5.46348e-16 N2 -0.385806 -0.665182 -0.639286
- txt003
-STRI
- V0 -0.399515 -1.4355 0.112847 V1 0 -1.48785 0.112847 V2 0 -1.5 0.15
- N0 -0.200299 -0.743044 -0.638566 N1 -1.36806e-16 -0.770022 -0.638018 N2 0 -1 0
- txt003
-STRI
- V0 0 -1.5 0.15 V1 -0.402778 -1.44722 0.15 V2 -0.399515 -1.4355 0.112847
- N0 0 -1 0 N1 -0.260275 -0.965535 -2.07142e-16 N2 -0.200299 -0.743044 -0.638566
- txt003
-STRI
- V0 0.162696 -0.584584 0.00590278 V1 0 -0.605903 0.00590278 V2 0 0 0
- N0 0.00589307 -0.0218614 -0.999744 N1 0 -0.0226746 -0.999743 N2 0 0 -1
- txt003
-STRI
- V0 0.307888 -0.524218 0.00590278 V1 0.162696 -0.584584 0.00590278 V2 0 0 0
- N0 0.0113382 -0.0195486 -0.999745 N1 0.00589307 -0.0218614 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 0.430191 -0.430191 0.00590278 V1 0.307888 -0.524218 0.00590278 V2 0 0 0
- N0 0.015968 -0.015968 -0.999745 N1 0.0113382 -0.0195486 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 0.524218 -0.307888 0.00590278 V1 0.430191 -0.430191 0.00590278 V2 0 0 0
- N0 0.0195486 -0.0113382 -0.999745 N1 0.015968 -0.015968 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 0.584584 -0.162696 0.00590278 V1 0.524218 -0.307888 0.00590278 V2 0 0 0
- N0 0.0218614 -0.00589307 -0.999744 N1 0.0195486 -0.0113382 -0.999745 N2 0 0 -1
- txt003
-STRI
- V0 0.605903 0 0.00590278 V1 0.584584 -0.162696 0.00590278 V2 0 0 0
- N0 0.0226746 -4.94615e-18 -0.999743 N1 0.0218614 -0.00589307 -0.999744 N2 0 0 -1
- txt003
-STRI
- V0 0 -0.605903 0.00590278 V1 0.162696 -0.584584 0.00590278 V2 0.274486 -0.986255 0.0222222
- N0 0 -0.0226746 -0.999743 N1 0.00589307 -0.0218614 -0.999744 N2 0.0162121 -0.0601415 -0.998058
- txt003
-STRI
- V0 0.274486 -0.986255 0.0222222 V1 0 -1.02222 0.0222222 V2 0 -0.605903 0.00590278
- N0 0.0162121 -0.0601415 -0.998058 N1 0 -0.0623783 -0.998053 N2 0 -0.0226746 -0.999743
- txt003
-STRI
- V0 0.162696 -0.584584 0.00590278 V1 0.307888 -0.524218 0.00590278 V2 0.51944 -0.884412 0.0222222
- N0 0.00589307 -0.0218614 -0.999744 N1 0.0113382 -0.0195486 -0.999745 N2 0.0311919 -0.0537792 -0.998066
- txt003
-STRI
- V0 0.51944 -0.884412 0.0222222 V1 0.274486 -0.986255 0.0222222 V2 0.162696 -0.584584 0.00590278
- N0 0.0311919 -0.0537792 -0.998066 N1 0.0162121 -0.0601415 -0.998058 N2 0.00589307 -0.0218614 -0.999744
- txt003
-STRI
- V0 0.307888 -0.524218 0.00590278 V1 0.430191 -0.430191 0.00590278 V2 0.725778 -0.725778 0.0222222
- N0 0.0113382 -0.0195486 -0.999745 N1 0.015968 -0.015968 -0.999745 N2 0.0439291 -0.0439291 -0.998068
- txt003
-STRI
- V0 0.725778 -0.725778 0.0222222 V1 0.51944 -0.884412 0.0222222 V2 0.307888 -0.524218 0.00590278
- N0 0.0439291 -0.0439291 -0.998068 N1 0.0311919 -0.0537792 -0.998066 N2 0.0113382 -0.0195486 -0.999745
- txt003
-STRI
- V0 0.430191 -0.430191 0.00590278 V1 0.524218 -0.307888 0.00590278 V2 0.884412 -0.51944 0.0222222
- N0 0.015968 -0.015968 -0.999745 N1 0.0195486 -0.0113382 -0.999745 N2 0.0537792 -0.0311919 -0.998066
- txt003
-STRI
- V0 0.884412 -0.51944 0.0222222 V1 0.725778 -0.725778 0.0222222 V2 0.430191 -0.430191 0.00590278
- N0 0.0537792 -0.0311919 -0.998066 N1 0.0439291 -0.0439291 -0.998068 N2 0.015968 -0.015968 -0.999745
- txt003
-STRI
- V0 0.524218 -0.307888 0.00590278 V1 0.584584 -0.162696 0.00590278 V2 0.986255 -0.274486 0.0222222
- N0 0.0195486 -0.0113382 -0.999745 N1 0.0218614 -0.00589307 -0.999744 N2 0.0601415 -0.0162121 -0.998058
- txt003
-STRI
- V0 0.986255 -0.274486 0.0222222 V1 0.884412 -0.51944 0.0222222 V2 0.524218 -0.307888 0.00590278
- N0 0.0601415 -0.0162121 -0.998058 N1 0.0537792 -0.0311919 -0.998066 N2 0.0195486 -0.0113382 -0.999745
- txt003
-STRI
- V0 0.584584 -0.162696 0.00590278 V1 0.605903 0 0.00590278 V2 1.02222 2.22045e-16 0.0222222
- N0 0.0218614 -0.00589307 -0.999744 N1 0.0226746 -4.94615e-18 -0.999743 N2 0.0623783 0 -0.998053
- txt003
-STRI
- V0 1.02222 2.22045e-16 0.0222222 V1 0.986255 -0.274486 0.0222222 V2 0.584584 -0.162696 0.00590278
- N0 0.0623783 0 -0.998053 N1 0.0601415 -0.0162121 -0.998058 N2 0.0218614 -0.00589307 -0.999744
- txt003
-STRI
- V0 0 -1.02222 0.0222222 V1 0.274486 -0.986255 0.0222222 V2 0.344878 -1.23918 0.046875
- N0 0 -0.0623783 -0.998053 N1 0.0162121 -0.0601415 -0.998058 N2 0.0367561 -0.136353 -0.989978
- txt003
-STRI
- V0 0.344878 -1.23918 0.046875 V1 0 -1.28438 0.046875 V2 0 -1.02222 0.0222222
- N0 0.0367561 -0.136353 -0.989978 N1 0 -0.141421 -0.989949 N2 0 -0.0623783 -0.998053
- txt003
-STRI
- V0 0.274486 -0.986255 0.0222222 V1 0.51944 -0.884412 0.0222222 V2 0.652653 -1.11122 0.046875
- N0 0.0162121 -0.0601415 -0.998058 N1 0.0311919 -0.0537792 -0.998066 N2 0.0707208 -0.121932 -0.990016
- txt003
-STRI
- V0 0.652653 -1.11122 0.046875 V1 0.344878 -1.23918 0.046875 V2 0.274486 -0.986255 0.0222222
- N0 0.0707208 -0.121932 -0.990016 N1 0.0367561 -0.136353 -0.989978 N2 0.0162121 -0.0601415 -0.998058
- txt003
-STRI
- V0 0.51944 -0.884412 0.0222222 V1 0.725778 -0.725778 0.0222222 V2 0.911906 -0.911906 0.046875
- N0 0.0311919 -0.0537792 -0.998066 N1 0.0439291 -0.0439291 -0.998068 N2 0.0996006 -0.0996006 -0.99003
- txt003
-STRI
- V0 0.911906 -0.911906 0.046875 V1 0.652653 -1.11122 0.046875 V2 0.51944 -0.884412 0.0222222
- N0 0.0996006 -0.0996006 -0.99003 N1 0.0707208 -0.121932 -0.990016 N2 0.0311919 -0.0537792 -0.998066
- txt003
-STRI
- V0 0.725778 -0.725778 0.0222222 V1 0.884412 -0.51944 0.0222222 V2 1.11122 -0.652653 0.046875
- N0 0.0439291 -0.0439291 -0.998068 N1 0.0537792 -0.0311919 -0.998066 N2 0.121932 -0.0707208 -0.990016
- txt003
-STRI
- V0 1.11122 -0.652653 0.046875 V1 0.911906 -0.911906 0.046875 V2 0.725778 -0.725778 0.0222222
- N0 0.121932 -0.0707208 -0.990016 N1 0.0996006 -0.0996006 -0.99003 N2 0.0439291 -0.0439291 -0.998068
- txt003
-STRI
- V0 0.884412 -0.51944 0.0222222 V1 0.986255 -0.274486 0.0222222 V2 1.23918 -0.344878 0.046875
- N0 0.0537792 -0.0311919 -0.998066 N1 0.0601415 -0.0162121 -0.998058 N2 0.136353 -0.0367561 -0.989978
- txt003
-STRI
- V0 1.23918 -0.344878 0.046875 V1 1.11122 -0.652653 0.046875 V2 0.884412 -0.51944 0.0222222
- N0 0.136353 -0.0367561 -0.989978 N1 0.121932 -0.0707208 -0.990016 N2 0.0537792 -0.0311919 -0.998066
- txt003
-STRI
- V0 0.986255 -0.274486 0.0222222 V1 1.02222 2.22045e-16 0.0222222 V2 1.28437 -2.22045e-16 0.046875
- N0 0.0601415 -0.0162121 -0.998058 N1 0.0623783 0 -0.998053 N2 0.141421 0 -0.989949
- txt003
-STRI
- V0 1.28437 -2.22045e-16 0.046875 V1 1.23918 -0.344878 0.046875 V2 0.986255 -0.274486 0.0222222
- N0 0.141421 0 -0.989949 N1 0.136353 -0.0367561 -0.989978 N2 0.0601415 -0.0162121 -0.998058
- txt003
-STRI
- V0 0 -1.28438 0.046875 V1 0.344878 -1.23918 0.046875 V2 0.383385 -1.37754 0.0777778
- N0 0 -0.141421 -0.989949 N1 0.0367561 -0.136353 -0.989978 N2 0.085395 -0.316788 -0.944644
- txt003
-STRI
- V0 0.383385 -1.37754 0.0777778 V1 0 -1.42778 0.0777778 V2 0 -1.28438 0.046875
- N0 0.085395 -0.316788 -0.944644 N1 0 -0.328521 -0.944497 N2 0 -0.141421 -0.989949
- txt003
-STRI
- V0 0.344878 -1.23918 0.046875 V1 0.652653 -1.11122 0.046875 V2 0.725523 -1.23529 0.0777778
- N0 0.0367561 -0.136353 -0.989978 N1 0.0707208 -0.121932 -0.990016 N2 0.164332 -0.283331 -0.944838
- txt003
-STRI
- V0 0.725523 -1.23529 0.0777778 V1 0.383385 -1.37754 0.0777778 V2 0.344878 -1.23918 0.046875
- N0 0.164332 -0.283331 -0.944838 N1 0.085395 -0.316788 -0.944644 N2 0.0367561 -0.136353 -0.989978
- txt003
-STRI
- V0 0.652653 -1.11122 0.046875 V1 0.911906 -0.911906 0.046875 V2 1.01372 -1.01372 0.0777778
- N0 0.0707208 -0.121932 -0.990016 N1 0.0996006 -0.0996006 -0.99003 N2 0.231454 -0.231454 -0.944912
- txt003
-STRI
- V0 1.01372 -1.01372 0.0777778 V1 0.725523 -1.23529 0.0777778 V2 0.652653 -1.11122 0.046875
- N0 0.231454 -0.231454 -0.944912 N1 0.164332 -0.283331 -0.944838 N2 0.0707208 -0.121932 -0.990016
- txt003
-STRI
- V0 0.911906 -0.911906 0.046875 V1 1.11122 -0.652653 0.046875 V2 1.23529 -0.725523 0.0777778
- N0 0.0996006 -0.0996006 -0.99003 N1 0.121932 -0.0707208 -0.990016 N2 0.283331 -0.164332 -0.944838
- txt003
-STRI
- V0 1.23529 -0.725523 0.0777778 V1 1.01372 -1.01372 0.0777778 V2 0.911906 -0.911906 0.046875
- N0 0.283331 -0.164332 -0.944838 N1 0.231454 -0.231454 -0.944912 N2 0.0996006 -0.0996006 -0.99003
- txt003
-STRI
- V0 1.11122 -0.652653 0.046875 V1 1.23918 -0.344878 0.046875 V2 1.37754 -0.383385 0.0777778
- N0 0.121932 -0.0707208 -0.990016 N1 0.136353 -0.0367561 -0.989978 N2 0.316788 -0.085395 -0.944644
- txt003
-STRI
- V0 1.37754 -0.383385 0.0777778 V1 1.23529 -0.725523 0.0777778 V2 1.11122 -0.652653 0.046875
- N0 0.316788 -0.085395 -0.944644 N1 0.283331 -0.164332 -0.944838 N2 0.121932 -0.0707208 -0.990016
- txt003
-STRI
- V0 1.23918 -0.344878 0.046875 V1 1.28437 -2.22045e-16 0.046875 V2 1.42778 2.22045e-16 0.0777778
- N0 0.136353 -0.0367561 -0.989978 N1 0.141421 0 -0.989949 N2 0.328521 -6.08223e-17 -0.944497
- txt003
-STRI
- V0 1.42778 2.22045e-16 0.0777778 V1 1.37754 -0.383385 0.0777778 V2 1.23918 -0.344878 0.046875
- N0 0.328521 -6.08223e-17 -0.944497 N1 0.316788 -0.085395 -0.944644 N2 0.136353 -0.0367561 -0.989978
- txt003
-STRI
- V0 0 -1.42778 0.0777778 V1 0.383385 -1.37754 0.0777778 V2 0.399515 -1.4355 0.112847
- N0 0 -0.328521 -0.944497 N1 0.085395 -0.316788 -0.944644 N2 0.200299 -0.743044 -0.638566
- txt003
-STRI
- V0 0.399515 -1.4355 0.112847 V1 0 -1.48785 0.112847 V2 0 -1.42778 0.0777778
- N0 0.200299 -0.743044 -0.638566 N1 0 -0.770022 -0.638018 N2 0 -0.328521 -0.944497
- txt003
-STRI
- V0 0.383385 -1.37754 0.0777778 V1 0.725523 -1.23529 0.0777778 V2 0.756047 -1.28726 0.112847
- N0 0.085395 -0.316788 -0.944644 N1 0.164332 -0.283331 -0.944838 N2 0.385806 -0.665182 -0.639286
- txt003
-STRI
- V0 0.756047 -1.28726 0.112847 V1 0.399515 -1.4355 0.112847 V2 0.383385 -1.37754 0.0777778
- N0 0.385806 -0.665182 -0.639286 N1 0.200299 -0.743044 -0.638566 N2 0.085395 -0.316788 -0.944644
- txt003
-STRI
- V0 0.725523 -1.23529 0.0777778 V1 1.01372 -1.01372 0.0777778 V2 1.05637 -1.05637 0.112847
- N0 0.164332 -0.283331 -0.944838 N1 0.231454 -0.231454 -0.944912 N2 0.543581 -0.543581 -0.639562
- txt003
-STRI
- V0 1.05637 -1.05637 0.112847 V1 0.756047 -1.28726 0.112847 V2 0.725523 -1.23529 0.0777778
- N0 0.543581 -0.543581 -0.639562 N1 0.385806 -0.665182 -0.639286 N2 0.164332 -0.283331 -0.944838
- txt003
-STRI
- V0 1.01372 -1.01372 0.0777778 V1 1.23529 -0.725523 0.0777778 V2 1.28726 -0.756047 0.112847
- N0 0.231454 -0.231454 -0.944912 N1 0.283331 -0.164332 -0.944838 N2 0.665182 -0.385806 -0.639286
- txt003
-STRI
- V0 1.28726 -0.756047 0.112847 V1 1.05637 -1.05637 0.112847 V2 1.01372 -1.01372 0.0777778
- N0 0.665182 -0.385806 -0.639286 N1 0.543581 -0.543581 -0.639562 N2 0.231454 -0.231454 -0.944912
- txt003
-STRI
- V0 1.23529 -0.725523 0.0777778 V1 1.37754 -0.383385 0.0777778 V2 1.4355 -0.399515 0.112847
- N0 0.283331 -0.164332 -0.944838 N1 0.316788 -0.085395 -0.944644 N2 0.743044 -0.200299 -0.638566
- txt003
-STRI
- V0 1.4355 -0.399515 0.112847 V1 1.28726 -0.756047 0.112847 V2 1.23529 -0.725523 0.0777778
- N0 0.743044 -0.200299 -0.638566 N1 0.665182 -0.385806 -0.639286 N2 0.283331 -0.164332 -0.944838
- txt003
-STRI
- V0 1.37754 -0.383385 0.0777778 V1 1.42778 2.22045e-16 0.0777778 V2 1.48785 0 0.112847
- N0 0.316788 -0.085395 -0.944644 N1 0.328521 -6.08223e-17 -0.944497 N2 0.770022 -1.36806e-16 -0.638018
- txt003
-STRI
- V0 1.48785 0 0.112847 V1 1.4355 -0.399515 0.112847 V2 1.37754 -0.383385 0.0777778
- N0 0.770022 -1.36806e-16 -0.638018 N1 0.743044 -0.200299 -0.638566 N2 0.316788 -0.085395 -0.944644
- txt003
-STRI
- V0 0 -1.48785 0.112847 V1 0.399515 -1.4355 0.112847 V2 0.402778 -1.44722 0.15
- N0 0 -0.770022 -0.638018 N1 0.200299 -0.743044 -0.638566 N2 0.260275 -0.965535 -2.07142e-16
- txt003
-STRI
- V0 0.402778 -1.44722 0.15 V1 0 -1.5 0.15 V2 0 -1.48785 0.112847
- N0 0.260275 -0.965535 -2.07142e-16 N1 0 -1 0 N2 0 -0.770022 -0.638018
- txt003
-STRI
- V0 0.399515 -1.4355 0.112847 V1 0.756047 -1.28726 0.112847 V2 0.762222 -1.29778 0.15
- N0 0.200299 -0.743044 -0.638566 N1 0.385806 -0.665182 -0.639286 N2 0.501718 -0.865031 -5.46348e-16
- txt003
-STRI
- V0 0.762222 -1.29778 0.15 V1 0.402778 -1.44722 0.15 V2 0.399515 -1.4355 0.112847
- N0 0.501718 -0.865031 -5.46348e-16 N1 0.260275 -0.965535 -2.07142e-16 N2 0.200299 -0.743044 -0.638566
- txt003
-STRI
- V0 0.756047 -1.28726 0.112847 V1 1.05637 -1.05637 0.112847 V2 1.065 -1.065 0.15
- N0 0.385806 -0.665182 -0.639286 N1 0.543581 -0.543581 -0.639562 N2 0.707107 -0.707107 -6.97819e-16
- txt003
-STRI
- V0 1.065 -1.065 0.15 V1 0.762222 -1.29778 0.15 V2 0.756047 -1.28726 0.112847
- N0 0.707107 -0.707107 -6.97819e-16 N1 0.501718 -0.865031 -5.46348e-16 N2 0.385806 -0.665182 -0.639286
- txt003
-STRI
- V0 1.05637 -1.05637 0.112847 V1 1.28726 -0.756047 0.112847 V2 1.29778 -0.762222 0.15
- N0 0.543581 -0.543581 -0.639562 N1 0.665182 -0.385806 -0.639286 N2 0.865031 -0.501718 -5.46348e-16
- txt003
-STRI
- V0 1.29778 -0.762222 0.15 V1 1.065 -1.065 0.15 V2 1.05637 -1.05637 0.112847
- N0 0.865031 -0.501718 -5.46348e-16 N1 0.707107 -0.707107 -6.97819e-16 N2 0.543581 -0.543581 -0.639562
- txt003
-STRI
- V0 1.28726 -0.756047 0.112847 V1 1.4355 -0.399515 0.112847 V2 1.44722 -0.402778 0.15
- N0 0.665182 -0.385806 -0.639286 N1 0.743044 -0.200299 -0.638566 N2 0.965535 -0.260275 -2.07142e-16
- txt003
-STRI
- V0 1.44722 -0.402778 0.15 V1 1.29778 -0.762222 0.15 V2 1.28726 -0.756047 0.112847
- N0 0.965535 -0.260275 -2.07142e-16 N1 0.865031 -0.501718 -5.46348e-16 N2 0.665182 -0.385806 -0.639286
- txt003
-STRI
- V0 1.4355 -0.399515 0.112847 V1 1.48785 0 0.112847 V2 1.5 0 0.15
- N0 0.743044 -0.200299 -0.638566 N1 0.770022 -1.36806e-16 -0.638018 N2 1 0 0
- txt003
-STRI
- V0 1.5 0 0.15 V1 1.44722 -0.402778 0.15 V2 1.4355 -0.399515 0.112847
- N0 1 0 0 N1 0.965535 -0.260275 -2.07142e-16 N2 0.743044 -0.200299 -0.638566
- txt003
-
-END_SCENE
+++ /dev/null
-BEGIN_SCENE
- OUTFILE /dev/null
- RESOLUTION 768 768
- VERBOSE 0
-
-CAMERA
- ZOOM 1.0
- ASPECTRATIO 1.0
- ANTIALIASING 0
- RAYDEPTH 4
- CENTER 15.0 20.0 -50.0
- VIEWDIR 0.0 0.0 1.0
- UPDIR 0.0 1.0 0.0
-END_CAMERA
-
-
-LIGHT
- CENTER 40.0 50.0 -40.0
- RAD 0.2
- COLOR 0.5 0.5 0.5
-
-LIGHT
- CENTER -40.0 20.0 -40.0
- RAD 0.2
- COLOR 0.5 0.5 0.5
-
-
-TEXDEF O AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- PHONG PLASTIC 0.5 PHONG_SIZE 24.8
- COLOR 1.0 0.0 0.0 TEXFUNC 0
-TEXALIAS OH O
-TEXALIAS OD1 O
-TEXALIAS OD2 O
-TEXALIAS OE1 O
-TEXALIAS OE2 O
-TEXALIAS OG O
-TEXALIAS OG1 O
-TEXALIAS OG2 O
-TEXALIAS OXT O
-
-TEXDEF C AMBIENT 0.1 DIFFUSE 0.5 SPECULAR 0.0 OPACITY 1.0
- PHONG PLASTIC 0.5 PHONG_SIZE 24.8
- COLOR 0.5 0.5 0.5 TEXFUNC 0
-TEXALIAS CA C
-TEXALIAS CB C
-TEXALIAS CD C
-TEXALIAS CD1 C
-TEXALIAS CD2 C
-TEXALIAS CE C
-TEXALIAS CE1 C
-TEXALIAS CE2 C
-TEXALIAS CG C
-TEXALIAS CG1 C
-TEXALIAS CG2 C
-TEXALIAS CZ C
-
-TEXDEF N AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- PHONG PLASTIC 0.5 PHONG_SIZE 24.8
- COLOR 0.5 0.5 1.0 TEXFUNC 0
-TEXALIAS ND2 N
-TEXALIAS NH1 N
-TEXALIAS NH2 N
-TEXALIAS NE N
-TEXALIAS NE2 N
-TEXALIAS NZ N
-
-TEXDEF SD AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- PHONG METAL 0.5 PHONG_SIZE 24.8
- COLOR 1.0 1.0 1.0 TEXFUNC 0
-
-TEXDEF SG AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- PHONG PLASTIC 0.5 PHONG_SIZE 24.8
- COLOR 1.0 1.0 1.0 TEXFUNC 0
-
-SPHERE CENTER 26.465000 27.452000 -2.490000 RAD 1.0 N
-SPHERE CENTER 25.497000 26.862000 -1.573000 RAD 1.0 CA
-SPHERE CENTER 26.193001 26.179001 -0.437000 RAD 1.0 C
-SPHERE CENTER 27.270000 25.549000 -0.624000 RAD 1.0 O
-SPHERE CENTER 24.583000 25.804001 -2.239000 RAD 1.0 CB
-SPHERE CENTER 25.091000 24.375000 -2.409000 RAD 1.0 CG
-SPHERE CENTER 24.018999 23.427999 -2.996000 RAD 1.0 CD
-SPHERE CENTER 23.591000 24.028000 -4.287000 RAD 1.0 NE
-SPHERE CENTER 24.299000 23.972000 -5.389000 RAD 1.0 CZ
-SPHERE CENTER 25.431999 23.261000 -5.440000 RAD 1.0 NH1
-SPHERE CENTER 23.721001 24.372999 -6.467000 RAD 1.0 NH2
-SPHERE CENTER 25.667000 26.396000 0.708000 RAD 1.0 N
-SPHERE CENTER 26.222000 25.760000 1.891000 RAD 1.0 CA
-SPHERE CENTER 26.207001 24.242001 1.830000 RAD 1.0 C
-SPHERE CENTER 25.400000 23.576000 1.139000 RAD 1.0 O
-SPHERE CENTER 25.260000 26.207001 3.033000 RAD 1.0 CB
-SPHERE CENTER 24.511999 27.427999 2.493000 RAD 1.0 CG
-SPHERE CENTER 24.606001 27.382000 0.978000 RAD 1.0 CD
-SPHERE CENTER 27.170000 23.634001 2.462000 RAD 1.0 N
-SPHERE CENTER 27.284000 22.163000 2.498000 RAD 1.0 CA
-SPHERE CENTER 26.042999 21.506001 3.085000 RAD 1.0 C
-SPHERE CENTER 25.752001 20.350000 2.705000 RAD 1.0 O
-SPHERE CENTER 28.424999 21.747000 3.461000 RAD 1.0 CB
-SPHERE CENTER 29.791000 21.886000 2.787000 RAD 1.0 CG
-SPHERE CENTER 29.875000 22.104000 1.543000 RAD 1.0 OD1
-SPHERE CENTER 30.806000 21.500999 3.431000 RAD 1.0 OD2
-SPHERE CENTER 25.393999 22.184000 4.041000 RAD 1.0 N
-SPHERE CENTER 24.172001 21.584999 4.618000 RAD 1.0 CA
-SPHERE CENTER 23.009001 21.375000 3.624000 RAD 1.0 C
-SPHERE CENTER 22.082001 20.603001 3.921000 RAD 1.0 O
-SPHERE CENTER 23.691999 22.330999 5.862000 RAD 1.0 CB
-SPHERE CENTER 23.191999 23.778999 5.639000 RAD 1.0 CG
-SPHERE CENTER 21.961000 24.002001 5.060000 RAD 1.0 CD1
-SPHERE CENTER 23.951000 24.841000 6.050000 RAD 1.0 CD2
-SPHERE CENTER 21.497000 25.281000 4.869000 RAD 1.0 CE1
-SPHERE CENTER 23.510000 26.124001 5.854000 RAD 1.0 CE2
-SPHERE CENTER 22.277000 26.363001 5.249000 RAD 1.0 CZ
-SPHERE CENTER 23.094999 22.004000 2.522000 RAD 1.0 N
-SPHERE CENTER 22.106001 21.863001 1.467000 RAD 1.0 CA
-SPHERE CENTER 22.191999 20.518000 0.830000 RAD 1.0 C
-SPHERE CENTER 21.230000 20.068001 0.167000 RAD 1.0 O
-SPHERE CENTER 22.358000 22.903999 0.371000 RAD 1.0 CB
-SPHERE CENTER 22.145000 24.591999 0.888000 RAD 1.0 SG
-SPHERE CENTER 23.326000 19.826000 1.008000 RAD 1.0 N
-SPHERE CENTER 23.436001 18.459999 0.459000 RAD 1.0 CA
-SPHERE CENTER 22.958000 17.365000 1.407000 RAD 1.0 C
-SPHERE CENTER 22.938000 16.180000 0.999000 RAD 1.0 O
-SPHERE CENTER 24.898001 18.084000 0.131000 RAD 1.0 CB
-SPHERE CENTER 25.572001 19.129000 -0.776000 RAD 1.0 CG
-SPHERE CENTER 27.037001 18.695000 -1.116000 RAD 1.0 CD1
-SPHERE CENTER 24.791000 19.488001 -2.049000 RAD 1.0 CD2
-SPHERE CENTER 22.545000 17.716000 2.628000 RAD 1.0 N
-SPHERE CENTER 22.039000 16.646000 3.528000 RAD 1.0 CA
-SPHERE CENTER 20.615999 16.285000 3.113000 RAD 1.0 C
-SPHERE CENTER 19.860001 17.136000 2.576000 RAD 1.0 O
-SPHERE CENTER 21.764000 17.216999 4.920000 RAD 1.0 CB
-SPHERE CENTER 22.813999 18.035000 5.647000 RAD 1.0 CG
-SPHERE CENTER 22.152000 18.707001 6.870000 RAD 1.0 CD
-SPHERE CENTER 22.980000 19.100000 7.718000 RAD 1.0 OE1
-SPHERE CENTER 21.086000 19.403999 6.779000 RAD 1.0 OE2
-SPHERE CENTER 20.254000 15.031000 3.334000 RAD 1.0 N
-SPHERE CENTER 18.892000 14.554000 3.034000 RAD 1.0 CA
-SPHERE CENTER 17.954000 15.160000 4.079000 RAD 1.0 C
-SPHERE CENTER 18.443001 15.606000 5.146000 RAD 1.0 O
-SPHERE CENTER 18.910000 13.045000 3.274000 RAD 1.0 CB
-SPHERE CENTER 20.226000 12.742000 4.021000 RAD 1.0 CG
-SPHERE CENTER 21.107000 14.009000 3.934000 RAD 1.0 CD
-SPHERE CENTER 16.681999 15.232000 3.767000 RAD 1.0 N
-SPHERE CENTER 15.690000 15.852000 4.661000 RAD 1.0 CA
-SPHERE CENTER 15.550000 15.006000 5.916000 RAD 1.0 C
-SPHERE CENTER 15.693000 13.769000 5.836000 RAD 1.0 O
-SPHERE CENTER 14.367000 15.707000 3.867000 RAD 1.0 CB
-SPHERE CENTER 14.571000 14.716000 2.710000 RAD 1.0 CG
-SPHERE CENTER 16.090000 14.597000 2.574000 RAD 1.0 CD
-SPHERE CENTER 15.365000 15.630000 7.042000 RAD 1.0 N
-SPHERE CENTER 15.310000 14.908000 8.298000 RAD 1.0 CA
-SPHERE CENTER 13.953000 15.177000 8.952000 RAD 1.0 C
-SPHERE CENTER 13.699000 16.320000 9.382000 RAD 1.0 O
-SPHERE CENTER 16.532000 15.383000 9.122000 RAD 1.0 CB
-SPHERE CENTER 16.608000 14.781000 10.525000 RAD 1.0 CG
-SPHERE CENTER 17.132000 13.535000 10.707000 RAD 1.0 CD1
-SPHERE CENTER 16.155001 15.523000 11.588000 RAD 1.0 CD2
-SPHERE CENTER 17.216000 12.999000 11.982000 RAD 1.0 CE1
-SPHERE CENTER 16.266001 14.985000 12.862000 RAD 1.0 CE2
-SPHERE CENTER 16.808001 13.746000 13.047000 RAD 1.0 CZ
-SPHERE CENTER 16.878000 13.192000 14.372000 RAD 1.0 OH
-SPHERE CENTER 13.161000 14.146000 9.088000 RAD 1.0 N
-SPHERE CENTER 11.802000 14.321000 9.642000 RAD 1.0 CA
-SPHERE CENTER 11.855000 14.484000 11.146000 RAD 1.0 C
-SPHERE CENTER 11.105000 15.314000 11.759000 RAD 1.0 O
-SPHERE CENTER 10.963000 13.105000 9.273000 RAD 1.0 CB
-SPHERE CENTER 10.706000 13.192000 7.854000 RAD 1.0 OG1
-SPHERE CENTER 9.611000 13.152000 10.045000 RAD 1.0 CG2
-SPHERE CENTER 12.789000 13.760000 11.726000 RAD 1.0 N
-SPHERE CENTER 13.002000 13.922000 13.198000 RAD 1.0 CA
-SPHERE CENTER 12.107000 12.944000 13.909000 RAD 1.0 C
-SPHERE CENTER 11.333000 12.212000 13.239000 RAD 1.0 O
-SPHERE CENTER 12.235000 12.905000 15.210000 RAD 1.0 N
-SPHERE CENTER 11.516000 11.958000 16.066999 RAD 1.0 CA
-SPHERE CENTER 10.094000 12.319000 16.468000 RAD 1.0 C
-SPHERE CENTER 9.440000 11.442000 17.052000 RAD 1.0 O
-SPHERE CENTER 12.272000 11.936000 17.370001 RAD 1.0 CB
-SPHERE CENTER 13.164000 13.172000 17.399000 RAD 1.0 CG
-SPHERE CENTER 13.281000 13.627000 15.925000 RAD 1.0 CD
-SPHERE CENTER 9.629000 13.519000 16.214001 RAD 1.0 N
-SPHERE CENTER 8.290000 13.980000 16.615999 RAD 1.0 CA
-SPHERE CENTER 7.268000 13.720000 15.515000 RAD 1.0 C
-SPHERE CENTER 7.672000 13.397000 14.387000 RAD 1.0 O
-SPHERE CENTER 8.279000 15.441000 16.966999 RAD 1.0 CB
-SPHERE CENTER 9.221000 15.735000 18.490000 RAD 1.0 SG
-SPHERE CENTER 6.027000 13.680000 15.869000 RAD 1.0 N
-SPHERE CENTER 5.005000 13.220000 14.945000 RAD 1.0 CA
-SPHERE CENTER 3.964000 14.283000 14.630000 RAD 1.0 C
-SPHERE CENTER 2.777000 13.949000 14.377000 RAD 1.0 O
-SPHERE CENTER 4.310000 11.998000 15.592000 RAD 1.0 CB
-SPHERE CENTER 5.273000 10.848000 15.913000 RAD 1.0 CG
-SPHERE CENTER 5.781000 10.034000 14.702000 RAD 1.0 CD
-SPHERE CENTER 6.855000 9.016000 15.126000 RAD 1.0 CE
-SPHERE CENTER 7.357000 8.291000 13.953000 RAD 1.0 NZ
-SPHERE CENTER 4.325000 15.549000 14.618000 RAD 1.0 N
-SPHERE CENTER 3.513000 16.639999 14.122000 RAD 1.0 CA
-SPHERE CENTER 3.561000 16.615000 12.586000 RAD 1.0 C
-SPHERE CENTER 4.270000 15.752000 12.023000 RAD 1.0 O
-SPHERE CENTER 3.984000 17.995001 14.670000 RAD 1.0 CB
-SPHERE CENTER 2.781000 17.424999 11.943000 RAD 1.0 N
-SPHERE CENTER 2.700000 17.355000 10.457000 RAD 1.0 CA
-SPHERE CENTER 2.875000 18.731001 9.887000 RAD 1.0 C
-SPHERE CENTER 1.878000 19.469999 9.653000 RAD 1.0 O
-SPHERE CENTER 1.320000 16.787001 9.970000 RAD 1.0 CB
-SPHERE CENTER 1.186000 15.339000 10.395000 RAD 1.0 CG
-SPHERE CENTER -0.170000 14.751000 9.963000 RAD 1.0 CD
-SPHERE CENTER -1.132000 15.455000 10.801000 RAD 1.0 NE
-SPHERE CENTER -1.531000 14.913000 11.939000 RAD 1.0 CZ
-SPHERE CENTER -1.172000 13.658000 12.165000 RAD 1.0 NH1
-SPHERE CENTER -2.202000 15.647000 12.795000 RAD 1.0 NH2
-SPHERE CENTER 4.154000 19.110001 9.817000 RAD 1.0 N
-SPHERE CENTER 4.595000 20.444000 9.391000 RAD 1.0 CA
-SPHERE CENTER 5.249000 20.388000 8.012000 RAD 1.0 C
-SPHERE CENTER 6.193000 19.612000 7.834000 RAD 1.0 O
-SPHERE CENTER 5.590000 20.988001 10.452000 RAD 1.0 CB
-SPHERE CENTER 4.792000 21.062000 11.815000 RAD 1.0 CG1
-SPHERE CENTER 5.985000 22.451000 10.085000 RAD 1.0 CG2
-SPHERE CENTER 5.689000 21.535999 12.955000 RAD 1.0 CD1
-SPHERE CENTER 4.586000 20.955999 7.035000 RAD 1.0 N
-SPHERE CENTER 5.154000 20.879000 5.697000 RAD 1.0 CA
-SPHERE CENTER 6.286000 21.912001 5.572000 RAD 1.0 C
-SPHERE CENTER 6.156000 23.146000 5.785000 RAD 1.0 O
-SPHERE CENTER 4.095000 21.205000 4.648000 RAD 1.0 CB
-SPHERE CENTER 2.836000 20.316999 4.886000 RAD 1.0 CG1
-SPHERE CENTER 4.655000 20.930000 3.250000 RAD 1.0 CG2
-SPHERE CENTER 3.122000 18.813999 4.850000 RAD 1.0 CD1
-SPHERE CENTER 7.451000 21.372000 5.297000 RAD 1.0 N
-SPHERE CENTER 8.602000 22.257000 5.060000 RAD 1.0 CA
-SPHERE CENTER 9.150000 21.950001 3.673000 RAD 1.0 C
-SPHERE CENTER 8.840000 20.896000 3.088000 RAD 1.0 O
-SPHERE CENTER 9.698000 21.896999 6.092000 RAD 1.0 CB
-SPHERE CENTER 9.226000 22.299999 7.493000 RAD 1.0 CG
-SPHERE CENTER 9.248000 23.850000 7.622000 RAD 1.0 CD
-SPHERE CENTER 8.810000 24.311001 8.962000 RAD 1.0 NE
-SPHERE CENTER 9.575000 24.336000 10.075000 RAD 1.0 CZ
-SPHERE CENTER 10.888000 24.077000 10.044000 RAD 1.0 NH1
-SPHERE CENTER 9.050000 24.893000 11.170000 RAD 1.0 NH2
-SPHERE CENTER 10.178000 22.695000 3.318000 RAD 1.0 N
-SPHERE CENTER 10.959000 22.444000 2.085000 RAD 1.0 CA
-SPHERE CENTER 12.407000 22.010000 2.386000 RAD 1.0 C
-SPHERE CENTER 12.987000 22.511999 3.378000 RAD 1.0 O
-SPHERE CENTER 10.997000 23.770000 1.282000 RAD 1.0 CB
-SPHERE CENTER 9.641000 24.038000 0.627000 RAD 1.0 CG
-SPHERE CENTER 8.639000 24.591999 1.399000 RAD 1.0 CD1
-SPHERE CENTER 9.451000 23.725000 -0.691000 RAD 1.0 CD2
-SPHERE CENTER 7.403000 24.861000 0.831000 RAD 1.0 CE1
-SPHERE CENTER 8.213000 23.993000 -1.249000 RAD 1.0 CE2
-SPHERE CENTER 7.215000 24.576000 -0.494000 RAD 1.0 CZ
-SPHERE CENTER 5.879000 24.768999 -1.060000 RAD 1.0 OH
-SPHERE CENTER 12.977000 21.141001 1.535000 RAD 1.0 N
-SPHERE CENTER 14.449000 20.892000 1.626000 RAD 1.0 CA
-SPHERE CENTER 15.018000 21.045000 0.237000 RAD 1.0 C
-SPHERE CENTER 14.250000 20.837000 -0.740000 RAD 1.0 O
-SPHERE CENTER 14.664000 19.434999 2.142000 RAD 1.0 CB
-SPHERE CENTER 14.283000 18.275999 1.191000 RAD 1.0 CG
-SPHERE CENTER 15.290000 17.639000 0.506000 RAD 1.0 CD1
-SPHERE CENTER 12.962000 17.907000 0.976000 RAD 1.0 CD2
-SPHERE CENTER 14.981000 16.632000 -0.392000 RAD 1.0 CE1
-SPHERE CENTER 12.638000 16.909000 0.061000 RAD 1.0 CE2
-SPHERE CENTER 13.673000 16.261999 -0.626000 RAD 1.0 CZ
-SPHERE CENTER 16.336000 21.281000 0.152000 RAD 1.0 N
-SPHERE CENTER 16.948000 21.292000 -1.153000 RAD 1.0 CA
-SPHERE CENTER 17.365000 19.888000 -1.542000 RAD 1.0 C
-SPHERE CENTER 18.009001 19.184000 -0.744000 RAD 1.0 O
-SPHERE CENTER 18.188000 22.194000 -1.071000 RAD 1.0 CB
-SPHERE CENTER 18.906000 22.263000 -2.442000 RAD 1.0 CG
-SPHERE CENTER 20.089001 21.621000 -2.663000 RAD 1.0 CD1
-SPHERE CENTER 18.361000 23.033001 -3.436000 RAD 1.0 CD2
-SPHERE CENTER 20.733000 21.778999 -3.896000 RAD 1.0 CE1
-SPHERE CENTER 18.990999 23.184999 -4.662000 RAD 1.0 CE2
-SPHERE CENTER 20.184999 22.562000 -4.864000 RAD 1.0 CZ
-SPHERE CENTER 20.826000 22.768000 -6.115000 RAD 1.0 OH
-SPHERE CENTER 16.913000 19.452999 -2.726000 RAD 1.0 N
-SPHERE CENTER 17.295000 18.160000 -3.291000 RAD 1.0 CA
-SPHERE CENTER 18.406000 18.332001 -4.341000 RAD 1.0 C
-SPHERE CENTER 18.166000 18.843000 -5.464000 RAD 1.0 O
-SPHERE CENTER 16.052000 17.558001 -3.946000 RAD 1.0 CB
-SPHERE CENTER 16.354000 16.226999 -4.626000 RAD 1.0 CG
-SPHERE CENTER 17.531000 15.754000 -4.725000 RAD 1.0 OD1
-SPHERE CENTER 15.234000 15.549000 -4.870000 RAD 1.0 ND2
-SPHERE CENTER 19.655001 18.124001 -3.871000 RAD 1.0 N
-SPHERE CENTER 20.851000 18.420000 -4.681000 RAD 1.0 CA
-SPHERE CENTER 20.920000 17.650000 -6.010000 RAD 1.0 C
-SPHERE CENTER 21.385000 18.257000 -6.997000 RAD 1.0 O
-SPHERE CENTER 22.112000 18.070999 -3.866000 RAD 1.0 CB
-SPHERE CENTER 20.333000 16.480000 -6.081000 RAD 1.0 N
-SPHERE CENTER 20.243999 15.784000 -7.383000 RAD 1.0 CA
-SPHERE CENTER 19.287001 16.482000 -8.327000 RAD 1.0 C
-SPHERE CENTER 19.478001 16.368999 -9.556000 RAD 1.0 O
-SPHERE CENTER 19.732000 14.353000 -7.259000 RAD 1.0 CB
-SPHERE CENTER 20.799999 13.485000 -6.626000 RAD 1.0 CG
-SPHERE CENTER 20.299000 12.037000 -6.533000 RAD 1.0 CD
-SPHERE CENTER 21.386999 11.067000 -6.033000 RAD 1.0 CE
-SPHERE CENTER 21.820999 11.437000 -4.681000 RAD 1.0 NZ
-SPHERE CENTER 18.212999 17.041000 -7.772000 RAD 1.0 N
-SPHERE CENTER 17.181999 17.617001 -8.631000 RAD 1.0 CA
-SPHERE CENTER 17.468000 19.070000 -8.921000 RAD 1.0 C
-SPHERE CENTER 16.909000 19.707001 -9.863000 RAD 1.0 O
-SPHERE CENTER 15.833000 17.423000 -7.901000 RAD 1.0 CB
-SPHERE CENTER 18.299000 19.622000 -8.061000 RAD 1.0 N
-SPHERE CENTER 18.625999 21.035999 -8.237000 RAD 1.0 CA
-SPHERE CENTER 17.587999 22.051001 -7.738000 RAD 1.0 C
-SPHERE CENTER 17.702000 23.257999 -8.056000 RAD 1.0 O
-SPHERE CENTER 16.632000 21.566000 -6.970000 RAD 1.0 N
-SPHERE CENTER 15.576000 22.431999 -6.478000 RAD 1.0 CA
-SPHERE CENTER 14.947000 21.879999 -5.199000 RAD 1.0 C
-SPHERE CENTER 15.304000 20.784000 -4.719000 RAD 1.0 O
-SPHERE CENTER 14.553000 22.764999 -7.568000 RAD 1.0 CB
-SPHERE CENTER 14.018000 21.514000 -8.283000 RAD 1.0 CG
-SPHERE CENTER 13.211000 20.593000 -7.394000 RAD 1.0 CD1
-SPHERE CENTER 13.189000 21.898001 -9.518000 RAD 1.0 CD2
-SPHERE CENTER 14.114000 22.691999 -4.605000 RAD 1.0 N
-SPHERE CENTER 13.591000 22.299999 -3.306000 RAD 1.0 CA
-SPHERE CENTER 12.246000 21.612000 -3.398000 RAD 1.0 C
-SPHERE CENTER 11.508000 21.862000 -4.381000 RAD 1.0 O
-SPHERE CENTER 13.406000 23.628000 -2.540000 RAD 1.0 CB
-SPHERE CENTER 14.977000 24.433001 -2.196000 RAD 1.0 SG
-SPHERE CENTER 12.005000 20.672001 -2.530000 RAD 1.0 N
-SPHERE CENTER 10.813000 19.820999 -2.569000 RAD 1.0 CA
-SPHERE CENTER 10.208000 19.822001 -1.167000 RAD 1.0 C
-SPHERE CENTER 10.918000 20.218000 -0.210000 RAD 1.0 O
-SPHERE CENTER 11.110000 18.377001 -3.007000 RAD 1.0 CB
-SPHERE CENTER 11.604000 18.464001 -4.496000 RAD 1.0 CG
-SPHERE CENTER 12.041000 17.093000 -4.992000 RAD 1.0 CD
-SPHERE CENTER 12.104000 16.884001 -6.223000 RAD 1.0 OE1
-SPHERE CENTER 12.461000 16.246000 -4.115000 RAD 1.0 NE2
-SPHERE CENTER 8.983000 19.459000 -1.072000 RAD 1.0 N
-SPHERE CENTER 8.377000 19.427999 0.280000 RAD 1.0 CA
-SPHERE CENTER 8.573000 18.100000 0.950000 RAD 1.0 C
-SPHERE CENTER 8.785000 17.013000 0.347000 RAD 1.0 O
-SPHERE CENTER 6.844000 19.700001 0.273000 RAD 1.0 CB
-SPHERE CENTER 6.304000 18.825001 -0.706000 RAD 1.0 OG1
-SPHERE CENTER 6.585000 21.149000 -0.177000 RAD 1.0 CG2
-SPHERE CENTER 8.526000 18.187000 2.280000 RAD 1.0 N
-SPHERE CENTER 8.582000 16.999001 3.087000 RAD 1.0 CA
-SPHERE CENTER 7.801000 17.273001 4.382000 RAD 1.0 C
-SPHERE CENTER 7.554000 18.469000 4.665000 RAD 1.0 O
-SPHERE CENTER 10.066000 16.503000 3.399000 RAD 1.0 CB
-SPHERE CENTER 10.840000 17.323999 4.462000 RAD 1.0 CG
-SPHERE CENTER 11.188000 16.711000 5.670000 RAD 1.0 CD1
-SPHERE CENTER 11.224000 18.618999 4.188000 RAD 1.0 CD2
-SPHERE CENTER 11.912000 17.452999 6.617000 RAD 1.0 CE1
-SPHERE CENTER 11.948000 19.333000 5.129000 RAD 1.0 CE2
-SPHERE CENTER 12.277000 18.763000 6.344000 RAD 1.0 CZ
-SPHERE CENTER 7.455000 16.219999 5.116000 RAD 1.0 N
-SPHERE CENTER 6.756000 16.414000 6.390000 RAD 1.0 CA
-SPHERE CENTER 7.798000 16.358999 7.491000 RAD 1.0 C
-SPHERE CENTER 8.422000 15.296000 7.692000 RAD 1.0 O
-SPHERE CENTER 5.716000 15.281000 6.557000 RAD 1.0 CB
-SPHERE CENTER 4.973000 15.432000 7.882000 RAD 1.0 CG1
-SPHERE CENTER 4.667000 15.326000 5.371000 RAD 1.0 CG2
-SPHERE CENTER 7.953000 17.509001 8.095000 RAD 1.0 N
-SPHERE CENTER 8.816000 17.659000 9.286000 RAD 1.0 CA
-SPHERE CENTER 7.941000 17.294001 10.498000 RAD 1.0 C
-SPHERE CENTER 6.818000 17.832001 10.661000 RAD 1.0 O
-SPHERE CENTER 9.260000 19.136000 9.274000 RAD 1.0 CB
-SPHERE CENTER 10.066000 19.506001 10.540000 RAD 1.0 CG
-SPHERE CENTER 11.058000 18.667999 11.032000 RAD 1.0 CD1
-SPHERE CENTER 9.728000 20.677999 11.181000 RAD 1.0 CD2
-SPHERE CENTER 11.713000 19.021999 12.217000 RAD 1.0 CE1
-SPHERE CENTER 10.401000 21.042000 12.346000 RAD 1.0 CE2
-SPHERE CENTER 11.371000 20.211000 12.851000 RAD 1.0 CZ
-SPHERE CENTER 12.040000 20.579000 14.049000 RAD 1.0 OH
-SPHERE CENTER 8.505000 16.504999 11.400000 RAD 1.0 N
-SPHERE CENTER 7.774000 16.076000 12.622000 RAD 1.0 CA
-SPHERE CENTER 7.696000 17.099001 13.728000 RAD 1.0 C
-SPHERE CENTER 6.978000 16.834999 14.718000 RAD 1.0 O
-SPHERE CENTER 8.385000 18.202000 13.646000 RAD 1.0 N
-SPHERE CENTER 8.275000 19.365999 14.533000 RAD 1.0 CA
-SPHERE CENTER 9.338000 19.430000 15.620000 RAD 1.0 C
-SPHERE CENTER 9.309000 20.379999 16.415001 RAD 1.0 O
-SPHERE CENTER 10.317000 18.555000 15.610000 RAD 1.0 N
-SPHERE CENTER 11.453000 18.707001 16.541000 RAD 1.0 CA
-SPHERE CENTER 12.763000 18.232000 15.950000 RAD 1.0 C
-SPHERE CENTER 12.753000 17.224001 15.201000 RAD 1.0 O
-SPHERE CENTER 11.179000 18.055000 17.937000 RAD 1.0 CB
-SPHERE CENTER 11.154000 16.283001 17.922001 RAD 1.0 SG
-SPHERE CENTER 13.828000 18.788000 16.528999 RAD 1.0 N
-SPHERE CENTER 15.222000 18.386999 16.261999 RAD 1.0 CA
-SPHERE CENTER 15.644000 18.605000 14.798000 RAD 1.0 C
-SPHERE CENTER 16.306000 17.708000 14.224000 RAD 1.0 O
-SPHERE CENTER 15.486000 16.941000 16.719000 RAD 1.0 CB
-SPHERE CENTER 14.949000 16.624001 18.146999 RAD 1.0 CG
-SPHERE CENTER 15.484000 17.593000 19.195000 RAD 1.0 CD
-SPHERE CENTER 15.081000 17.068001 20.497000 RAD 1.0 NE
-SPHERE CENTER 15.268000 17.830999 21.573999 RAD 1.0 CZ
-SPHERE CENTER 15.870000 19.020000 21.452999 RAD 1.0 NH1
-SPHERE CENTER 14.930000 17.320999 22.753000 RAD 1.0 NH2
-SPHERE CENTER 15.154000 19.670000 14.180000 RAD 1.0 N
-SPHERE CENTER 15.461000 19.893999 12.733000 RAD 1.0 CA
-SPHERE CENTER 16.969000 19.924000 12.482000 RAD 1.0 C
-SPHERE CENTER 17.752001 20.431000 13.327000 RAD 1.0 O
-SPHERE CENTER 14.918000 21.275000 12.366000 RAD 1.0 CB
-SPHERE CENTER 17.282000 19.622000 11.271000 RAD 1.0 N
-SPHERE CENTER 18.584999 19.886999 10.687000 RAD 1.0 CA
-SPHERE CENTER 18.461000 21.087000 9.753000 RAD 1.0 C
-SPHERE CENTER 17.371000 21.708000 9.790000 RAD 1.0 O
-SPHERE CENTER 18.961000 18.612000 9.934000 RAD 1.0 CB
-SPHERE CENTER 19.486000 17.514999 10.843000 RAD 1.0 CG
-SPHERE CENTER 20.042999 16.424999 9.926000 RAD 1.0 CD
-SPHERE CENTER 20.782000 15.386000 10.779000 RAD 1.0 CE
-SPHERE CENTER 20.985001 14.137000 10.021000 RAD 1.0 NZ
-SPHERE CENTER 19.577000 21.643999 9.215000 RAD 1.0 N
-SPHERE CENTER 19.570999 22.903000 8.543000 RAD 1.0 CA
-SPHERE CENTER 18.898001 22.847000 7.144000 RAD 1.0 C
-SPHERE CENTER 18.476000 23.930000 6.690000 RAD 1.0 O
-SPHERE CENTER 20.981001 23.469999 8.429000 RAD 1.0 CB
-SPHERE CENTER 21.461000 24.047001 9.786000 RAD 1.0 CG
-SPHERE CENTER 22.614000 25.047001 9.608000 RAD 1.0 CD
-SPHERE CENTER 22.118999 26.403999 9.384000 RAD 1.0 NE
-SPHERE CENTER 22.948000 27.426001 9.370000 RAD 1.0 CZ
-SPHERE CENTER 24.253000 27.187000 9.415000 RAD 1.0 NH1
-SPHERE CENTER 22.472000 28.634001 9.297000 RAD 1.0 NH2
-SPHERE CENTER 18.870001 21.715000 6.474000 RAD 1.0 N
-SPHERE CENTER 18.209999 21.712999 5.169000 RAD 1.0 CA
-SPHERE CENTER 16.671000 21.559000 5.372000 RAD 1.0 C
-SPHERE CENTER 16.068001 20.466000 5.197000 RAD 1.0 O
-SPHERE CENTER 18.745001 20.506001 4.379000 RAD 1.0 CB
-SPHERE CENTER 18.295000 20.591999 2.909000 RAD 1.0 CG
-SPHERE CENTER 17.721001 21.629000 2.499000 RAD 1.0 OD1
-SPHERE CENTER 18.664000 19.563999 2.134000 RAD 1.0 ND2
-SPHERE CENTER 16.097000 22.643000 5.820000 RAD 1.0 N
-SPHERE CENTER 14.676000 22.662001 6.349000 RAD 1.0 CA
-SPHERE CENTER 14.157000 24.101999 6.384000 RAD 1.0 C
-SPHERE CENTER 14.715000 24.959000 7.120000 RAD 1.0 O
-SPHERE CENTER 14.577000 21.951000 7.736000 RAD 1.0 CB
-SPHERE CENTER 13.128000 21.861000 8.301000 RAD 1.0 CG
-SPHERE CENTER 12.432000 22.889000 8.208000 RAD 1.0 OD1
-SPHERE CENTER 12.975000 21.035000 9.288000 RAD 1.0 ND2
-SPHERE CENTER 13.324000 24.438000 5.381000 RAD 1.0 N
-SPHERE CENTER 12.918000 25.816999 5.120000 RAD 1.0 CA
-SPHERE CENTER 11.388000 25.961000 5.164000 RAD 1.0 C
-SPHERE CENTER 10.669000 24.966000 4.915000 RAD 1.0 O
-SPHERE CENTER 13.372000 26.372999 3.741000 RAD 1.0 CB
-SPHERE CENTER 14.913000 26.191999 3.701000 RAD 1.0 CG
-SPHERE CENTER 15.492000 25.002001 3.268000 RAD 1.0 CD1
-SPHERE CENTER 15.705000 27.252001 4.053000 RAD 1.0 CD2
-SPHERE CENTER 16.877001 24.881001 3.132000 RAD 1.0 CE1
-SPHERE CENTER 17.108999 27.125999 3.941000 RAD 1.0 CE2
-SPHERE CENTER 17.659000 25.957001 3.487000 RAD 1.0 CZ
-SPHERE CENTER 10.949000 27.146999 5.460000 RAD 1.0 N
-SPHERE CENTER 9.480000 27.343000 5.498000 RAD 1.0 CA
-SPHERE CENTER 8.875000 27.670000 4.157000 RAD 1.0 C
-SPHERE CENTER 7.634000 27.622999 4.057000 RAD 1.0 O
-SPHERE CENTER 9.045000 28.475000 6.433000 RAD 1.0 CB
-SPHERE CENTER 9.258000 27.945999 7.875000 RAD 1.0 CG
-SPHERE CENTER 9.119000 29.052000 8.948000 RAD 1.0 CD
-SPHERE CENTER 10.025000 28.736000 10.167000 RAD 1.0 CE
-SPHERE CENTER 9.826000 29.728001 11.231000 RAD 1.0 NZ
-SPHERE CENTER 9.687000 27.909000 3.152000 RAD 1.0 N
-SPHERE CENTER 9.124000 28.167999 1.840000 RAD 1.0 CA
-SPHERE CENTER 10.108000 27.719000 0.765000 RAD 1.0 C
-SPHERE CENTER 11.332000 27.660000 1.047000 RAD 1.0 O
-SPHERE CENTER 8.778000 29.648001 1.642000 RAD 1.0 CB
-SPHERE CENTER 10.000000 30.391001 1.484000 RAD 1.0 OG
-SPHERE CENTER 9.604000 27.471001 -0.422000 RAD 1.0 N
-SPHERE CENTER 10.526000 27.160999 -1.512000 RAD 1.0 CA
-SPHERE CENTER 11.423000 28.346001 -1.863000 RAD 1.0 C
-SPHERE CENTER 12.634000 28.115000 -2.136000 RAD 1.0 O
-SPHERE CENTER 9.782000 26.679001 -2.783000 RAD 1.0 CB
-SPHERE CENTER 10.966000 29.570000 -1.682000 RAD 1.0 N
-SPHERE CENTER 11.751000 30.764000 -1.998000 RAD 1.0 CA
-SPHERE CENTER 12.900000 30.964001 -1.040000 RAD 1.0 C
-SPHERE CENTER 14.032000 31.282000 -1.463000 RAD 1.0 O
-SPHERE CENTER 10.871000 32.021999 -2.024000 RAD 1.0 CB
-SPHERE CENTER 9.868000 32.069000 -3.200000 RAD 1.0 CG
-SPHERE CENTER 8.525000 31.417000 -2.847000 RAD 1.0 CD
-SPHERE CENTER 7.573000 31.562000 -3.638000 RAD 1.0 OE1
-SPHERE CENTER 8.368000 30.636999 -1.865000 RAD 1.0 OE2
-SPHERE CENTER 12.658000 30.686001 0.225000 RAD 1.0 N
-SPHERE CENTER 13.804000 30.775000 1.163000 RAD 1.0 CA
-SPHERE CENTER 14.824000 29.667000 0.941000 RAD 1.0 C
-SPHERE CENTER 16.058001 29.903999 1.049000 RAD 1.0 O
-SPHERE CENTER 13.347000 30.500000 2.601000 RAD 1.0 CB
-SPHERE CENTER 12.813000 31.775999 3.236000 RAD 1.0 CG
-SPHERE CENTER 12.716000 32.875000 2.613000 RAD 1.0 OD1
-SPHERE CENTER 12.096000 31.598000 4.247000 RAD 1.0 OD2
-SPHERE CENTER 14.305000 28.478001 0.644000 RAD 1.0 N
-SPHERE CENTER 15.128000 27.301001 0.379000 RAD 1.0 CA
-SPHERE CENTER 16.006001 27.523001 -0.852000 RAD 1.0 C
-SPHERE CENTER 17.247999 27.267000 -0.809000 RAD 1.0 O
-SPHERE CENTER 14.238000 26.045000 0.259000 RAD 1.0 CB
-SPHERE CENTER 15.047000 24.530001 -0.176000 RAD 1.0 SG
-SPHERE CENTER 15.384000 28.062000 -1.870000 RAD 1.0 N
-SPHERE CENTER 16.191999 28.302000 -3.048000 RAD 1.0 CA
-SPHERE CENTER 17.171000 29.452999 -2.841000 RAD 1.0 C
-SPHERE CENTER 18.246000 29.474001 -3.490000 RAD 1.0 O
-SPHERE CENTER 15.267000 28.570999 -4.266000 RAD 1.0 CB
-SPHERE CENTER 14.634000 27.261000 -4.708000 RAD 1.0 CG
-SPHERE CENTER 15.759000 25.962000 -5.253000 RAD 1.0 SD
-SPHERE CENTER 16.306999 26.625000 -6.805000 RAD 1.0 CE
-SPHERE CENTER 16.775999 30.469999 -2.099000 RAD 1.0 N
-SPHERE CENTER 17.652000 31.617001 -1.869000 RAD 1.0 CA
-SPHERE CENTER 18.910000 31.125999 -1.141000 RAD 1.0 C
-SPHERE CENTER 20.049999 31.469999 -1.556000 RAD 1.0 O
-SPHERE CENTER 16.934000 32.595001 -0.930000 RAD 1.0 CB
-SPHERE CENTER 17.721001 33.839001 -0.540000 RAD 1.0 CG
-SPHERE CENTER 16.740999 35.039001 -0.291000 RAD 1.0 CD
-SPHERE CENTER 15.472000 34.667999 0.404000 RAD 1.0 NE
-SPHERE CENTER 14.256000 34.889999 -0.074000 RAD 1.0 CZ
-SPHERE CENTER 13.983000 35.465000 -1.233000 RAD 1.0 NH1
-SPHERE CENTER 13.260000 34.542999 0.660000 RAD 1.0 NH2
-SPHERE CENTER 18.726999 30.198999 -0.237000 RAD 1.0 N
-SPHERE CENTER 19.889999 29.693001 0.496000 RAD 1.0 CA
-SPHERE CENTER 20.636999 28.649000 -0.297000 RAD 1.0 C
-SPHERE CENTER 21.871000 28.686001 -0.287000 RAD 1.0 O
-SPHERE CENTER 19.416000 29.106001 1.823000 RAD 1.0 CB
-SPHERE CENTER 18.643999 30.132000 2.537000 RAD 1.0 OG1
-SPHERE CENTER 20.615999 28.506001 2.662000 RAD 1.0 CG2
-SPHERE CENTER 19.988001 27.747000 -0.961000 RAD 1.0 N
-SPHERE CENTER 20.669001 26.563999 -1.471000 RAD 1.0 CA
-SPHERE CENTER 20.773001 26.534000 -2.963000 RAD 1.0 C
-SPHERE CENTER 21.341000 25.552999 -3.498000 RAD 1.0 O
-SPHERE CENTER 19.955999 25.260000 -1.056000 RAD 1.0 CB
-SPHERE CENTER 20.128000 24.914000 0.713000 RAD 1.0 SG
-SPHERE CENTER 20.132000 27.441999 -3.608000 RAD 1.0 N
-SPHERE CENTER 19.987000 27.268000 -5.071000 RAD 1.0 CA
-SPHERE CENTER 21.257000 27.575001 -5.849000 RAD 1.0 C
-SPHERE CENTER 21.386000 27.129000 -7.018000 RAD 1.0 O
-SPHERE CENTER 22.225000 28.049999 -5.113000 RAD 1.0 N
-SPHERE CENTER 23.639000 28.131001 -5.505000 RAD 1.0 CA
-SPHERE CENTER 23.886999 29.393000 -6.316000 RAD 1.0 C
-SPHERE CENTER 22.948999 30.065001 -6.822000 RAD 1.0 O
-SPHERE CENTER 25.146000 29.681000 -6.493000 RAD 1.0 N
-SPHERE CENTER 25.617001 30.840000 -7.256000 RAD 1.0 CA
-SPHERE CENTER 25.247999 30.735001 -8.729000 RAD 1.0 C
-SPHERE CENTER 24.962000 31.791000 -9.369000 RAD 1.0 O
-SPHERE CENTER 27.160000 30.980000 -7.146000 RAD 1.0 CB
-SPHERE CENTER 24.919001 29.594000 -9.172000 RAD 1.0 OXT
-
-PLANE
- CENTER 0.0 -25.0 0.0
- NORMAL 0.0 1.0 0.0
- TEXTURE
- AMBIENT 0.1 DIFFUSE 0.9 SPECULAR 0.0 OPACITY 1.0
- COLOR 1.0 1.0 1.0
- TEXFUNC 0
-
-END_SCENE
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Parallel raytracer / renderer that demonstrates the use of parallel_for.
-
-<P><I>
-This example includes software developed by John E. Stone. See
-<A HREF=#copyright>here</A> for copyright information.
-</I></P>
-
-<P>
-This example is a 2-D raytracer/renderer that visually shows different parallel scheduling
-methods and their resulting speedup. The code was parallelized by speculating
-that each pixel could be rendered in parallel. The resulting parallel code was
-then checked for correctness by using Intel® Thread Checker, which
-pointed out where synchronization was needed. Minimal synchronization was then
-inserted into the parallel code. The resulting parallel code exhibits good speedup.
-</P>
-
-<P>
-The following versions of the example are provided:
-<DL>
-<DT>serial
-<DD>Original sequential version.
-<DT>tbb1d
-<DD>Parallel version that uses Threading Building Blocks and blocked_range to parallelize
- over tasks that are groups of scan-lines.
- <UL>
- <LI>By default, this version uses one thread per available processor. To change this
- default, set the TBB_NUM_THREADS environment variable to the desired number of threads before running.
- <LI>This version uses the preview feature: auto_range_partitioner. No grain size is provided to blocked_range.
- The blocked_range class uses a default grain size of 1 when none is provided. However, the auto_range_partitioner
- controls the amount of range splitting dynamically at runtime, resulting in sub-ranges of varying sizes.
- </UL>
-<DT>tbb
-<DD>Parallel version that uses Threading Building Blocks and blocked_range2d to parallelize
- over tasks that are rectangular sub-areas.
- <UL>
- <LI>By default, this version uses one thread per available processor. To change this
- default, set the TBB_NUM_THREADS environment variable to the desired number of threads before running.
- <LI>This version uses a reasonable task grain size by default. To change this default,
- set the TBB_GRAINSIZE environment variable to the desired grain size before running.
- The grain size corresponds to the number of pixels (in the X or Y direction, for a
- rectangular sub-area) in each parallel task.
- </UL>
-</DL>
-</P>
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="src/video.cpp">src/video.cpp</A>
-<DD>Source code for main program and GUI interfaces.
-<DT><A HREF="src/trace.serial.cpp">src/trace.serial.cpp</A>
-<DD>Source code for original sequential version of example.
-<DT><A HREF="src/trace.tbb1d.cpp">src/trace.tbb1d.cpp</A>
-<DD>Source code for Threading Building Blocks blocked_range (scan-line) version of example.
-<DT><A HREF="src/trace.tbb.cpp">src/trace.tbb.cpp</A>
-<DD>Source code for Threading Building Blocks blocked_range2d (rectangular sub-area) version of example.
-<DT>(src/*.cpp)
-<DD>Remainder of source code for example.
-<DT>(src/*.h)
-<DD>Remainder of include files for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="src">src</A>
-<DD>Contains source code and include files for the example.
-<DT><A HREF="dat">dat</A>
-<DD>Contains data sets for running the example.
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<P>
-For Windows* systems, Microsoft* Visual Studio* projects are provided for each of the above versions.
-</P>
-
-<P>
-The Makefile supports the following build targets (in addition to the <A HREF=../../index.html#build>general</A> ones).
-Here, <<I>version</I>> is one of the above versions of the example, i.e., {serial, tbb1d, tbb}.
-</P>
-<DL>
-<DT><TT>make <<I>version</I>>[_debug]</TT>
-<DD>Build and run a single version (release or debug).
- Equivalent to 'make build_<<I>version</I>>[_debug] run_<<I>version</I>>'.
-<DT><TT>make build_<<I>version</I>>[_debug]</TT>
-<DD>Compile and link a single version (release or debug).
- The resulting executable is left in the directory for the example.
-<DT><TT>make run_<<I>version</I>></TT>
-<DD>Run a single version previously produced by one of the above commands.
-<DT><TT>make [(above options or targets)] DATASET={820spheres, balls, balls3, lattice, model2,
- teapot, trypsin4pti}</TT>
-<DD>Build and run as above, but run with the specified data set.
-<DT><TT>make [(above options or targets)] ARGS=-D</TT>
-<DD>Build and run as above, but run with disabled run-time display updating for use in making performance measurements
- <I>(strongly recommended when measuring performance or scalability; see note below)</I>.
-<DT><TT>make [(above options or targets)] UI={con, gdi, dd, x, mac}</TT>
-<DD>Build and run as usual, but build with the specified GUI driver: console, GDI+*, Direct Draw*, X11, or OpenGL*
- (see the description of the <A HREF=../../common/index.html>common GUI code</A>
- for more information on available graphics support).
- For Linux* and Mac OS* X systems, the best available driver is detected automatically by the Makefile.
- For Windows* systems, UI=gdi is the default GUI driver; compiling with UI=dd may offer superior
- performance, but can only be used if the Microsoft* Direct Draw* SDK is installed on your system
- and if overlay is supported by your graphics card.
- Use UI=con to build without the GUI for use in making performance measurements
- <I>(strongly recommended when measuring performance or scalability; see note below)</I>.
-<DT><TT>make [(above options or targets)] XARCH=x64</TT>
-<DD>Build and run as above, but
- also specify XARCH=x64 (or XARCH=AMD64 for older compilers) when building the example on Windows* as a 64-bit binary.
-<DT><TT>make [(above options or targets)] DDLIB_DIR=<<I>specify path to library directory of Direct Draw* SDK here</I>></TT>
-<DD>If you experience ddraw.lib linking problems, specify the correct library directory via this option.
-</DL>
-
-<H2>Usage</H2>
-Building via the above make commands, or via Visual Studio projects on Windows* systems, produces executable files
-named tachyon.<<I>version</I>>.exe. To run these executables directly, use one or more of the following commands.
-<DL>
-<DT><TT>tachyon.<<I>version</I>>.exe <<I>dataset</I>></TT>
-<DD>Run this version (release or debug), where <<I>dataset</I>> is the path/name of
- one of the *.dat files in the <A HREF="dat">dat</A> directory for the example.
-<DT><TT>tachyon.<<I>version</I>>.exe -D <<I>dataset</I>></TT>
-<DD>Run this version (release or debug), but run with disabled run-time display updating
- for use in making performance measurements
- <I>(strongly recommended when measuring performance or scalability; see note below)</I>.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the <TT>tbb</TT> example with the GUI turned off
- (e.g., <TT>make UI=con tbb_debug</TT>; see also the build directions above).
- <BR>Run it with a small dataset, e.g., <TT>tachyon.tbb.exe -D dat/820spheres.dat</TT>.
-</DL>
-
-<H2>Notes</H2>
-<UL>
-<LI>While running with the GUI display turned on should yield reasonable performance in most cases, <I>running with the GUI
- display turned off is strongly recommended</I> in order to demonstrate the full performance and scalability of the example.
-<LI>If using the X-windows (X11) GUI on Mac OS* X systems, X11 might not be installed on the system by default.
- To install X11 on Mac OS* X systems, use the operating system install disk, choose "Optional installs" and select X11 from
- the "Applications" list. Alternatively, if X11 is not available, build without the GUI (see build targets above).
-</UL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-
-<I>
-<P>
-The original source for this example is
-Copyright (c) 1994-2008 John E. Stone
-All rights reserved.
-</P>
-
-<P>
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-<OL>
-<LI>Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-<LI>Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-<LI>The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-</OL>
-</P>
-
-<P>
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-</P>
-</I>
-
-</BODY>
-</HTML>
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * api.c - This file contains all of the API calls that are defined for
- * external driver code to use.
- *
- * $Id: api.cpp,v 1.5 2007-02-22 17:54:14 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-
-#include "box.h"
-#include "cylinder.h"
-#include "plane.h"
-#include "quadric.h"
-#include "ring.h"
-#include "sphere.h"
-#include "triangle.h"
-#include "vol.h"
-#include "extvol.h"
-
-#include "texture.h"
-#include "light.h"
-#include "render.h"
-#include "camera.h"
-#include "vector.h"
-#include "intersect.h"
-#include "shade.h"
-#include "util.h"
-#include "imap.h"
-#include "global.h"
-
-#include "video.h"
-
-typedef void * SceneHandle;
-#include "api.h"
-
-
-vector rt_vector(apiflt x, apiflt y, apiflt z) {
- vector v;
-
- v.x = x;
- v.y = y;
- v.z = z;
-
- return v;
-}
-
-color rt_color(apiflt r, apiflt g, apiflt b) {
- color c;
-
- c.r = r;
- c.g = g;
- c.b = b;
-
- return c;
-}
-
-void rt_initialize(int * argc, char ***argv) {
- rpcmsg msg;
-
- reset_object();
- reset_lights();
- InitTextures();
-
- if (!parinitted) {
- parinitted=1;
-
- msg.type=1; /* setup a ping message */
- }
-}
-
-void rt_renderscene(SceneHandle voidscene) {
- scenedef * scene = (scenedef *) voidscene;
- renderscene(*scene);
-}
-
-void rt_camerasetup(SceneHandle voidscene, apiflt zoom, apiflt aspectratio,
- int antialiasing, int raydepth,
- vector camcent, vector viewvec, vector upvec) {
- scenedef * scene = (scenedef *) voidscene;
-
- vector newupvec;
- vector newviewvec;
- vector newrightvec;
-
- VCross((vector *) &upvec, &viewvec, &newrightvec);
- VNorm(&newrightvec);
-
- VCross((vector *) &viewvec, &newrightvec, &newupvec);
- VNorm(&newupvec);
-
- newviewvec=viewvec;
- VNorm(&newviewvec);
-
-
- scene->camzoom=zoom;
- scene->aspectratio=aspectratio;
- scene->antialiasing=antialiasing;
- scene->raydepth=raydepth;
- scene->camcent=camcent;
- scene->camviewvec=newviewvec;
- scene->camrightvec=newrightvec;
- scene->camupvec=newupvec;
-}
-
-void rt_outputfile(SceneHandle voidscene, const char * outname) {
- scenedef * scene = (scenedef *) voidscene;
- strcpy((char *) &scene->outfilename, outname);
-}
-
-void rt_resolution(SceneHandle voidscene, int hres, int vres) {
- scenedef * scene = (scenedef *) voidscene;
- scene->hres=hres;
- scene->vres=vres;
-}
-
-void rt_verbose(SceneHandle voidscene, int v) {
- scenedef * scene = (scenedef *) voidscene;
- scene->verbosemode = v;
-}
-
-void rt_rawimage(SceneHandle voidscene, unsigned char *rawimage) {
- scenedef * scene = (scenedef *) voidscene;
- scene->rawimage = rawimage;
-}
-
-void rt_background(SceneHandle voidscene, color col) {
- scenedef * scene = (scenedef *) voidscene;
- scene->background.r = col.r;
- scene->background.g = col.g;
- scene->background.b = col.b;
-}
-
-void rt_boundmode(SceneHandle voidscene, int mode) {
- scenedef * scene = (scenedef *) voidscene;
- scene->boundmode = mode;
-}
-
-void rt_boundthresh(SceneHandle voidscene, int threshold) {
- scenedef * scene = (scenedef *) voidscene;
-
- if (threshold > 1) {
- scene->boundthresh = threshold;
- }
- else {
- rtmesg("Ignoring out-of-range automatic bounding threshold.\n");
- rtmesg("Automatic bounding threshold reset to default.\n");
- scene->boundthresh = MAXOCTNODES;
- }
-}
-
-void rt_displaymode(SceneHandle voidscene, int mode) {
- scenedef * scene = (scenedef *) voidscene;
- scene->displaymode = mode;
-}
-
-
-void rt_scenesetup(SceneHandle voidscene, char * outname, int hres, int vres, int verbose) {
- rt_outputfile(voidscene, outname);
- rt_resolution(voidscene, hres, vres);
- rt_verbose(voidscene, verbose);
-}
-
-SceneHandle rt_newscene(void) {
- scenedef * scene;
- SceneHandle voidscene;
-
- scene = (scenedef *) malloc(sizeof(scenedef));
- memset(scene, 0, sizeof(scenedef)); /* clear all valuas to 0 */
-
- voidscene = (SceneHandle) scene;
-
- rt_outputfile(voidscene, "/dev/null"); /* default output file (.tga) */
- rt_resolution(voidscene, 512, 512); /* 512x512 resolution */
- rt_verbose(voidscene, 0); /* verbose messages off */
- rt_rawimage(voidscene, NULL); /* raw image output off */
- rt_boundmode(voidscene, RT_BOUNDING_ENABLED); /* spatial subdivision on */
- rt_boundthresh(voidscene, MAXOCTNODES); /* default threshold */
- rt_displaymode(voidscene, RT_DISPLAY_ENABLED); /* video output on */
- rt_camerasetup(voidscene, 1.0, 1.0, 0, 6,
- rt_vector(0.0, 0.0, 0.0),
- rt_vector(0.0, 0.0, 1.0),
- rt_vector(0.0, 1.0, 0.0));
-
- return scene;
-}
-
-void rt_deletescene(SceneHandle scene) {
- if (scene != NULL)
- free(scene);
-}
-
-void apitextotex(apitexture * apitex, texture * tex) {
- switch(apitex->texturefunc) {
- case 0:
- tex->texfunc=(color(*)(void *, void *, void *))(standard_texture);
- break;
-
- case 1:
- tex->texfunc=(color(*)(void *, void *, void *))(checker_texture);
- break;
-
- case 2:
- tex->texfunc=(color(*)(void *, void *, void *))(grit_texture);
- break;
-
- case 3:
- tex->texfunc=(color(*)(void *, void *, void *))(marble_texture);
- break;
-
- case 4:
- tex->texfunc=(color(*)(void *, void *, void *))(wood_texture);
- break;
-
- case 5:
- tex->texfunc=(color(*)(void *, void *, void *))(gnoise_texture);
- break;
-
- case 6:
- tex->texfunc=(color(*)(void *, void *, void *))(cyl_checker_texture);
- break;
-
- case 7:
- tex->texfunc=(color(*)(void *, void *, void *))(image_sphere_texture);
- tex->img=AllocateImage((char *)apitex->imap);
- break;
-
- case 8:
- tex->texfunc=(color(*)(void *, void *, void *))(image_cyl_texture);
- tex->img=AllocateImage((char *)apitex->imap);
- break;
-
- case 9:
- tex->texfunc=(color(*)(void *, void *, void *))(image_plane_texture);
- tex->img=AllocateImage((char *)apitex->imap);
- break;
-
- default:
- tex->texfunc=(color(*)(void *, void *, void *))(standard_texture);
- break;
- }
-
- tex->ctr = apitex->ctr;
- tex->rot = apitex->rot;
- tex->scale = apitex->scale;
- tex->uaxs = apitex->uaxs;
- tex->vaxs = apitex->vaxs;
- tex->ambient = apitex->ambient;
- tex->diffuse = apitex->diffuse;
- tex->specular = apitex->specular;
- tex->opacity = apitex->opacity;
- tex->col = apitex->col;
-
- tex->islight = 0;
- tex->shadowcast = 1;
- tex->phong = 0.0;
- tex->phongexp = 0.0;
- tex->phongtype = 0;
-}
-
-void * rt_texture(apitexture * apitex) {
- texture * tex;
-
- tex=(texture *)rt_getmem(sizeof(texture));
- apitextotex(apitex, tex);
- return(tex);
-}
-
-void rt_tex_color(void * voidtex, color col) {
- texture * tex = (texture *) voidtex;
- tex->col = col;
-}
-
-void rt_tex_phong(void * voidtex, apiflt phong, apiflt phongexp, int type) {
- texture * tex = (texture *) voidtex;
- tex->phong = phong;
- tex->phongexp = phongexp;
- tex->phongtype = type;
-}
-
-void rt_light(void * tex, vector ctr, apiflt rad) {
- point_light * li;
-
- li=newlight(tex, (vector) ctr, rad);
-
- li->tex->islight=1;
- li->tex->shadowcast=1;
- li->tex->diffuse=0.0;
- li->tex->specular=0.0;
- li->tex->opacity=1.0;
-
- add_light(li);
- add_object((object *)li);
-}
-
-void rt_scalarvol(void * tex, vector min, vector max,
- int xs, int ys, int zs, char * fname, void * invol) {
- add_object((object *) newscalarvol(tex, (vector)min, (vector)max, xs, ys, zs, fname, (scalarvol *) invol));
-}
-
-void rt_extvol(void * tex, vector min, vector max, int samples, flt (* evaluator)(flt, flt, flt)) {
- add_object((object *) newextvol(tex, (vector)min, (vector)max, samples, evaluator));
-}
-
-void rt_box(void * tex, vector min, vector max) {
- add_object((object *) newbox(tex, (vector)min, (vector)max));
-}
-
-void rt_cylinder(void * tex, vector ctr, vector axis, apiflt rad) {
- add_object(newcylinder(tex, (vector)ctr, (vector)axis, rad));
-}
-
-void rt_fcylinder(void * tex, vector ctr, vector axis, apiflt rad) {
- add_object(newfcylinder(tex, (vector)ctr, (vector)axis, rad));
-}
-
-void rt_plane(void * tex, vector ctr, vector norm) {
- add_object(newplane(tex, (vector)ctr, (vector)norm));
-}
-
-void rt_ring(void * tex, vector ctr, vector norm, apiflt a, apiflt b) {
- add_object(newring(tex, (vector)ctr, (vector)norm, a, b));
-}
-
-void rt_sphere(void * tex, vector ctr, apiflt rad) {
- add_object(newsphere(tex, (vector)ctr, rad));
-}
-
-void rt_tri(void * tex, vector v0, vector v1, vector v2) {
- object * trn;
-
- trn = newtri(tex, (vector)v0, (vector)v1, (vector)v2);
-
- if (trn != NULL) {
- add_object(trn);
- }
-}
-
-void rt_stri(void * tex, vector v0, vector v1, vector v2,
- vector n0, vector n1, vector n2) {
- object * trn;
-
- trn = newstri(tex, (vector)v0, (vector)v1, (vector)v2, (vector)n0, (vector)n1, (vector)n2);
-
- if (trn != NULL) {
- add_object(trn);
- }
-}
-
-void rt_quadsphere(void * tex, vector ctr, apiflt rad) {
- quadric * q;
- flt factor;
- q=(quadric *) newquadric();
- factor= 1.0 / (rad*rad);
- q->tex=(texture *)tex;
- q->ctr=ctr;
-
- q->mat.a=factor;
- q->mat.b=0.0;
- q->mat.c=0.0;
- q->mat.d=0.0;
- q->mat.e=factor;
- q->mat.f=0.0;
- q->mat.g=0.0;
- q->mat.h=factor;
- q->mat.i=0.0;
- q->mat.j=-1.0;
-
- add_object((object *)q);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*****************************************************************************
- * api.h - The declarations and prototypes needed so that 3rd party driver *
- * code can run the raytracer. Third party driver code should *
- * only use the functions in this header file to interface with *
- * the rendering engine. *
- *************************************************************************** */
-
-
-/*
- * $Id: api.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-
-/********************************************/
-/* Types defined for use with the API calls */
-/********************************************/
-
-#ifdef USESINGLEFLT
-typedef float apiflt; /* generic floating point number */
-#else
-typedef double apiflt; /* generic floating point number */
-#endif
-
-typedef void * SceneHandle;
-
-typedef struct {
- int texturefunc; /* which texture function to use */
- color col; /* base object color */
- int shadowcast; /* does the object cast a shadow */
- apiflt ambient; /* ambient lighting */
- apiflt diffuse; /* diffuse reflection */
- apiflt specular; /* specular reflection */
- apiflt opacity; /* how opaque the object is */
- vector ctr; /* origin of texture */
- vector rot; /* rotation of texture around origin */
- vector scale; /* scale of texture in x,y,z */
- vector uaxs; /* planar map u axis */
- vector vaxs; /* planar map v axis */
- char imap[96]; /* name of image map */
-} apitexture;
-
-
-/*******************************************************************
- * NOTE: The value passed in apitexture.texturefunc corresponds to
- * the meanings given in this table:
- *
- * 0 - No texture function is applied other than standard lighting.
- * 1 - 3D checkerboard texture. Red & Blue checkers through 3d space.
- * 2 - Grit texture, roughens up the surface of the object a bit.
- * 3 - 3D marble texture. Makes a 3D swirl pattern through the object.
- * 4 - 3D wood texture. Makes a 3D wood pattern through the object.
- * 5 - 3D gradient noise function.
- * 6 - I've forgotten :-)
- * 7 - Cylindrical Image Map **** IMAGE MAPS REQUIRE the filename
- * 8 - Spherical Image Map of the image be put in imap[]
- * 9 - Planar Image Map part of the texture...
- * planar requires uaxs, and vaxs..
- *
- *******************************************************************/
-
-/********************************************/
-/* Functions implemented to provide the API */
-/********************************************/
-
-vector rt_vector(apiflt x, apiflt y, apiflt z); /* helper to make vectors */
-color rt_color(apiflt r, apiflt g, apiflt b); /* helper to make colors */
-
-void rt_initialize(int *, char ***);/* reset raytracer, memory deallocation */
-void rt_finalize(void); /* close down for good.. */
-
-SceneHandle rt_newscene(void); /* allocate new scene */
-void rt_deletescene(SceneHandle); /* delete a scene */
-void rt_renderscene(SceneHandle); /* raytrace the current scene */
-void rt_outputfile(SceneHandle, const char * outname);
-void rt_resolution(SceneHandle, int hres, int vres);
-void rt_verbose(SceneHandle, int v);
-void rt_rawimage(SceneHandle, unsigned char *rawimage);
-void rt_background(SceneHandle, color);
-
-/* Parameter values for rt_boundmode() */
-#define RT_BOUNDING_DISABLED 0
-#define RT_BOUNDING_ENABLED 1
-
-void rt_boundmode(SceneHandle, int);
-void rt_boundthresh(SceneHandle, int);
-
-/* Parameter values for rt_displaymode() */
-#define RT_DISPLAY_DISABLED 0
-#define RT_DISPLAY_ENABLED 1
-
-void rt_displaymode(SceneHandle, int);
-
-void rt_scenesetup(SceneHandle, char *, int, int, int);
- /* scene, output filename, horizontal resolution, vertical resolution,
- verbose mode */
-
-
-void rt_camerasetup(SceneHandle, apiflt, apiflt, int, int,
- vector, vector, vector);
- /* camera parms: scene, zoom, aspectratio, antialiasing, raydepth,
- camera center, view direction, up direction */
-
-
-
-void * rt_texture(apitexture *);
- /* pointer to the texture struct that would have been passed to each
- object() call in older revisions.. */
-
-
-
-
-void rt_light(void * , vector, apiflt); /* add a light */
- /* light parms: texture, center, radius */
-
-void rt_sphere(void *, vector, apiflt); /* add a sphere */
- /* sphere parms: texture, center, radius */
-
-void rt_scalarvol(void *, vector, vector,
- int, int, int, char *, void *);
-
-void rt_extvol(void *, vector, vector, int, apiflt (* evaluator)(apiflt, apiflt, apiflt));
-
-void rt_box(void *, vector, vector);
- /* box parms: texture, min, max */
-
-void rt_plane(void *, vector, vector);
- /* plane parms: texture, center, normal */
-
-void rt_ring(void *, vector, vector, apiflt, apiflt);
- /* ring parms: texture, center, normal, inner, outer */
-
-void rt_tri(void *, vector, vector, vector);
- /* tri parms: texture, vertex 0, vertex 1, vertex 2 */
-
-void rt_stri(void *, vector, vector, vector,
- vector, vector, vector);
- /* stri parms: texture, vertex 0, vertex 1, vertex 2, norm 0, norm 1, norm 2 */
-
-void rt_heightfield(void *, vector, int, int, apiflt *, apiflt, apiflt);
- /* field parms: texture, center, m, n, field, wx, wy */
-
-void rt_landscape(void *, int, int, vector, apiflt, apiflt);
-
-void rt_quadsphere(void *, vector, apiflt); /* add quadric sphere */
- /* sphere parms: texture, center, radius */
-
-void rt_cylinder(void *, vector, vector, apiflt);
-
-void rt_fcylinder(void *, vector, vector, apiflt);
-
-void rt_polycylinder(void *, vector *, int, apiflt);
-
-
-/* new texture handling routines */
-void rt_tex_color(void * voidtex, color col);
-
-#define RT_PHONG_PLASTIC 0
-#define RT_PHONG_METAL 1
-void rt_tex_phong(void * voidtex, apiflt phong, apiflt phongexp, int type);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * api.c - This file contains all of the API calls that are defined for
- * external driver code to use.
- *
- * $Id: apigeom.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "api.h"
-#include "macros.h"
-#include "vector.h"
-
-#define MyVNorm(a) VNorm ((vector *) a)
-
-void rt_polycylinder(void * tex, vector * points, int numpts, apiflt rad) {
- vector a;
- int i;
-
- if ((points == NULL) || (numpts == 0)) {
- return;
- }
-
- if (numpts > 0) {
- rt_sphere(tex, points[0], rad);
-
- if (numpts > 1) {
- for (i=1; i<numpts; i++) {
- a.x = points[i].x - points[i-1].x;
- a.y = points[i].y - points[i-1].y;
- a.z = points[i].z - points[i-1].z;
-
- rt_fcylinder(tex, points[i-1], a, rad);
- rt_sphere(tex, points[i], rad);
- }
- }
- }
-}
-
-void rt_heightfield(void * tex, vector ctr, int m, int n,
- apiflt * field, apiflt wx, apiflt wy) {
- int xx,yy;
- vector v0, v1, v2;
- apiflt xoff, yoff, zoff;
-
- xoff=ctr.x - (wx / 2.0);
- yoff=ctr.z - (wy / 2.0);
- zoff=ctr.y;
-
- for (yy=0; yy<(n-1); yy++) {
- for (xx=0; xx<(m-1); xx++) {
- v0.x=wx*(xx )/(m*1.0) + xoff;
- v0.y=field[(yy )*m + (xx )] + zoff;
- v0.z=wy*(yy )/(n*1.0) + yoff;
-
- v1.x=wx*(xx + 1)/(m*1.0) + xoff;
- v1.y=field[(yy )*m + (xx + 1)] + zoff;
- v1.z=wy*(yy )/(n*1.0) + yoff;
-
- v2.x=wx*(xx + 1)/(m*1.0) + xoff;
- v2.y=field[(yy + 1)*m + (xx + 1)] + zoff;
- v2.z=wy*(yy + 1)/(n*1.0) + yoff;
-
- rt_tri(tex, v1, v0, v2);
-
- v0.x=wx*(xx )/(m*1.0) + xoff;
- v0.y=field[(yy )*m + (xx )] + zoff;
- v0.z=wy*(yy )/(n*1.0) + yoff;
-
- v1.x=wx*(xx )/(m*1.0) + xoff;
- v1.y=field[(yy + 1)*m + (xx )] + zoff;
- v1.z=wy*(yy + 1)/(n*1.0) + yoff;
-
- v2.x=wx*(xx + 1)/(m*1.0) + xoff;
- v2.y=field[(yy + 1)*m + (xx + 1)] + zoff;
- v2.z=wy*(yy + 1)/(n*1.0) + yoff;
-
- rt_tri(tex, v0, v1, v2);
- }
- }
-} /* end of heightfield */
-
-
-static void rt_sheightfield(void * tex, vector ctr, int m, int n,
- apiflt * field, apiflt wx, apiflt wy) {
- vector * vertices;
- vector * normals;
- vector offset;
- apiflt xinc, yinc;
- int x, y, addr;
-
- vertices = (vector *) malloc(m*n*sizeof(vector));
- normals = (vector *) malloc(m*n*sizeof(vector));
-
- offset.x = ctr.x - (wx / 2.0);
- offset.y = ctr.z - (wy / 2.0);
- offset.z = ctr.y;
-
- xinc = wx / ((apiflt) m);
- yinc = wy / ((apiflt) n);
-
- /* build vertex list */
- for (y=0; y<n; y++) {
- for (x=0; x<m; x++) {
- addr = y*m + x;
- vertices[addr] = rt_vector(
- x * xinc + offset.x,
- field[addr] + offset.z,
- y * yinc + offset.y);
- }
- }
-
- /* build normals from vertex list */
- for (x=1; x<m; x++) {
- normals[x] = normals[(n - 1)*m + x] = rt_vector(0.0, 1.0, 0.0);
- }
- for (y=1; y<n; y++) {
- normals[y*m] = normals[y*m + (m-1)] = rt_vector(0.0, 1.0, 0.0);
- }
- for (y=1; y<(n-1); y++) {
- for (x=1; x<(m-1); x++) {
- addr = y*m + x;
-
- normals[addr] = rt_vector(
- -(field[addr + 1] - field[addr - 1]) / (2.0 * xinc),
- 1.0,
- -(field[addr + m] - field[addr - m]) / (2.0 * yinc));
-
- MyVNorm(&normals[addr]);
- }
- }
-
- /* generate actual triangles */
- for (y=0; y<(n-1); y++) {
- for (x=0; x<(m-1); x++) {
- addr = y*m + x;
-
- rt_stri(tex, vertices[addr], vertices[addr + 1 + m], vertices[addr + 1],
- normals[addr], normals[addr + 1 + m], normals[addr + 1]);
- rt_stri(tex, vertices[addr], vertices[addr + m], vertices[addr + 1 + m],
- normals[addr], normals[addr + m], normals[addr + 1 + m]);
- }
- }
-
- free(normals);
- free(vertices);
-} /* end of smoothed heightfield */
-
-
-static void adjust(apiflt *base, int xres, int yres, apiflt wx, apiflt wy,
- int xa, int ya, int x, int y, int xb, int yb) {
- apiflt d, v;
-
- if (base[x + (xres*y)]==0.0) {
-
- d=(abs(xa - xb) / (xres * 1.0))*wx + (abs(ya - yb) / (yres * 1.0))*wy;
-
- v=(base[xa + (xres*ya)] + base[xb + (xres*yb)]) / 2.0 +
- (((((rand() % 1000) - 500.0)/500.0)*d) / 8.0);
-
- if (v < 0.0) v=0.0;
- if (v > (xres + yres)) v=(xres + yres);
- base[x + (xres * y)]=v;
- }
-}
-
-static void subdivide(apiflt *base, int xres, int yres, apiflt wx, apiflt wy,
- int x1, int y1, int x2, int y2) {
- long x,y;
-
- if (((x2 - x1) < 2) && ((y2 - y1) < 2)) { return; }
-
- x=(x1 + x2) / 2;
- y=(y1 + y2) / 2;
-
- adjust(base, xres, yres, wx, wy, x1, y1, x, y1, x2, y1);
- adjust(base, xres, yres, wx, wy, x2, y1, x2, y, x2, y2);
- adjust(base, xres, yres, wx, wy, x1, y2, x, y2, x2, y2);
- adjust(base, xres, yres, wx, wy, x1, y1, x1, y, x1, y2);
-
-
- if (base[x + xres*y]==0.0) {
- base[x + (xres * y)]=(base[x1 + xres*y1] + base[x2 + xres*y1] +
- base[x2 + xres*y2] + base[x1 + xres*y2] )/4.0;
- }
-
- subdivide(base, xres, yres, wx, wy, x1, y1 ,x ,y);
- subdivide(base, xres, yres, wx, wy, x, y1, x2, y);
- subdivide(base, xres, yres, wx, wy, x, y, x2, y2);
- subdivide(base, xres, yres, wx, wy, x1, y, x, y2);
-}
-
-void rt_landscape(void * tex, int m, int n,
- vector ctr, apiflt wx, apiflt wy) {
- int totalsize, x, y;
- apiflt * field;
-
- totalsize=m*n;
-
- srand(totalsize);
-
- field=(apiflt *) malloc(totalsize*sizeof(apiflt));
-
- for (y=0; y<n; y++) {
- for (x=0; x<m; x++) {
- field[x + y*m]=0.0;
- }
- }
-
- field[0 + 0]=1.0 + (rand() % 100)/100.0;
- field[m - 1]=1.0 + (rand() % 100)/100.0;
- field[0 + m*(n - 1)]=1.0 + (rand() % 100)/100.0;
- field[m - 1 + m*(n - 1)]=1.0 + (rand() % 100)/100.0;
-
- subdivide(field, m, n, wx, wy, 0, 0, m-1, n-1);
-
- rt_sheightfield(tex, ctr, m, n, field, wx, wy);
-
- free(field);
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * apitrigeom.c - This file contains code for generating triangle tesselated
- * geometry, for use with OpenGL, XGL, etc.
- *
- * $Id: apitrigeom.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "api.h"
-#include "macros.h"
-#include "vector.h"
-
-#define MyVNorm(a) VNorm ((vector *) a)
-#define MyVCross(a,b,c) VCross ((vector *) a, (vector *) b, (vector *) c)
-#define MyVAddS(x,a,b,c) VAddS ((flt) x, (vector *) a, (vector *) b, (vector *) c)
-
-#define CYLFACETS 36
-#define RINGFACETS 36
-#define SPHEREFACETS 25
-
-void rt_tri_fcylinder(void * tex, vector ctr, vector axis, apiflt rad) {
- vector x, y, z, tmp;
- double u, v, u2, v2;
- int j;
- vector p1, p2, p3, p4;
- vector n1, n2;
-
- z = axis;
- MyVNorm(&z);
- tmp.x = z.y - 2.1111111;
- tmp.y = -z.z + 3.14159267;
- tmp.z = z.x - 3.915292342341;
- MyVNorm(&z);
- MyVNorm(&tmp);
- MyVCross(&z, &tmp, &x);
- MyVNorm(&x);
- MyVCross(&x, &z, &y);
- MyVNorm(&y);
-
- for (j=0; j<CYLFACETS; j++) {
- u = rad * sin((6.28 * j) / (CYLFACETS - 1.0));
- v = rad * cos((6.28 * j) / (CYLFACETS - 1.0));
- u2 = rad * sin((6.28 * (j + 1.0)) / (CYLFACETS - 1.0));
- v2 = rad * cos((6.28 * (j + 1.0)) / (CYLFACETS - 1.0));
-
- p1.x = p1.y = p1.z = 0.0;
- p4 = p3 = p2 = p1;
-
- MyVAddS(u, &x, &p1, &p1);
- MyVAddS(v, &y, &p1, &p1);
- n1 = p1;
- MyVNorm(&n1);
- MyVAddS(1.0, &ctr, &p1, &p1);
-
-
- MyVAddS(u2, &x, &p2, &p2);
- MyVAddS(v2, &y, &p2, &p2);
- n2 = p2;
- MyVNorm(&n2);
- MyVAddS(1.0, &ctr, &p2, &p2);
-
- MyVAddS(1.0, &axis, &p1, &p3);
- MyVAddS(1.0, &axis, &p2, &p4);
-
- rt_stri(tex, p1, p2, p3, n1, n2, n1);
- rt_stri(tex, p3, p2, p4, n1, n2, n2);
- }
-}
-
-void rt_tri_cylinder(void * tex, vector ctr, vector axis, apiflt rad) {
- rt_fcylinder(tex, ctr, axis, rad);
-}
-
-void rt_tri_ring(void * tex, vector ctr, vector norm, apiflt a, apiflt b) {
- vector x, y, z, tmp;
- double u, v, u2, v2;
- int j;
- vector p1, p2, p3, p4;
- vector n1, n2;
-
- z = norm;
- MyVNorm(&z);
- tmp.x = z.y - 2.1111111;
- tmp.y = -z.z + 3.14159267;
- tmp.z = z.x - 3.915292342341;
- MyVNorm(&z);
- MyVNorm(&tmp);
- MyVCross(&z, &tmp, &x);
- MyVNorm(&x);
- MyVCross(&x, &z, &y);
- MyVNorm(&y);
-
- for (j=0; j<RINGFACETS; j++) {
- u = sin((6.28 * j) / (RINGFACETS - 1.0));
- v = cos((6.28 * j) / (RINGFACETS - 1.0));
- u2 = sin((6.28 * (j + 1.0)) / (RINGFACETS - 1.0));
- v2 = cos((6.28 * (j + 1.0)) / (RINGFACETS - 1.0));
-
- p1.x = p1.y = p1.z = 0.0;
- p4 = p3 = p2 = p1;
-
- MyVAddS(u, &x, &p1, &p1);
- MyVAddS(v, &y, &p1, &p1);
- n1 = p1;
- MyVNorm(&n1);
- MyVAddS(a, &n1, &ctr, &p1);
- MyVAddS(b, &n1, &ctr, &p3);
-
- MyVAddS(u2, &x, &p2, &p2);
- MyVAddS(v2, &y, &p2, &p2);
- n2 = p2;
- MyVNorm(&n2);
- MyVAddS(a, &n2, &ctr, &p2);
- MyVAddS(b, &n2, &ctr, &p4);
-
- rt_stri(tex, p1, p2, p3, norm, norm, norm);
- rt_stri(tex, p3, p2, p4, norm, norm, norm);
-
- }
-}
-
-void rt_tri_box(void * tex, vector min, vector max) {
- /* -XY face */
- rt_tri(tex, rt_vector(min.x, min.y, min.z),
- rt_vector(min.x, max.y, min.z),
- rt_vector(max.x, max.y, min.z));
- rt_tri(tex, rt_vector(min.x, min.y, min.z),
- rt_vector(max.x, max.y, min.z),
- rt_vector(max.x, min.y, min.z));
-
- /* +XY face */
- rt_tri(tex, rt_vector(min.x, min.y, max.z),
- rt_vector(max.x, max.y, max.z),
- rt_vector(min.x, max.y, max.z));
- rt_tri(tex, rt_vector(min.x, min.y, max.z),
- rt_vector(max.x, min.y, max.z),
- rt_vector(max.x, max.y, max.z));
-
- /* -YZ face */
- rt_tri(tex, rt_vector(min.x, min.y, min.z),
- rt_vector(min.x, max.y, max.z),
- rt_vector(min.x, min.y, max.z));
- rt_tri(tex, rt_vector(min.x, min.y, min.z),
- rt_vector(min.x, max.y, min.z),
- rt_vector(min.x, max.y, max.z));
-
- /* +YZ face */
- rt_tri(tex, rt_vector(max.x, min.y, min.z),
- rt_vector(max.x, min.y, max.z),
- rt_vector(max.x, max.y, max.z));
- rt_tri(tex, rt_vector(max.x, min.y, min.z),
- rt_vector(max.x, max.y, max.z),
- rt_vector(max.x, max.y, min.z));
-
- /* -XZ face */
- rt_tri(tex, rt_vector(min.x, min.y, min.z),
- rt_vector(min.x, min.y, max.z),
- rt_vector(max.x, min.y, max.z));
- rt_tri(tex, rt_vector(min.x, min.y, min.z),
- rt_vector(max.x, min.y, max.z),
- rt_vector(max.x, min.y, min.z));
-
- /* +XZ face */
- rt_tri(tex, rt_vector(min.x, max.y, min.z),
- rt_vector(max.x, max.y, max.z),
- rt_vector(min.x, max.y, max.z));
- rt_tri(tex, rt_vector(min.x, max.y, min.z),
- rt_vector(max.x, max.y, min.z),
- rt_vector(max.x, max.y, max.z));
-}
-
-void rt_tri_sphere(void * tex, vector ctr, apiflt rad) {
-}
-
-void rt_tri_plane(void * tex, vector ctr, vector norm) {
- rt_tri_ring(tex, ctr, norm, 0.0, 10000.0);
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * apitrigeom.h - header for functions to generate triangle tesselated
- * geometry for use with OpenGL, XGL, etc.
- *
- */
-
-void rt_tri_fcylinder(void * tex, vector ctr, vector axis, apiflt rad);
-void rt_tri_cylinder(void * tex, vector ctr, vector axis, apiflt rad);
-void rt_tri_ring(void * tex, vector ctr, vector norm, apiflt a, apiflt b);
-void rt_tri_plane(void * tex, vector ctr, vector norm);
-void rt_tri_box(void * tex, vector min, vector max);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * bndbox.c - This file contains the functions for dealing with bounding boxes.
- *
- * $Id: bndbox.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-#define BNDBOX_PRIVATE
-#include "bndbox.h"
-
-static object_methods bndbox_methods = {
- (void (*)(void *, void *))(bndbox_intersect),
- (void (*)(void *, void *, void *, void *))(NULL),
- bndbox_bbox,
- free_bndbox
-};
-
-
-bndbox * newbndbox(vector min, vector max) {
- bndbox * b;
-
- b=(bndbox *) rt_getmem(sizeof(bndbox));
- memset(b, 0, sizeof(bndbox));
- b->min=min;
- b->max=max;
- b->methods = &bndbox_methods;
-
- b->objlist=NULL;
- b->tex=NULL;
- b->nextobj=NULL;
- return b;
-}
-
-
-static int bndbox_bbox(void * obj, vector * min, vector * max) {
- bndbox * b = (bndbox *) obj;
-
- *min = b->min;
- *max = b->max;
-
- return 1;
-}
-
-
-static void free_bndbox(void * v) {
- bndbox * b = (bndbox *) v;
-
- free_objects(b->objlist);
-
- free(b);
-}
-
-
-static void bndbox_intersect(bndbox * bx, ray * ry) {
- flt a, tx1, tx2, ty1, ty2, tz1, tz2;
- flt tnear, tfar;
- object * obj;
- ray newray;
-
- /* eliminate bounded rays whose bounds do not intersect */
- /* the bounds of the box.. */
- if (ry->flags |= RT_RAY_BOUNDED) {
- if ((ry->s.x > bx->max.x) && (ry->e.x > bx->max.x)) return;
- if ((ry->s.x < bx->min.x) && (ry->e.x < bx->min.x)) return;
-
- if ((ry->s.y > bx->max.y) && (ry->e.y > bx->max.y)) return;
- if ((ry->s.y < bx->min.y) && (ry->e.y < bx->min.y)) return;
-
- if ((ry->s.z > bx->max.z) && (ry->e.z > bx->max.z)) return;
- if ((ry->s.z < bx->min.z) && (ry->e.z < bx->min.z)) return;
- }
-
- tnear= -FHUGE;
- tfar= FHUGE;
-
- if (ry->d.x == 0.0) {
- if ((ry->o.x < bx->min.x) || (ry->o.x > bx->max.x)) return;
- }
- else {
- tx1 = (bx->min.x - ry->o.x) / ry->d.x;
- tx2 = (bx->max.x - ry->o.x) / ry->d.x;
- if (tx1 > tx2) { a=tx1; tx1=tx2; tx2=a; }
- if (tx1 > tnear) tnear=tx1;
- if (tx2 < tfar) tfar=tx2;
- }
- if (tnear > tfar) return;
- if (tfar < 0.0) return;
-
- if (ry->d.y == 0.0) {
- if ((ry->o.y < bx->min.y) || (ry->o.y > bx->max.y)) return;
- }
- else {
- ty1 = (bx->min.y - ry->o.y) / ry->d.y;
- ty2 = (bx->max.y - ry->o.y) / ry->d.y;
- if (ty1 > ty2) { a=ty1; ty1=ty2; ty2=a; }
- if (ty1 > tnear) tnear=ty1;
- if (ty2 < tfar) tfar=ty2;
- }
- if (tnear > tfar) return;
- if (tfar < 0.0) return;
-
- if (ry->d.z == 0.0) {
- if ((ry->o.z < bx->min.z) || (ry->o.z > bx->max.z)) return;
- }
- else {
- tz1 = (bx->min.z - ry->o.z) / ry->d.z;
- tz2 = (bx->max.z - ry->o.z) / ry->d.z;
- if (tz1 > tz2) { a=tz1; tz1=tz2; tz2=a; }
- if (tz1 > tnear) tnear=tz1;
- if (tz2 < tfar) tfar=tz2;
- }
- if (tnear > tfar) return;
- if (tfar < 0.0) return;
-
-
- /* intersect all of the enclosed objects */
- newray=*ry;
- newray.flags |= RT_RAY_BOUNDED;
-
- RAYPNT(newray.s , (*ry) , tnear);
- RAYPNT(newray.e , (*ry) , (tfar + EPSILON));
-
- obj = bx->objlist;
- while (obj != NULL) {
- obj->methods->intersect(obj, &newray);
- obj = (object *)obj->nextobj;
- }
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * bndbox.h - This file contains the defines for bounding boxes etc.
- *
- * $Id: bndbox.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector min;
- vector max;
- object * objlist;
-} bndbox;
-
-bndbox * newbndbox(vector min, vector max);
-
-#ifdef BNDBOX_PRIVATE
-
-static int bndbox_bbox(void * obj, vector * min, vector * max);
-static void free_bndbox(void * v);
-static void bndbox_intersect(bndbox *, ray *);
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * box.c - This file contains the functions for dealing with boxes.
- *
- * $Id: box.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "box.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-int box_bbox(void * obj, vector * min, vector * max) {
- box * b = (box *) obj;
-
- *min = b->min;
- *max = b->max;
-
- return 1;
-}
-
-static object_methods box_methods = {
- (void (*)(void *, void *))(box_intersect),
- (void (*)(void *, void *, void *, void *))(box_normal),
- box_bbox,
- free
-};
-
-box * newbox(void * tex, vector min, vector max) {
- box * b;
-
- b=(box *) rt_getmem(sizeof(box));
- memset(b, 0, sizeof(box));
- b->methods = &box_methods;
- b->tex = (texture *)tex;
- b->min = min;
- b->max = max;
-
- return b;
-}
-
-void box_intersect(box * bx, ray * ry) {
- flt a, tx1, tx2, ty1, ty2, tz1, tz2;
- flt tnear, tfar;
-
- tnear= -FHUGE;
- tfar= FHUGE;
-
- if (ry->d.x == 0.0) {
- if ((ry->o.x < bx->min.x) || (ry->o.x > bx->max.x)) return;
- }
- else {
- tx1 = (bx->min.x - ry->o.x) / ry->d.x;
- tx2 = (bx->max.x - ry->o.x) / ry->d.x;
- if (tx1 > tx2) { a=tx1; tx1=tx2; tx2=a; }
- if (tx1 > tnear) tnear=tx1;
- if (tx2 < tfar) tfar=tx2;
- }
- if (tnear > tfar) return;
- if (tfar < 0.0) return;
-
- if (ry->d.y == 0.0) {
- if ((ry->o.y < bx->min.y) || (ry->o.y > bx->max.y)) return;
- }
- else {
- ty1 = (bx->min.y - ry->o.y) / ry->d.y;
- ty2 = (bx->max.y - ry->o.y) / ry->d.y;
- if (ty1 > ty2) { a=ty1; ty1=ty2; ty2=a; }
- if (ty1 > tnear) tnear=ty1;
- if (ty2 < tfar) tfar=ty2;
- }
- if (tnear > tfar) return;
- if (tfar < 0.0) return;
-
- if (ry->d.z == 0.0) {
- if ((ry->o.z < bx->min.z) || (ry->o.z > bx->max.z)) return;
- }
- else {
- tz1 = (bx->min.z - ry->o.z) / ry->d.z;
- tz2 = (bx->max.z - ry->o.z) / ry->d.z;
- if (tz1 > tz2) { a=tz1; tz1=tz2; tz2=a; }
- if (tz1 > tnear) tnear=tz1;
- if (tz2 < tfar) tfar=tz2;
- }
- if (tnear > tfar) return;
- if (tfar < 0.0) return;
-
- add_intersection(tnear, (object *) bx, ry);
- add_intersection(tfar, (object *) bx, ry);
-}
-
-void box_normal(box * bx, vector * pnt, ray * incident, vector * N) {
- vector a, b, c;
- flt t;
-
- c.x=(bx->max.x + bx->min.x) / 2.0;
- c.y=(bx->max.y + bx->min.y) / 2.0;
- c.z=(bx->max.z + bx->min.z) / 2.0;
-
- VSub((vector *) pnt, &c, N);
- b=(*N);
-
- a.x=fabs(N->x);
- a.y=fabs(N->y);
- a.z=fabs(N->z);
-
- N->x=0.0; N->y=0.0; N->z=0.0;
-
- t=MYMAX(a.x, MYMAX(a.y, a.z));
-
- if (t==a.x) N->x=b.x;
-
- if (t==a.y) N->y=b.y;
-
- if (t==a.z) N->z=b.z;
-
- VNorm(N);
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * box.h - This file contains the defines for boxes etc.
- *
- * $Id: box.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector min;
- vector max;
-} box;
-
-
-box * newbox(void * tex, vector min, vector max);
-void box_intersect(box *, ray *);
-void box_normal(box *, vector *, ray * incident, vector *);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * camera.c - This file contains all of the functions for doing camera work.
- *
- * $Id: camera.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "camera.h"
-#include "util.h"
-
-ray camray(scenedef *scene, int x, int y) {
- ray ray1, newray;
- vector projcent;
- vector projpixel;
- flt px, py, sx, sy;
-
- sx = (flt) scene->hres;
- sy = (flt) scene->vres;
-
- /* calculate the width and height of the image plane given the */
- /* aspect ratio, image resolution, and zoom factor */
-
- px=((sx / sy) / scene->aspectratio) / scene->camzoom;
- py=1.0 / scene->camzoom;
-
- /* assuming viewvec is a unit vector, then the center of the */
- /* image plane is the camera center + vievec */
- projcent.x = scene->camcent.x + scene->camviewvec.x;
- projcent.y = scene->camcent.y + scene->camviewvec.y;
- projcent.z = scene->camcent.z + scene->camviewvec.z;
-
- /* starting from the center of the image plane, we move the */
- /* center of the pel we're calculating, to */
- /* projcent + (rightvec * x distance) */
- ray1.o=projcent;
- ray1.d=scene->camrightvec;
- projpixel=Raypnt(&ray1, ((x*px/sx) - (px / 2.0)));
-
- /* starting from the horizontally translated pel, we move the */
- /* center of the pel we're calculating, to */
- /* projcent + (upvec * y distance) */
- ray1.o=projpixel;
- ray1.d=scene->camupvec;
- projpixel=Raypnt(&ray1, ((y*py/sy) - (py / 2.0)));
-
- /* now that we have the exact pel center in the image plane */
- /* we create the real primary ray that will be used by the */
- /* rest of the system. */
- /* The ray is expected to be re-normalized elsewhere, we're */
- /* only really concerned about getting its direction right. */
- newray.o=scene->camcent;
- VSub(&projpixel, &scene->camcent, &newray.d);
- newray.depth = scene->raydepth;
- newray.flags = RT_RAY_REGULAR; /* camera only generates primary rays */
-
- return newray;
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * camera.h - This file contains the defines for camera routines etc.
- *
- * $Id: camera.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-ray camray(scenedef *, int, int);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * coordsys.c - Routines to translate from one coordinate system to another.
- *
- * $Id: coordsys.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "coordsys.h"
-
-void xytopolar(flt x, flt y, flt rad, flt * u, flt * v) {
- flt r1;
- r1=x*x + y*y;
- *v=sqrt(r1 / (rad*rad));
- if (y<0.0)
- *u=1.0 - acos(x/sqrt(r1))/TWOPI;
- else
- *u= acos(x/sqrt(r1))/TWOPI;
-}
-
-void xyztocyl(vector pnt, flt height, flt * u, flt * v) {
- flt r1;
-
- r1=pnt.x*pnt.x + pnt.y*pnt.y;
-
- *v=pnt.z / height;
- if (pnt.y<0.0)
- *u=1.0 - acos(pnt.x/sqrt(r1))/TWOPI;
- else
- *u=acos(pnt.x/sqrt(r1))/TWOPI;
-}
-
-void xyztospr(vector pnt, flt * u, flt * v) {
- flt r1, phi, theta;
-
- r1=sqrt(pnt.x*pnt.x + pnt.y*pnt.y + pnt.z*pnt.z);
-
- phi=acos(-pnt.y/r1);
- *v=phi/3.1415926;
-
- theta=acos((pnt.x/r1)/sin(phi))/TWOPI;
-
- if (pnt.z > 0.0)
- *u = theta;
- else
- *u = 1 - theta;
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * coordsys.h - defines for coordinate system routines.
- *
- * $Id: coordsys.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#define TWOPI 6.2831853
-
-void xytopolar(flt, flt, flt, flt *, flt *);
-void xyztocyl(vector, flt, flt *, flt *);
-void xyztospr(vector, flt *, flt *);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * cylinder.c - This file contains the functions for dealing with cylinders.
- *
- * $Id: cylinder.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-#define CYLINDER_PRIVATE
-#include "cylinder.h"
-
-static object_methods cylinder_methods = {
- (void (*)(void *, void *))(cylinder_intersect),
- (void (*)(void *, void *, void *, void *))(cylinder_normal),
- cylinder_bbox,
- free
-};
-
-static object_methods fcylinder_methods = {
- (void (*)(void *, void *))(fcylinder_intersect),
- (void (*)(void *, void *, void *, void *))(cylinder_normal),
- fcylinder_bbox,
- free
-};
-
-
-object * newcylinder(void * tex, vector ctr, vector axis, flt rad) {
- cylinder * c;
-
- c=(cylinder *) rt_getmem(sizeof(cylinder));
- memset(c, 0, sizeof(cylinder));
- c->methods = &cylinder_methods;
-
- c->tex=(texture *) tex;
- c->ctr=ctr;
- c->axis=axis;
- c->rad=rad;
- return (object *) c;
-}
-
-static int cylinder_bbox(void * obj, vector * min, vector * max) {
- return 0; /* infinite / unbounded object */
-}
-
-static void cylinder_intersect(cylinder * cyl, ray * ry) {
- vector rc, n, D, O;
- flt t, s, tin, tout, ln, d;
-
- rc.x = ry->o.x - cyl->ctr.x;
- rc.y = ry->o.y - cyl->ctr.y;
- rc.z = ry->o.z - cyl->ctr.z;
-
- VCross(&ry->d, &cyl->axis, &n);
-
- VDOT(ln, n, n);
- ln=sqrt(ln); /* finish length calculation */
-
- if (ln == 0.0) { /* ray is parallel to the cylinder.. */
- VDOT(d, rc, cyl->axis);
- D.x = rc.x - d * cyl->axis.x;
- D.y = rc.y - d * cyl->axis.y;
- D.z = rc.z - d * cyl->axis.z;
- VDOT(d, D, D);
- d = sqrt(d);
- tin = -FHUGE;
- tout = FHUGE;
- /* if (d <= cyl->rad) then ray is inside cylinder.. else outside */
- }
-
- VNorm(&n);
- VDOT(d, rc, n);
- d = fabs(d);
-
- if (d <= cyl->rad) { /* ray intersects cylinder.. */
- VCross(&rc, &cyl->axis, &O);
- VDOT(t, O, n);
- t = - t / ln;
- VCross(&n, &cyl->axis, &O);
- VNorm(&O);
- VDOT(s, ry->d, O);
- s = fabs(sqrt(cyl->rad*cyl->rad - d*d) / s);
- tin = t - s;
- add_intersection(tin, (object *) cyl, ry);
- tout = t + s;
- add_intersection(tout, (object *) cyl, ry);
- }
-}
-
-static void cylinder_normal(cylinder * cyl, vector * pnt, ray * incident, vector * N) {
- vector a,b,c;
- flt t;
-
- VSub((vector *) pnt, &(cyl->ctr), &a);
-
- c=cyl->axis;
-
- VNorm(&c);
-
- VDOT(t, a, c);
-
- b.x = c.x * t + cyl->ctr.x;
- b.y = c.y * t + cyl->ctr.y;
- b.z = c.z * t + cyl->ctr.z;
-
- VSub(pnt, &b, N);
- VNorm(N);
-
- if (VDot(N, &(incident->d)) > 0.0) { /* make cylinder double sided */
- N->x=-N->x;
- N->y=-N->y;
- N->z=-N->z;
- }
-}
-
-object * newfcylinder(void * tex, vector ctr, vector axis, flt rad) {
- cylinder * c;
-
- c=(cylinder *) rt_getmem(sizeof(cylinder));
- memset(c, 0, sizeof(cylinder));
- c->methods = &fcylinder_methods;
-
- c->tex=(texture *) tex;
- c->ctr=ctr;
- c->axis=axis;
- c->rad=rad;
-
- return (object *) c;
-}
-
-static int fcylinder_bbox(void * obj, vector * min, vector * max) {
- cylinder * c = (cylinder *) obj;
- vector mintmp, maxtmp;
-
- mintmp.x = c->ctr.x;
- mintmp.y = c->ctr.y;
- mintmp.z = c->ctr.z;
- maxtmp.x = c->ctr.x + c->axis.x;
- maxtmp.y = c->ctr.y + c->axis.y;
- maxtmp.z = c->ctr.z + c->axis.z;
-
- min->x = MYMIN(mintmp.x, maxtmp.x);
- min->y = MYMIN(mintmp.y, maxtmp.y);
- min->z = MYMIN(mintmp.z, maxtmp.z);
- min->x -= c->rad;
- min->y -= c->rad;
- min->z -= c->rad;
-
- max->x = MYMAX(mintmp.x, maxtmp.x);
- max->y = MYMAX(mintmp.y, maxtmp.y);
- max->z = MYMAX(mintmp.z, maxtmp.z);
- max->x += c->rad;
- max->y += c->rad;
- max->z += c->rad;
-
- return 1;
-}
-
-
-static void fcylinder_intersect(cylinder * cyl, ray * ry) {
- vector rc, n, O, hit, tmp2, ctmp4;
- flt t, s, tin, tout, ln, d, tmp, tmp3;
-
- rc.x = ry->o.x - cyl->ctr.x;
- rc.y = ry->o.y - cyl->ctr.y;
- rc.z = ry->o.z - cyl->ctr.z;
-
- VCross(&ry->d, &cyl->axis, &n);
-
- VDOT(ln, n, n);
- ln=sqrt(ln); /* finish length calculation */
-
- if (ln == 0.0) { /* ray is parallel to the cylinder.. */
- return; /* in this case, we want to miss or go through the "hole" */
- }
-
- VNorm(&n);
- VDOT(d, rc, n);
- d = fabs(d);
-
- if (d <= cyl->rad) { /* ray intersects cylinder.. */
- VCross(&rc, &cyl->axis, &O);
- VDOT(t, O, n);
- t = - t / ln;
- VCross(&n, &cyl->axis, &O);
- VNorm(&O);
- VDOT(s, ry->d, O);
- s = fabs(sqrt(cyl->rad*cyl->rad - d*d) / s);
- tin = t - s;
-
- RAYPNT(hit, (*ry), tin);
-
- ctmp4=cyl->axis;
- VNorm(&ctmp4);
-
- tmp2.x = hit.x - cyl->ctr.x;
- tmp2.y = hit.y - cyl->ctr.y;
- tmp2.z = hit.z - cyl->ctr.z;
-
- VDOT(tmp, tmp2, ctmp4);
- VDOT(tmp3, cyl->axis, cyl->axis);
-
- if ((tmp > 0.0) && (tmp < sqrt(tmp3)))
- add_intersection(tin, (object *) cyl, ry);
- tout = t + s;
-
- RAYPNT(hit, (*ry), tout);
-
- tmp2.x = hit.x - cyl->ctr.x;
- tmp2.y = hit.y - cyl->ctr.y;
- tmp2.z = hit.z - cyl->ctr.z;
-
- VDOT(tmp, tmp2, ctmp4);
- VDOT(tmp3, cyl->axis, cyl->axis);
-
- if ((tmp > 0.0) && (tmp < sqrt(tmp3)))
- add_intersection(tout, (object *) cyl, ry);
- }
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * cylinder.h - This file contains the defines for cylinders etc.
- *
- * $Id: cylinder.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-object * newcylinder(void *, vector, vector, flt);
-object * newfcylinder(void *, vector, vector, flt);
-
-#ifdef CYLINDER_PRIVATE
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector ctr;
- vector axis;
- flt rad;
-} cylinder;
-
-static void cylinder_intersect(cylinder *, ray *);
-static void fcylinder_intersect(cylinder *, ray *);
-
-static int cylinder_bbox(void * obj, vector * min, vector * max);
-static int fcylinder_bbox(void * obj, vector * min, vector * max);
-
-static void cylinder_normal(cylinder *, vector *, ray *, vector *);
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * extvol.c - Volume rendering helper routines etc.
- *
- * $Id: extvol.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include<stdio.h>
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "util.h"
-#include "box.h"
-#include "extvol.h"
-#include "trace.h"
-#include "sphere.h"
-#include "light.h"
-#include "shade.h"
-#include "global.h"
-
-
-int extvol_bbox(void * obj, vector * min, vector * max) {
- box * b = (box *) obj;
-
- *min = b->min;
- *max = b->max;
-
- return 1;
-}
-
-static object_methods extvol_methods = {
- (void (*)(void *, void *))(box_intersect),
- (void (*)(void *, void *, void *, void *))(box_normal),
- extvol_bbox,
- free
-};
-
-extvol * newextvol(void * voidtex, vector min, vector max,
- int samples, flt (* evaluator)(flt, flt, flt)) {
- extvol * xvol;
- texture * tex;
-
- tex = (texture *) voidtex;
-
- xvol = (extvol *) rt_getmem(sizeof(extvol));
- memset(xvol, 0, sizeof(extvol));
-
- xvol->methods = &extvol_methods;
-
- xvol->min=min;
- xvol->max=max;
- xvol->evaluator = evaluator;
- xvol->ambient = tex->ambient;
- xvol->diffuse = tex->diffuse;
- xvol->opacity = tex->opacity;
- xvol->samples = samples;
-
- xvol->tex = (texture *)rt_getmem(sizeof(texture));
- memset(xvol->tex, 0, sizeof(texture));
-
- xvol->tex->ctr.x = 0.0;
- xvol->tex->ctr.y = 0.0;
- xvol->tex->ctr.z = 0.0;
- xvol->tex->rot = xvol->tex->ctr;
- xvol->tex->scale = xvol->tex->ctr;
- xvol->tex->uaxs = xvol->tex->ctr;
- xvol->tex->vaxs = xvol->tex->ctr;
- xvol->tex->islight = 0;
- xvol->tex->shadowcast = 0;
-
- xvol->tex->col=tex->col;
- xvol->tex->ambient=1.0;
- xvol->tex->diffuse=0.0;
- xvol->tex->specular=0.0;
- xvol->tex->opacity=1.0;
- xvol->tex->img=NULL;
- xvol->tex->texfunc=(color(*)(void *, void *, void *))(ext_volume_texture);
- xvol->tex->obj = (void *) xvol; /* XXX hack! */
-
- return xvol;
-}
-
-color ExtVoxelColor(flt scalar) {
- color col;
-
- if (scalar > 1.0)
- scalar = 1.0;
-
- if (scalar < 0.0)
- scalar = 0.0;
-
- if (scalar < 0.5) {
- col.g = 0.0;
- }
- else {
- col.g = (scalar - 0.5) * 2.0;
- }
-
- col.r = scalar;
- col.b = 1.0 - (scalar / 2.0);
-
- return col;
-}
-
-color ext_volume_texture(vector * hit, texture * tex, ray * ry) {
- color col, col2;
- box * bx;
- extvol * xvol;
- flt a, tx1, tx2, ty1, ty2, tz1, tz2;
- flt tnear, tfar;
- flt t, tdist, dt, ddt, sum, tt;
- vector pnt, bln;
- flt scalar, transval;
- int i;
- point_light * li;
- color diffint;
- vector N, L;
- flt inten;
-
- col.r = 0.0;
- col.g = 0.0;
- col.b = 0.0;
-
- bx = (box *) tex->obj;
- xvol = (extvol *) tex->obj;
-
- tnear= -FHUGE;
- tfar= FHUGE;
-
- if (ry->d.x == 0.0) {
- if ((ry->o.x < bx->min.x) || (ry->o.x > bx->max.x)) return col;
- }
- else {
- tx1 = (bx->min.x - ry->o.x) / ry->d.x;
- tx2 = (bx->max.x - ry->o.x) / ry->d.x;
- if (tx1 > tx2) { a=tx1; tx1=tx2; tx2=a; }
- if (tx1 > tnear) tnear=tx1;
- if (tx2 < tfar) tfar=tx2;
- }
- if (tnear > tfar) return col;
- if (tfar < 0.0) return col;
-
- if (ry->d.y == 0.0) {
- if ((ry->o.y < bx->min.y) || (ry->o.y > bx->max.y)) return col;
- }
- else {
- ty1 = (bx->min.y - ry->o.y) / ry->d.y;
- ty2 = (bx->max.y - ry->o.y) / ry->d.y;
- if (ty1 > ty2) { a=ty1; ty1=ty2; ty2=a; }
- if (ty1 > tnear) tnear=ty1;
- if (ty2 < tfar) tfar=ty2;
- }
- if (tnear > tfar) return col;
- if (tfar < 0.0) return col;
-
- if (ry->d.z == 0.0) {
- if ((ry->o.z < bx->min.z) || (ry->o.z > bx->max.z)) return col;
- }
- else {
- tz1 = (bx->min.z - ry->o.z) / ry->d.z;
- tz2 = (bx->max.z - ry->o.z) / ry->d.z;
- if (tz1 > tz2) { a=tz1; tz1=tz2; tz2=a; }
- if (tz1 > tnear) tnear=tz1;
- if (tz2 < tfar) tfar=tz2;
- }
- if (tnear > tfar) return col;
- if (tfar < 0.0) return col;
-
- if (tnear < 0.0) tnear=0.0;
-
- tdist = xvol->samples;
-
- tt = (xvol->opacity / tdist);
-
- bln.x=fabs(bx->min.x - bx->max.x);
- bln.y=fabs(bx->min.y - bx->max.y);
- bln.z=fabs(bx->min.z - bx->max.z);
-
- dt = 1.0 / tdist;
- sum = 0.0;
-
-/* Accumulate color as the ray passes through the voxels */
- for (t=tnear; t<=tfar; t+=dt) {
- if (sum < 1.0) {
- pnt.x=((ry->o.x + (ry->d.x * t)) - bx->min.x) / bln.x;
- pnt.y=((ry->o.y + (ry->d.y * t)) - bx->min.y) / bln.y;
- pnt.z=((ry->o.z + (ry->d.z * t)) - bx->min.z) / bln.z;
-
- /* call external evaluator assume 0.0 -> 1.0 range.. */
- scalar = xvol->evaluator(pnt.x, pnt.y, pnt.z);
-
- transval = tt * scalar;
- sum += transval;
-
- col2 = ExtVoxelColor(scalar);
-
- col.r += transval * col2.r * xvol->ambient;
- col.g += transval * col2.g * xvol->ambient;
- col.b += transval * col2.b * xvol->ambient;
-
- ddt = dt;
-
- /* Add in diffuse shaded light sources (no shadows) */
- if (xvol->diffuse > 0.0) {
-
- /* Calculate the Volume gradient at the voxel */
- N.x = (xvol->evaluator(pnt.x - ddt, pnt.y, pnt.z) -
- xvol->evaluator(pnt.x + ddt, pnt.y, pnt.z)) * 8.0 * tt;
-
- N.y = (xvol->evaluator(pnt.x, pnt.y - ddt, pnt.z) -
- xvol->evaluator(pnt.x, pnt.y + ddt, pnt.z)) * 8.0 * tt;
-
- N.z = (xvol->evaluator(pnt.x, pnt.y, pnt.z - ddt) -
- xvol->evaluator(pnt.x, pnt.y, pnt.z + ddt)) * 8.0 * tt;
-
- /* only light surfaces with enough of a normal.. */
- if ((N.x*N.x + N.y*N.y + N.z*N.z) > 0.0) {
- diffint.r = 0.0;
- diffint.g = 0.0;
- diffint.b = 0.0;
-
- /* add the contribution of each of the lights.. */
- for (i=0; i<numlights; i++) {
- li=lightlist[i];
- VSUB(li->ctr, (*hit), L)
- VNorm(&L);
- VDOT(inten, N, L)
-
- /* only add light if its from the front of the surface */
- /* could add back-lighting if we wanted to later.. */
- if (inten > 0.0) {
- diffint.r += inten*li->tex->col.r;
- diffint.g += inten*li->tex->col.g;
- diffint.b += inten*li->tex->col.b;
- }
- }
- col.r += col2.r * diffint.r * xvol->diffuse;
- col.g += col2.g * diffint.g * xvol->diffuse;
- col.b += col2.b * diffint.b * xvol->diffuse;
- }
- }
- }
- else {
- sum=1.0;
- }
- }
-
- /* Add in transmitted ray from outside environment */
- if (sum < 1.0) { /* spawn transmission rays / refraction */
- color transcol;
-
- transcol = shade_transmission(ry, hit, 1.0 - sum);
-
- col.r += transcol.r; /* add the transmitted ray */
- col.g += transcol.g; /* to the diffuse and */
- col.b += transcol.b; /* transmission total.. */
- }
-
- return col;
-}
-
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * vol.h - Volume rendering definitions etc.
- *
- *
- * $Id: extvol.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector min;
- vector max;
- flt ambient;
- flt diffuse;
- flt opacity;
- int samples;
- flt (* evaluator)(flt, flt, flt);
-} extvol;
-
-extvol * newextvol(void * voidtex, vector min, vector max,
- int samples, flt (* evaluator)(flt, flt, flt));
-color ext_volume_texture(vector *, texture *, ray *);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "types.h"
-#include "api.h"
-#include "getargs.h"
-
-void printusage(char **argv) {
- fprintf(stderr, "Usage: \n");
- fprintf(stderr, " %s modelfile [options] \n", argv[0]);
- fprintf(stderr, "\n");
- fprintf(stderr, "Model file formats supported:\n");
- fprintf(stderr, " filename.dat -- The model files originated with this package.\n");
- fprintf(stderr, " filaname.ac -- AC3D model files.\n");
- fprintf(stderr, " filename.nff -- The NFF scene format used by Eric Haines' SPD.\n");
- fprintf(stderr, "\n");
- fprintf(stderr, "Valid options: (** denotes default behaviour)\n");
- fprintf(stderr, " +D enable run-time display updating (if build supports it) **\n");
- fprintf(stderr, " -D disable run-time display updating\n");
- fprintf(stderr, " -nobounding\n");
- fprintf(stderr, " -boundthresh XXX (** default threshold is 25)\n");
- fprintf(stderr, "\n");
-}
-
-void initoptions(argoptions * opt) {
- memset(opt, 0, sizeof(argoptions));
- opt->foundfilename = -1;
- opt->useoutfilename = -1;
- opt->verbosemode = -1;
- opt->antialiasing = -1;
- opt->displaymode = -1;
- opt->boundmode = -1;
- opt->boundthresh = -1;
- opt->usecamfile = -1;
-}
-
-int useoptions(argoptions * opt, SceneHandle scene) {
- if (opt->useoutfilename == 1) {
- rt_outputfile(scene, opt->outfilename);
- }
-
- if (opt->verbosemode == 1) {
- rt_verbose(scene, 1);
- }
-
- if (opt->antialiasing != -1) {
- /* need new api code for this */
- }
-
- if (opt->displaymode != -1) {
- rt_displaymode(scene, opt->displaymode);
- }
-
- if (opt->boundmode != -1) {
- rt_boundmode(scene, opt->boundmode);
- }
-
- if (opt->boundthresh != -1) {
- rt_boundthresh(scene, opt->boundthresh);
- }
-
- return 0;
-}
-
-int getparm(int argc, char **argv, int num, argoptions * opt) {
- if (!strcmp(argv[num], "+D")) {
- /* turn video on */
- opt->displaymode = RT_DISPLAY_ENABLED;
- return 1;
- }
- if (!strcmp(argv[num], "-D")) {
- /* turn video off */
- opt->displaymode = RT_DISPLAY_DISABLED;
- return 1;
- }
- if (!strcmp(argv[num], "-nobounding")) {
- /* disable automatic spatial subdivision optimizations */
- opt->boundmode = RT_BOUNDING_DISABLED;
- return 1;
- }
- if (!strcmp(argv[num], "-boundthresh")) {
- /* set automatic bounding threshold control value */
- sscanf(argv[num + 1], "%d", &opt->boundthresh);
- return 2;
- }
-
- /* unknown parameter setting */
- fprintf(stderr, "Unrecognized parameter/option flag: %s\n", argv[num]);
- return -1;
-}
-
-int getargs(int argc, char **argv, argoptions * opt) {
- int i, rc, unknowncnt;
-
- if (opt == NULL)
- return -1;
-
- initoptions(opt);
-
- if (argc < 2) {
- printusage(argv);
-#ifndef DEFAULT_MODELFILE
- return -1;
-#else
- return 0;
-#endif//DEFAULT_MODELFILE
- }
-
- i = 1;
- unknowncnt = 0;
- while (i < argc) {
- if (argv[i][0] == '-' || argv[i][0] == '+') {
- rc = getparm(argc, argv, i, opt);
- if (rc != -1) {
- i += rc;
- }
- else {
- printusage(argv);
- return -1;
- }
- }
- else {
- unknowncnt++;
- if (unknowncnt > 1) {
- fprintf(stderr, "Too many model file names found!\n");
- printusage(argv);
- return -1;
- }
- else {
- strcpy(opt->filename, argv[i]);
- opt->foundfilename = 1;
- i++;
- }
- }
- }
-
- if (opt->foundfilename == -1) {
- fprintf(stderr, "Missing model file name!\n");
- printusage(argv);
- return -1;
- }
-
- return 0;
-}
-
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-typedef struct {
- int foundfilename; /* was a model file name found in the args? */
- char filename[1024]; /* model file to render */
- int useoutfilename; /* command line override of output filename */
- char outfilename[1024]; /* name of output image file */
- int verbosemode; /* verbose flags */
- int antialiasing; /* antialiasing setting */
- int displaymode; /* display mode */
- int boundmode; /* bounding mode */
- int boundthresh; /* bounding threshold */
- int usecamfile; /* use camera file */
- char camfilename[1024]; /* camera filename */
-} argoptions;
-
-
-int getargs(int argc, char **argv, argoptions * opt);
-int useoptions(argoptions * opt, SceneHandle scene);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * global.c - any/all global data items etc should be in this file
- *
- * $Id: global.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- *
- */
-
-#include "types.h"
-#include "machine.h"
-#include "sphere.h"
-#include "light.h"
-
-/* stuff moved from intersect.c */
-object * rootobj = NULL; /* starts out empty. */
-
-point_light * lightlist[MAXLIGHTS];
-int numlights = 0;
-
-unsigned int numobjects = 0; /* used to assign unique object ID's */
-
-/* used in util.c */
-unsigned int rt_mem_in_use = 0;
-
-/* used in api.c */
-int parinitted = 0;
-
-int graphicswindowopen = 0;
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * global.h - any/all global data items etc should be in this file
- *
- * $Id: global.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- *
- */
-
-/* stuff moved from intersect.c */
-extern object * rootobj;
-
-extern point_light * lightlist[MAXLIGHTS];
-extern int numlights;
-
-extern unsigned int numobjects;
-
-extern unsigned int rt_mem_in_use;
-extern int parinitted;
-
-extern int graphicswindowopen;
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * grid.c - spatial subdivision efficiency structures
- *
- * $Id: grid.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- *
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-#define GRID_PRIVATE
-#include "grid.h"
-
-#ifndef cbrt
-#define cbrt(x) ((x) > 0.0 ? pow((double)(x), 1.0/3.0) : \
- ((x) < 0.0 ? -pow((double)-(x), 1.0/3.0) : 0.0))
-
-#define qbrt(x) ((x) > 0.0 ? pow((double)(x), 1.0/4.0) : \
- ((x) < 0.0 ? -pow((double)-(x), 1.0/4.0) : 0.0))
-
-#endif
-
-static object_methods grid_methods = {
- (void (*)(void *, void *))(grid_intersect),
- (void (*)(void *, void *, void *, void *))(NULL),
- grid_bbox,
- grid_free
-};
-
-object * newgrid(int xsize, int ysize, int zsize, vector min, vector max) {
- grid * g;
-
- g = (grid *) rt_getmem(sizeof(grid));
- memset(g, 0, sizeof(grid));
-
- g->methods = &grid_methods;
- g->id = new_objectid();
-
- g->xsize = xsize;
- g->ysize = ysize;
- g->zsize = zsize;
-
- g->min = min;
- g->max = max;
-
- VSub(&g->max, &g->min, &g->voxsize);
- g->voxsize.x /= (flt) g->xsize;
- g->voxsize.y /= (flt) g->ysize;
- g->voxsize.z /= (flt) g->zsize;
-
- g->cells = (objectlist **) rt_getmem(xsize*ysize*zsize*sizeof(objectlist *));
- memset(g->cells, 0, xsize*ysize*zsize * sizeof(objectlist *));
-
-/* fprintf(stderr, "New grid, size: %8d %8d %8d\n", g->xsize, g->ysize, g->zsize); */
-
- return (object *) g;
-}
-
-static int grid_bbox(void * obj, vector * min, vector * max) {
- grid * g = (grid *) obj;
-
- *min = g->min;
- *max = g->max;
-
- return 1;
-}
-
-static void grid_free(void * v) {
- int i, numvoxels;
- grid * g = (grid *) v;
-
- /* loop through all voxels and free the object lists */
- numvoxels = g->xsize * g->ysize * g->zsize;
- for (i=0; i<numvoxels; i++) {
- objectlist * lcur, * lnext;
-
- lcur = g->cells[i];
- while (lcur != NULL) {
- lnext = lcur->next;
- free(lcur);
- }
- }
-
- /* free the grid cells */
- free(g->cells);
-
- /* free all objects on the grid object list */
- free_objects(g->objects);
-
- free(g);
-}
-
-static void globalbound(object ** rootlist, vector * gmin, vector * gmax) {
- vector min, max;
- object * cur;
-
- if (*rootlist == NULL) /* don't bound non-existant objects */
- return;
-
- gmin->x = FHUGE; gmin->y = FHUGE; gmin->z = FHUGE;
- gmax->x = -FHUGE; gmax->y = -FHUGE; gmax->z = -FHUGE;
-
- cur=*rootlist;
- while (cur != NULL) { /* Go! */
- min.x = -FHUGE; min.y = -FHUGE; min.z = -FHUGE;
- max.x = FHUGE; max.y = FHUGE; max.z = FHUGE;
-
- if (cur->methods->bbox((void *) cur, &min, &max)) {
- gmin->x = MYMIN( gmin->x , min.x);
- gmin->y = MYMIN( gmin->y , min.y);
- gmin->z = MYMIN( gmin->z , min.z);
-
- gmax->x = MYMAX( gmax->x , max.x);
- gmax->y = MYMAX( gmax->y , max.y);
- gmax->z = MYMAX( gmax->z , max.z);
- }
-
- cur=(object *)cur->nextobj;
- }
-}
-
-
-static int cellbound(grid *g, gridindex *index, vector * cmin, vector * cmax) {
- vector min, max, cellmin, cellmax;
- objectlist * cur;
- int numinbounds = 0;
-
- cur = g->cells[index->z*g->xsize*g->ysize + index->y*g->xsize + index->x];
-
- if (cur == NULL) /* don't bound non-existant objects */
- return 0;
-
- cellmin.x = voxel2x(g, index->x);
- cellmin.y = voxel2y(g, index->y);
- cellmin.z = voxel2z(g, index->z);
-
- cellmax.x = cellmin.x + g->voxsize.x;
- cellmax.y = cellmin.y + g->voxsize.y;
- cellmax.z = cellmin.z + g->voxsize.z;
-
- cmin->x = FHUGE; cmin->y = FHUGE; cmin->z = FHUGE;
- cmax->x = -FHUGE; cmax->y = -FHUGE; cmax->z = -FHUGE;
-
- while (cur != NULL) { /* Go! */
- min.x = -FHUGE; min.y = -FHUGE; min.z = -FHUGE;
- max.x = FHUGE; max.y = FHUGE; max.z = FHUGE;
-
- if (cur->obj->methods->bbox((void *) cur->obj, &min, &max)) {
- if ((min.x >= cellmin.x) && (max.x <= cellmax.x) &&
- (min.y >= cellmin.y) && (max.y <= cellmax.y) &&
- (min.z >= cellmin.z) && (max.z <= cellmax.z)) {
-
- cmin->x = MYMIN( cmin->x , min.x);
- cmin->y = MYMIN( cmin->y , min.y);
- cmin->z = MYMIN( cmin->z , min.z);
-
- cmax->x = MYMAX( cmax->x , max.x);
- cmax->y = MYMAX( cmax->y , max.y);
- cmax->z = MYMAX( cmax->z , max.z);
-
- numinbounds++;
- }
- }
-
- cur=cur->next;
- }
-
- /* in case we get a 0.0 sized axis on the cell bounds, we'll */
- /* use the original cell bounds */
- if ((cmax->x - cmin->x) < EPSILON) {
- cmax->x += EPSILON;
- cmin->x -= EPSILON;
- }
- if ((cmax->y - cmin->y) < EPSILON) {
- cmax->y += EPSILON;
- cmin->y -= EPSILON;
- }
- if ((cmax->z - cmin->z) < EPSILON) {
- cmax->z += EPSILON;
- cmin->z -= EPSILON;
- }
-
- return numinbounds;
-}
-
-static int countobj(object * root) {
- object * cur; /* counts the number of objects on a list */
- int numobj;
-
- numobj=0;
- cur=root;
-
- while (cur != NULL) {
- cur=(object *)cur->nextobj;
- numobj++;
- }
- return numobj;
-}
-
-static int countobjlist(objectlist * root) {
- objectlist * cur;
- int numobj;
-
- numobj=0;
- cur = root;
-
- while (cur != NULL) {
- cur = cur->next;
- numobj++;
- }
- return numobj;
-}
-
-int engrid_scene(object ** list) {
- grid * g;
- int numobj, numcbrt;
- vector gmin, gmax;
- gridindex index;
-
- if (*list == NULL)
- return 0;
-
- numobj = countobj(*list);
-
-fprintf(stderr, "Scene contains %d bounded objects.\n", numobj);
-
- if (numobj > 16) {
- numcbrt = (int) cbrt(4*numobj);
- globalbound(list, &gmin, &gmax);
-
- g = (grid *) newgrid(numcbrt, numcbrt, numcbrt, gmin, gmax);
- engrid_objlist(g, list);
-
- numobj = countobj(*list);
- g->nextobj = *list;
- *list = (object *) g;
-
- /* now create subgrids.. */
- for (index.z=0; index.z<g->zsize; index.z++) {
- for (index.y=0; index.y<g->ysize; index.y++) {
- for (index.x=0; index.x<g->xsize; index.x++) {
- engrid_cell(g, &index);
- }
- }
- }
- }
-
- return 1;
-}
-
-
-void engrid_objlist(grid * g, object ** list) {
- object * cur, * next, **prev;
-
- if (*list == NULL)
- return;
-
- prev = list;
- cur = *list;
-
- while (cur != NULL) {
- next = (object *)cur->nextobj;
-
- if (engrid_object(g, cur))
- *prev = next;
- else
- prev = (object **) &cur->nextobj;
-
- cur = next;
- }
-}
-
-static int engrid_cell(grid * gold, gridindex *index) {
- vector gmin, gmax, gsize;
- flt len;
- int numobj, numcbrt, xs, ys, zs;
- grid * g;
- objectlist **list;
- objectlist * newobj;
-
- list = &gold->cells[index->z*gold->xsize*gold->ysize +
- index->y*gold->xsize + index->x];
-
- if (*list == NULL)
- return 0;
-
- numobj = cellbound(gold, index, &gmin, &gmax);
-
- VSub(&gmax, &gmin, &gsize);
- len = 1.0 / (MYMAX( MYMAX(gsize.x, gsize.y), gsize.z ));
- gsize.x *= len;
- gsize.y *= len;
- gsize.z *= len;
-
- if (numobj > 16) {
- numcbrt = (int) cbrt(2*numobj);
-
- xs = (int) ((flt) numcbrt * gsize.x);
- if (xs < 1) xs = 1;
- ys = (int) ((flt) numcbrt * gsize.y);
- if (ys < 1) ys = 1;
- zs = (int) ((flt) numcbrt * gsize.z);
- if (zs < 1) zs = 1;
-
- g = (grid *) newgrid(xs, ys, zs, gmin, gmax);
- engrid_objectlist(g, list);
-
- newobj = (objectlist *) rt_getmem(sizeof(objectlist));
- newobj->obj = (object *) g;
- newobj->next = *list;
- *list = newobj;
-
- g->nextobj = gold->objects;
- gold->objects = (object *) g;
- }
-
- return 1;
-}
-
-static int engrid_objectlist(grid * g, objectlist ** list) {
- objectlist * cur, * next, **prev;
- int numsucceeded = 0;
-
- if (*list == NULL)
- return 0;
-
- prev = list;
- cur = *list;
-
- while (cur != NULL) {
- next = cur->next;
-
- if (engrid_object(g, cur->obj)) {
- *prev = next;
- free(cur);
- numsucceeded++;
- }
- else {
- prev = &cur->next;
- }
-
- cur = next;
- }
-
- return numsucceeded;
-}
-
-
-
-static int engrid_object(grid * g, object * obj) {
- vector omin, omax;
- gridindex low, high;
- int x, y, z, zindex, yindex, voxindex;
- objectlist * tmp;
-
- if (obj->methods->bbox(obj, &omin, &omax)) {
- if (!pos2grid(g, &omin, &low) || !pos2grid(g, &omax, &high)) {
- return 0; /* object is not wholly contained in the grid */
- }
- }
- else {
- return 0; /* object is unbounded */
- }
-
- /* add the object to the complete list of objects in the grid */
- obj->nextobj = g->objects;
- g->objects = obj;
-
- /* add this object to all voxels it inhabits */
- for (z=low.z; z<=high.z; z++) {
- zindex = z * g->xsize * g->ysize;
- for (y=low.y; y<=high.y; y++) {
- yindex = y * g->xsize;
- for (x=low.x; x<=high.x; x++) {
- voxindex = x + yindex + zindex;
- tmp = (objectlist *) rt_getmem(sizeof(objectlist));
- tmp->next = g->cells[voxindex];
- tmp->obj = obj;
- g->cells[voxindex] = tmp;
- }
- }
- }
-
- return 1;
-}
-
-static int pos2grid(grid * g, vector * pos, gridindex * index) {
- index->x = (int) ((pos->x - g->min.x) / g->voxsize.x);
- index->y = (int) ((pos->y - g->min.y) / g->voxsize.y);
- index->z = (int) ((pos->z - g->min.z) / g->voxsize.z);
-
- if (index->x == g->xsize)
- index->x--;
- if (index->y == g->ysize)
- index->y--;
- if (index->z == g->zsize)
- index->z--;
-
- if (index->x < 0 || index->x > g->xsize ||
- index->y < 0 || index->y > g->ysize ||
- index->z < 0 || index->z > g->zsize)
- return 0;
-
- if (pos->x < g->min.x || pos->x > g->max.x ||
- pos->y < g->min.y || pos->y > g->max.y ||
- pos->z < g->min.z || pos->z > g->max.z)
- return 0;
-
- return 1;
-}
-
-
-/* the real thing */
-static void grid_intersect(grid * g, ray * ry) {
- flt tnear, tfar, offset;
- vector curpos, tmax, tdelta, pdeltaX, pdeltaY, pdeltaZ, nXp, nYp, nZp;
- gridindex curvox, step, out;
- int voxindex;
- objectlist * cur;
-
- if (ry->flags & RT_RAY_FINISHED)
- return;
-
- if (!grid_bounds_intersect(g, ry, &tnear, &tfar))
- return;
-
- if (ry->maxdist < tnear)
- return;
-
- curpos = Raypnt(ry, tnear);
- pos2grid(g, &curpos, &curvox);
- offset = tnear;
-
- /* Setup X iterator stuff */
- if (fabs(ry->d.x) < EPSILON) {
- tmax.x = FHUGE;
- tdelta.x = 0.0;
- step.x = 0;
- out.x = 0; /* never goes out of bounds on this axis */
- }
- else if (ry->d.x < 0.0) {
- tmax.x = offset + ((voxel2x(g, curvox.x) - curpos.x) / ry->d.x);
- tdelta.x = g->voxsize.x / - ry->d.x;
- step.x = out.x = -1;
- }
- else {
- tmax.x = offset + ((voxel2x(g, curvox.x + 1) - curpos.x) / ry->d.x);
- tdelta.x = g->voxsize.x / ry->d.x;
- step.x = 1;
- out.x = g->xsize;
- }
-
- /* Setup Y iterator stuff */
- if (fabs(ry->d.y) < EPSILON) {
- tmax.y = FHUGE;
- tdelta.y = 0.0;
- step.y = 0;
- out.y = 0; /* never goes out of bounds on this axis */
- }
- else if (ry->d.y < 0.0) {
- tmax.y = offset + ((voxel2y(g, curvox.y) - curpos.y) / ry->d.y);
- tdelta.y = g->voxsize.y / - ry->d.y;
- step.y = out.y = -1;
- }
- else {
- tmax.y = offset + ((voxel2y(g, curvox.y + 1) - curpos.y) / ry->d.y);
- tdelta.y = g->voxsize.y / ry->d.y;
- step.y = 1;
- out.y = g->ysize;
- }
-
- /* Setup Z iterator stuff */
- if (fabs(ry->d.z) < EPSILON) {
- tmax.z = FHUGE;
- tdelta.z = 0.0;
- step.z = 0;
- out.z = 0; /* never goes out of bounds on this axis */
- }
- else if (ry->d.z < 0.0) {
- tmax.z = offset + ((voxel2z(g, curvox.z) - curpos.z) / ry->d.z);
- tdelta.z = g->voxsize.z / - ry->d.z;
- step.z = out.z = -1;
- }
- else {
- tmax.z = offset + ((voxel2z(g, curvox.z + 1) - curpos.z) / ry->d.z);
- tdelta.z = g->voxsize.z / ry->d.z;
- step.z = 1;
- out.z = g->zsize;
- }
-
- pdeltaX = ry->d;
- VScale(&pdeltaX, tdelta.x);
- pdeltaY = ry->d;
- VScale(&pdeltaY, tdelta.y);
- pdeltaZ = ry->d;
- VScale(&pdeltaZ, tdelta.z);
-
- nXp = Raypnt(ry, tmax.x);
- nYp = Raypnt(ry, tmax.y);
- nZp = Raypnt(ry, tmax.z);
-
- voxindex = curvox.z*g->xsize*g->ysize + curvox.y*g->xsize + curvox.x;
- while (1) {
- if (tmax.x < tmax.y && tmax.x < tmax.z) {
- cur = g->cells[voxindex];
- while (cur != NULL) {
- if (ry->mbox[cur->obj->id] != ry->serial) {
- ry->mbox[cur->obj->id] = ry->serial;
- cur->obj->methods->intersect(cur->obj, ry);
- }
- cur = cur->next;
- }
- curvox.x += step.x;
- if (ry->maxdist < tmax.x || curvox.x == out.x)
- break;
- voxindex += step.x;
- tmax.x += tdelta.x;
- curpos = nXp;
- nXp.x += pdeltaX.x;
- nXp.y += pdeltaX.y;
- nXp.z += pdeltaX.z;
- }
- else if (tmax.z < tmax.y) {
- cur = g->cells[voxindex];
- while (cur != NULL) {
- if (ry->mbox[cur->obj->id] != ry->serial) {
- ry->mbox[cur->obj->id] = ry->serial;
- cur->obj->methods->intersect(cur->obj, ry);
- }
- cur = cur->next;
- }
- curvox.z += step.z;
- if (ry->maxdist < tmax.z || curvox.z == out.z)
- break;
- voxindex += step.z*g->xsize*g->ysize;
- tmax.z += tdelta.z;
- curpos = nZp;
- nZp.x += pdeltaZ.x;
- nZp.y += pdeltaZ.y;
- nZp.z += pdeltaZ.z;
- }
- else {
- cur = g->cells[voxindex];
- while (cur != NULL) {
- if (ry->mbox[cur->obj->id] != ry->serial) {
- ry->mbox[cur->obj->id] = ry->serial;
- cur->obj->methods->intersect(cur->obj, ry);
- }
- cur = cur->next;
- }
- curvox.y += step.y;
- if (ry->maxdist < tmax.y || curvox.y == out.y)
- break;
- voxindex += step.y*g->xsize;
- tmax.y += tdelta.y;
- curpos = nYp;
- nYp.x += pdeltaY.x;
- nYp.y += pdeltaY.y;
- nYp.z += pdeltaY.z;
- }
-
- if (ry->flags & RT_RAY_FINISHED)
- break;
- }
-}
-
-static void voxel_intersect(grid * g, ray * ry, int voxindex) {
- objectlist * cur;
-
- cur = g->cells[voxindex];
- while (cur != NULL) {
- cur->obj->methods->intersect(cur->obj, ry);
- cur = cur->next;
- }
-}
-
-static int grid_bounds_intersect(grid * g, ray * ry, flt *near, flt *far) {
- flt a, tx1, tx2, ty1, ty2, tz1, tz2;
- flt tnear, tfar;
-
- tnear= -FHUGE;
- tfar= FHUGE;
-
- if (ry->d.x == 0.0) {
- if ((ry->o.x < g->min.x) || (ry->o.x > g->max.x)) return 0;
- }
- else {
- tx1 = (g->min.x - ry->o.x) / ry->d.x;
- tx2 = (g->max.x - ry->o.x) / ry->d.x;
- if (tx1 > tx2) { a=tx1; tx1=tx2; tx2=a; }
- if (tx1 > tnear) tnear=tx1;
- if (tx2 < tfar) tfar=tx2;
- }
- if (tnear > tfar) return 0;
- if (tfar < 0.0) return 0;
-
- if (ry->d.y == 0.0) {
- if ((ry->o.y < g->min.y) || (ry->o.y > g->max.y)) return 0;
- }
- else {
- ty1 = (g->min.y - ry->o.y) / ry->d.y;
- ty2 = (g->max.y - ry->o.y) / ry->d.y;
- if (ty1 > ty2) { a=ty1; ty1=ty2; ty2=a; }
- if (ty1 > tnear) tnear=ty1;
- if (ty2 < tfar) tfar=ty2;
- }
- if (tnear > tfar) return 0;
- if (tfar < 0.0) return 0;
-
- if (ry->d.z == 0.0) {
- if ((ry->o.z < g->min.z) || (ry->o.z > g->max.z)) return 0;
- }
- else {
- tz1 = (g->min.z - ry->o.z) / ry->d.z;
- tz2 = (g->max.z - ry->o.z) / ry->d.z;
- if (tz1 > tz2) { a=tz1; tz1=tz2; tz2=a; }
- if (tz1 > tnear) tnear=tz1;
- if (tz2 < tfar) tfar=tz2;
- }
- if (tnear > tfar) return 0;
- if (tfar < 0.0) return 0;
-
- *near = tnear;
- *far = tfar;
- return 1;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * grid.h - spatial subdivision efficiency structures
- *
- * $Id: grid.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- *
- */
-
-int engrid_scene(object ** list);
-object * newgrid(int xsize, int ysize, int zsize, vector min, vector max);
-
-#ifdef GRID_PRIVATE
-
-typedef struct objectlist {
- struct objectlist * next; /* next link in the list */
- object * obj; /* the actual object */
-} objectlist;
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- int xsize; /* number of cells along the X direction */
- int ysize; /* number of cells along the Y direction */
- int zsize; /* number of cells along the Z direction */
- vector min; /* the minimum coords for the box containing the grid */
- vector max; /* the maximum coords for the box containing the grid */
- vector voxsize; /* the size of a grid cell/voxel */
- object * objects; /* all objects contained in the grid */
- objectlist ** cells; /* the grid cells themselves */
-} grid;
-
-typedef struct {
- int x; /* Voxel X address */
- int y; /* Voxel Y address */
- int z; /* Voxel Z address */
-} gridindex;
-
-/*
- * Convert from voxel number along X/Y/Z to corresponding coordinate.
- */
-#define voxel2x(g,X) ((X) * (g->voxsize.x) + (g->min.x))
-#define voxel2y(g,Y) ((Y) * (g->voxsize.y) + (g->min.y))
-#define voxel2z(g,Z) ((Z) * (g->voxsize.z) + (g->min.z))
-
-/*
- * And vice-versa.
- */
-#define x2voxel(g,x) (((x) - g->min.x) / g->voxsize.x)
-#define y2voxel(g,y) (((y) - g->min.y) / g->voxsize.y)
-#define z2voxel(g,z) (((z) - g->min.z) / g->voxsize.z)
-
-
-static int grid_bbox(void * obj, vector * min, vector * max);
-static void grid_free(void * v);
-
-static int cellbound(grid *g, gridindex *index, vector * cmin, vector * cmax);
-
-void engrid_objlist(grid * g, object ** list);
-static int engrid_object(grid * g, object * obj);
-
-static int engrid_objectlist(grid * g, objectlist ** list);
-static int engrid_cell(grid *, gridindex *);
-
-static int pos2grid(grid * g, vector * pos, gridindex * index);
-static void grid_intersect(grid *, ray *);
-static void voxel_intersect(grid * g, ray * ry, int voxaddr);
-static int grid_bounds_intersect(grid * g, ray * ry, flt *near, flt *far);
-
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * imageio.c - This file deals with reading/writing image files
- *
- * $Id: imageio.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-/* For our puposes, we're interested only in the 3 byte per pixel 24 bit
- * truecolor sort of file..
- */
-
-#include <stdio.h>
-#include "machine.h"
-#include "types.h"
-#include "util.h"
-#include "imageio.h"
-#include "ppm.h" /* PPM files */
-#include "tgafile.h" /* Truevision Targa files */
-#include "jpeg.h" /* JPEG files */
-
-static
-int fakeimage(char * name, int * xres, int * yres, unsigned char ** imgdata) {
- int i, imgsize;
-
- fprintf(stderr, "Error loading image %s. Faking it.\n", name);
-
- *xres = 2;
- *yres = 2;
- imgsize = 3 * (*xres) * (*yres);
- *imgdata = (unsigned char *)rt_getmem(imgsize);
- for (i=0; i<imgsize; i++) {
- (*imgdata)[i] = 255;
- }
-
- return IMAGENOERR;
-}
-
-
-int readimage(rawimage * img) {
- int rc;
- int xres, yres;
- unsigned char * imgdata;
- char * name = img->name;
-
- if (strstr(name, ".ppm")) {
- rc = readppm(name, &xres, &yres, &imgdata);
- }
- else if (strstr(name, ".tga")) {
- rc = readtga(name, &xres, &yres, &imgdata);
- }
- else if (strstr(name, ".jpg")) {
- rc = readjpeg(name, &xres, &yres, &imgdata);
- }
- else if (strstr(name, ".gif")) {
- rc = IMAGEUNSUP;
- }
- else if (strstr(name, ".png")) {
- rc = IMAGEUNSUP;
- }
- else if (strstr(name, ".tiff")) {
- rc = IMAGEUNSUP;
- }
- else if (strstr(name, ".rgb")) {
- rc = IMAGEUNSUP;
- }
- else if (strstr(name, ".xpm")) {
- rc = IMAGEUNSUP;
- }
- else {
- rc = readppm(name, &xres, &yres, &imgdata);
- }
-
- switch (rc) {
- case IMAGEREADERR:
- fprintf(stderr, "Short read encountered while loading image %s\n", name);
- rc = IMAGENOERR; /* remap to non-fatal error */
- break;
-
- case IMAGEUNSUP:
- fprintf(stderr, "Cannot read unsupported image format for image %s\n", name);
- break;
- }
-
- /* If the image load failed, create a tiny white colored image to fake it */
- /* this allows a scene to render even when a file can't be loaded */
- if (rc != IMAGENOERR) {
- rc = fakeimage(name, &xres, &yres, &imgdata);
- }
-
- /* If we succeeded in loading the image, return it. */
- if (rc == IMAGENOERR) {
- img->xres = xres;
- img->yres = yres;
- img->bpp = 3;
- img->data = imgdata;
- }
-
- return rc;
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * imageio.h - This file deals with reading/writing image files
- *
- * $Id: imageio.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-/* For our puposes, we're interested only in the 3 byte per pixel 24 bit
- truecolor sort of file.. */
-
-#define IMAGENOERR 0 /* no error */
-#define IMAGEBADFILE 1 /* can't find or can't open the file */
-#define IMAGEUNSUP 2 /* the image file is an unsupported format */
-#define IMAGEALLOCERR 3 /* not enough remaining memory to load this image */
-#define IMAGEREADERR 4 /* failed read, short reads etc */
-
-int readimage(rawimage *);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * imap.c - This file contains code for doing image map type things.
- *
- * $Id: imap.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "imap.h"
-#include "util.h"
-#include "imageio.h"
-
-rawimage * imagelist[MAXIMGS];
-int numimages;
-
-void ResetImages(void) {
- int i;
- numimages=0;
- for (i=0; i<MAXIMGS; i++) {
- imagelist[i]=NULL;
- }
-}
-
-void LoadImage(rawimage * image) {
- if (!image->loaded) {
- readimage(image);
- image->loaded=1;
- }
-}
-
-color ImageMap(rawimage * image, flt u, flt v) {
- color col, colx, colx2;
- flt x,y, px, py;
- int x1, x2, y1, y2;
- unsigned char * ptr;
- unsigned char * ptr2;
-
- if (!image->loaded) {
- LoadImage(image);
- image->loaded=1;
- }
-
- if ((u <= 1.0) && (u >=0.0) && (v <= 1.0) && (v >= 0.0)) {
- x=(image->xres - 1.0) * u; /* floating point X location */
- y=(image->yres - 1.0) * v; /* floating point Y location */
-
- px = x - ((int) x);
- py = y - ((int) y);
-
- x1 = (int) x;
- x2 = x1 + 1;
-
- y1 = (int) y;
- y2 = y1 + 1;
-
- ptr = image->data + ((image->xres * y1) + x1) * 3;
- ptr2 = image->data + ((image->xres * y1) + x2) * 3;
-
- colx.r = (flt) ((flt)ptr[0] + px*((flt)ptr2[0] - (flt) ptr[0])) / 255.0;
- colx.g = (flt) ((flt)ptr[1] + px*((flt)ptr2[1] - (flt) ptr[1])) / 255.0;
- colx.b = (flt) ((flt)ptr[2] + px*((flt)ptr2[2] - (flt) ptr[2])) / 255.0;
-
- ptr = image->data + ((image->xres * y2) + x1) * 3;
- ptr2 = image->data + ((image->xres * y2) + x2) * 3;
-
- colx2.r = ((flt)ptr[0] + px*((flt)ptr2[0] - (flt)ptr[0])) / 255.0;
- colx2.g = ((flt)ptr[1] + px*((flt)ptr2[1] - (flt)ptr[1])) / 255.0;
- colx2.b = ((flt)ptr[2] + px*((flt)ptr2[2] - (flt)ptr[2])) / 255.0;
-
- col.r = colx.r + py*(colx2.r - colx.r);
- col.g = colx.g + py*(colx2.g - colx.g);
- col.b = colx.b + py*(colx2.b - colx.b);
-
- }
- else {
- col.r=0.0;
- col.g=0.0;
- col.b=0.0;
- }
- return col;
-}
-
-rawimage * AllocateImage(char * filename) {
- rawimage * newimage = NULL;
- int i, len, intable;
-
- intable=0;
- if (numimages!=0) {
- for (i=0; i<numimages; i++) {
- if (!strcmp(filename, imagelist[i]->name)) {
- newimage=imagelist[i];
- intable=1;
- }
- }
- }
-
- if (!intable) {
- newimage=(rawimage *)rt_getmem(sizeof(rawimage));
- newimage->loaded=0;
- newimage->xres=0;
- newimage->yres=0;
- newimage->bpp=0;
- newimage->data=NULL;
- len=strlen(filename);
- if (len > 80) rtbomb("Filename too long in image map!!");
- strcpy(newimage->name, filename);
-
- imagelist[numimages]=newimage; /* add new one to the table */
- numimages++; /* increment the number of images */
- }
-
- return newimage;
-}
-
-void DeallocateImage(rawimage * image) {
- image->loaded=0;
- rt_freemem(image->data);
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * imap.h - This file contains defines etc for doing image map type things.
- *
- * $Id: imap.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-void ResetImage(void);
-void LoadImage(rawimage *);
-color ImageMap(rawimage *, flt, flt);
-rawimage * AllocateImage(char *);
-void DeallocateImage(rawimage *);
-void ResetImages(void);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * intersect.c - This file contains code for CSG and intersection routines.
- *
- * $Id: intersect.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "intersect.h"
-#include "light.h"
-#include "util.h"
-#include "global.h"
-
-unsigned int new_objectid(void) {
- return numobjects++; /* global used to generate unique object ID's */
-}
-
-unsigned int max_objectid(void) {
- return numobjects;
-}
-
-void add_object(object * obj) {
- object * objtemp;
-
- if (obj == NULL)
- return;
-
- obj->id = new_objectid();
-
- objtemp = rootobj;
- rootobj = obj;
- obj->nextobj = objtemp;
-}
-
-void free_objects(object * start) {
- object * cur;
- object * cur2;
-
- cur=start;
- while (cur->nextobj != NULL) {
- cur2=(object *)cur->nextobj;
- cur->methods->free(cur);
- cur=cur2;
- }
- free(cur);
-
-}
-
-void reset_object(void) {
- if (rootobj != NULL)
- free_objects(rootobj);
-
- rootobj = NULL;
- numobjects = 0; /* set number of objects back to 0 */
-}
-
-void intersect_objects(ray * intray) {
- object * cur;
- object temp;
-
- temp.nextobj = rootobj; /* setup the initial object pointers.. */
- cur = &temp; /* ready, set */
-
- while ((cur=(object *)cur->nextobj) != NULL)
- cur->methods->intersect(cur, intray);
-}
-
-void reset_intersection(intersectstruct * intstruct) {
- intstruct->num = 0;
- intstruct->list[0].t = FHUGE;
- intstruct->list[0].obj = NULL;
- intstruct->list[1].t = FHUGE;
- intstruct->list[1].obj = NULL;
-}
-
-void add_intersection(flt t, object * obj, ray * ry) {
- intersectstruct * intstruct = ry->intstruct;
-
- if (t > EPSILON) {
-
- /* if we hit something before maxdist update maxdist */
- if (t < ry->maxdist) {
- ry->maxdist = t;
-
- /* if we hit *anything* before maxdist, and we're firing a */
- /* shadow ray, then we are finished ray tracing the shadow */
- if (ry->flags & RT_RAY_SHADOW)
- ry->flags |= RT_RAY_FINISHED;
- }
-
- intstruct->num++;
- intstruct->list[intstruct->num].obj = obj;
- intstruct->list[intstruct->num].t = t;
- }
-}
-
-
-int closest_intersection(flt * t, object ** obj, intersectstruct * intstruct) {
- int i;
- *t=FHUGE;
-
- for (i=1; i<=intstruct->num; i++) {
- if (intstruct->list[i].t < *t) {
- *t=intstruct->list[i].t;
- *obj=intstruct->list[i].obj;
- }
- }
-
- return intstruct->num;
-}
-
-int shadow_intersection(intersectstruct * intstruct, flt maxdist) {
- int i;
-
- if (intstruct->num > 0) {
- for (i=1; i<=intstruct->num; i++) {
- if ((intstruct->list[i].t < maxdist) &&
- (intstruct->list[i].obj->tex->shadowcast == 1)) {
- return 1;
- }
- }
- }
-
- return 0;
-}
-
-
-
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * intersect.h - This file contains the declarations and defines for the
- * functions that manage intersection, bounding and CSG..
- *
- * $Id: intersect.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-unsigned int new_objectid(void);
-unsigned int max_objectid(void);
-void add_object(object *);
-void reset_object(void);
-void free_objects(object *);
-void intersect_objects(ray *);
-void reset_intersection(intersectstruct *);
-void add_intersection(flt, object *, ray *);
-int closest_intersection(flt *, object **, intersectstruct *);
-int next_intersection(object **, object *, intersectstruct *);
-int shadow_intersection(intersectstruct * intstruct, flt maxdist);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * jpeg.c - This file deals with JPEG format image files (reading/writing)
- *
- * $Id: jpeg.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-/*
- * This code requires support from the Independent JPEG Group's libjpeg.
- * For our puposes, we're interested only in the 3 byte per pixel 24 bit
- * RGB output. Probably won't implement any decent checking at this point.
- */
-
-#include <stdio.h>
-#include "machine.h"
-#include "types.h"
-#include "util.h"
-#include "imageio.h" /* error codes etc */
-#include "jpeg.h" /* the protos for this file */
-
-#if !defined(USEJPEG)
-
-int readjpeg(char * name, int * xres, int * yres, unsigned char **imgdata) {
- return IMAGEUNSUP;
-}
-
-#else
-
-#include "jpeglib.h" /* the IJG jpeg library headers */
-
-int readjpeg(char * name, int * xres, int * yres, unsigned char **imgdata) {
- FILE * ifp;
- struct jpeg_decompress_struct cinfo; /* JPEG decompression struct */
- struct jpeg_error_mgr jerr; /* JPEG Error handler */
- JSAMPROW row_pointer[1]; /* output row buffer */
- int row_stride; /* physical row width in output buf */
-
- /* open input file before doing any JPEG decompression setup */
- if ((ifp = fopen(name, "rb")) == NULL)
- return IMAGEBADFILE; /* Could not open image, return error */
-
- /*
- * Note: The Independent JPEG Group's library does not have a way
- * of returning errors without the use of setjmp/longjmp.
- * This is a problem in multi-threaded environment, since setjmp
- * and longjmp are declared thread-unsafe by many vendors currently.
- * For now, JPEG decompression errors will result in the "default"
- * error handling provided by the JPEG library, which is an error
- * message and a fatal call to exit(). I'll have to work around this
- * or find a reasonably thread-safe way of doing setjmp/longjmp..
- */
-
- cinfo.err = jpeg_std_error(&jerr); /* Set JPEG error handler to default */
-
- jpeg_create_decompress(&cinfo); /* Create decompression context */
- jpeg_stdio_src(&cinfo, ifp); /* Set input mechanism to stdio type */
- jpeg_read_header(&cinfo, TRUE); /* Read the JPEG header for info */
- jpeg_start_decompress(&cinfo); /* Prepare for actual decompression */
-
- *xres = cinfo.output_width; /* set returned image width */
- *yres = cinfo.output_height; /* set returned image height */
-
- /* Calculate the size of a row in the image */
- row_stride = cinfo.output_width * cinfo.output_components;
-
- /* Allocate the image buffer which will be returned to the ray tracer */
- *imgdata = (unsigned char *) malloc(row_stride * cinfo.output_height);
-
- /* decompress the JPEG, one scanline at a time into the buffer */
- while (cinfo.output_scanline < cinfo.output_height) {
- row_pointer[0] = &((*imgdata)[(cinfo.output_scanline)*row_stride]);
- jpeg_read_scanlines(&cinfo, row_pointer, 1);
- }
-
- jpeg_finish_decompress(&cinfo); /* Tell the JPEG library to cleanup */
- jpeg_destroy_decompress(&cinfo); /* Destroy JPEG decompression context */
-
- fclose(ifp); /* Close the input file */
-
- return IMAGENOERR; /* No fatal errors */
-}
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * jpeg.h - This file deals with JPEG format image files (reading/writing)
- *
- * $Id: jpeg.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-int readjpeg(char * name, int * xres, int * yres, unsigned char **imgdata);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * light.c - This file contains declarations and defines for light sources.
- *
- * $Id: light.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-#define LIGHT_PRIVATE
-#include "light.h"
-
-static object_methods light_methods = {
- (void (*)(void *, void *))(light_intersect),
- (void (*)(void *, void *, void *, void *))(light_normal),
- light_bbox,
- free
-};
-
-point_light * newlight(void * tex, vector ctr, flt rad) {
- point_light * l;
-
- l=(point_light *) rt_getmem(sizeof(point_light));
- memset(l, 0, sizeof(point_light));
- l->methods = &light_methods;
-
- l->tex=(texture *)tex;
- l->ctr=ctr;
- l->rad=rad;
-
- return l;
-}
-
-static int light_bbox(void * obj, vector * min, vector * max) {
- return 0; /* lights are unbounded currently */
-}
-
-static void light_intersect(point_light * l, ray * ry) {
- flt b, disc, t1, t2, temp;
- vector V;
-
- /* Lights do not cast shadows.. */
- if (ry->flags & RT_RAY_SHADOW)
- return;
-
- VSUB(l->ctr, ry->o, V);
- VDOT(b, V, ry->d);
- VDOT(temp, V, V);
-
- disc=b*b + l->rad*l->rad - temp;
-
- if (disc<=0.0) return;
- disc=sqrt(disc);
-
- t2=b+disc;
- if (t2 <= SPEPSILON)
- return;
- add_intersection(t2, (object *) l, ry);
-
- t1=b-disc;
- if (t1 > SPEPSILON)
- add_intersection(t1, (object *) l, ry);
-}
-
-static void light_normal(point_light * l, vector * pnt, ray * incident, vector * N) {
- VSub((vector *) pnt, &(l->ctr), N);
-
- VNorm(N);
-
- if (VDot(N, &(incident->d)) > 0.0) {
- N->x=-N->x;
- N->y=-N->y;
- N->z=-N->z;
- }
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * light.h - this file includes declarations and defines for light sources.
- *
- * $Id: light.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector ctr;
- flt rad;
-} point_light;
-
-point_light * newlight(void *, vector, flt);
-
-#ifdef LIGHT_PRIVATE
-static int light_bbox(void * obj, vector * min, vector * max);
-static void light_intersect(point_light *, ray *);
-static void light_normal(point_light *, vector *, ray *, vector *);
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * machine.h - This is the machine specific include file
- *
- * $Id: machine.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include <stdio.h>
-#include <cstdlib>
-#include <string.h>
-#include <math.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-using namespace std;
-
-#define STDTIME
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * macros.h - This file contains macro versions of functions that would be best
- * used as inlined code rather than function calls.
- *
- * $Id: macros.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#define MYMAX(a , b) ((a) > (b) ? (a) : (b))
-#define MYMIN(a , b) ((a) < (b) ? (a) : (b))
-
-#define VDOT(return, a, b) \
- return=(a.x * b.x + a.y * b.y + a.z * b.z); \
-
-#define RAYPNT(c, a, b) \
-c.x = a.o.x + ( a.d.x * b ); \
-c.y = a.o.y + ( a.d.y * b ); \
-c.z = a.o.z + ( a.d.z * b ); \
-
-
-#define VSUB(a, b, c) \
-c.x = (a.x - b.x); \
-c.y = (a.y - b.y); \
-c.z = (a.z - b.z); \
-
-
-#define VCROSS(a, b, c) \
- c->x = (a->y * b->z) - (a->z * b->y); \
- c->y = (a->z * b->x) - (a->x * b->z); \
- c->z = (a->x * b->y) - (a->y * b->x); \
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * objbound.c - This file contains the functions to find bounding boxes
- * for the various primitives
- *
- * $Id: objbound.cpp,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "bndbox.h"
-
-#define OBJBOUND_PRIVATE
-#include "objbound.h"
-
-static void globalbound(object ** rootlist, vector * gmin, vector * gmax) {
- vector min, max;
- object * cur;
-
- if (*rootlist == NULL) /* don't bound non-existant objects */
- return;
-
- gmin->x = FHUGE; gmin->y = FHUGE; gmin->z = FHUGE;
- gmax->x = -FHUGE; gmax->y = -FHUGE; gmax->z = -FHUGE;
-
- cur=*rootlist;
- while (cur != NULL) { /* Go! */
- min.x = -FHUGE; min.y = -FHUGE; min.z = -FHUGE;
- max.x = FHUGE; max.y = FHUGE; max.z = FHUGE;
-
- cur->methods->bbox((void *) cur, &min, &max);
-
- gmin->x = MYMIN( gmin->x , min.x);
- gmin->y = MYMIN( gmin->y , min.y);
- gmin->z = MYMIN( gmin->z , min.z);
-
- gmax->x = MYMAX( gmax->x , max.x);
- gmax->y = MYMAX( gmax->y , max.y);
- gmax->z = MYMAX( gmax->z , max.z);
-
- cur=(object *)cur->nextobj;
- }
-}
-
-static int objinside(object * obj, vector * min, vector * max) {
- vector omin, omax;
-
- if (obj == NULL) /* non-existant object, shouldn't get here */
- return 0;
-
- if (obj->methods->bbox((void *) obj, &omin, &omax)) {
- if ((min->x <= omin.x) && (min->y <= omin.y) && (min->z <= omin.z) &&
- (max->x >= omax.x) && (max->y >= omax.y) && (max->z >= omax.z)) {
- return 1;
- }
- }
- return 0;
-}
-
-static int countobj(object * root) {
- object * cur; /* counts the number of objects on a list */
- int numobj;
-
- numobj=0;
- cur=root;
-
- while (cur != NULL) {
- cur=(object *)cur->nextobj;
- numobj++;
- }
- return numobj;
-}
-
-static void movenextobj(object * thisobj, object ** root) {
- object * cur, * tmp;
-
- /* move the object after thisobj to the front of the object list */
- /* headed by root */
- if (thisobj != NULL) {
- if (thisobj->nextobj != NULL) {
- cur=(object *)thisobj->nextobj; /* the object to be moved */
- thisobj->nextobj = cur->nextobj; /* link around the moved obj */
- tmp=*root; /* store the root node */
- cur->nextobj=tmp; /* attach root to cur */
- *root=cur; /* make cur, the new root */
- }
- }
-}
-
-static void octreespace(object ** rootlist, int maxoctnodes) {
- object * cur;
- vector gmin, gmax, gctr;
- vector cmin1, cmin2, cmin3, cmin4, cmin5, cmin6, cmin7, cmin8;
- vector cmax1, cmax2, cmax3, cmax4, cmax5, cmax6, cmax7, cmax8;
- bndbox * box1, * box2, * box3, * box4;
- bndbox * box5, * box6, * box7, * box8;
- int skipobj;
-
- if (*rootlist == NULL) /* don't subdivide non-existant data */
- return;
-
- skipobj=0;
- globalbound(rootlist, &gmin, &gmax); /* find global min and max */
-
- gctr.x = ((gmax.x - gmin.x) / 2.0) + gmin.x;
- gctr.y = ((gmax.y - gmin.y) / 2.0) + gmin.y;
- gctr.z = ((gmax.z - gmin.z) / 2.0) + gmin.z;
-
- cmin1=gmin;
- cmax1=gctr;
- box1 = newbndbox(cmin1, cmax1);
-
- cmin2=gmin;
- cmin2.x=gctr.x;
- cmax2=gmax;
- cmax2.y=gctr.y;
- cmax2.z=gctr.z;
- box2 = newbndbox(cmin2, cmax2);
-
- cmin3=gmin;
- cmin3.y=gctr.y;
- cmax3=gmax;
- cmax3.x=gctr.x;
- cmax3.z=gctr.z;
- box3 = newbndbox(cmin3, cmax3);
-
- cmin4=gmin;
- cmin4.x=gctr.x;
- cmin4.y=gctr.y;
- cmax4=gmax;
- cmax4.z=gctr.z;
- box4 = newbndbox(cmin4, cmax4);
-
- cmin5=gmin;
- cmin5.z=gctr.z;
- cmax5=gctr;
- cmax5.z=gmax.z;
- box5 = newbndbox(cmin5, cmax5);
-
- cmin6=gctr;
- cmin6.y=gmin.y;
- cmax6=gmax;
- cmax6.y=gctr.y;
- box6 = newbndbox(cmin6, cmax6);
-
- cmin7=gctr;
- cmin7.x=gmin.x;
- cmax7=gctr;
- cmax7.y=gmax.y;
- cmax7.z=gmax.z;
- box7 = newbndbox(cmin7, cmax7);
-
- cmin8=gctr;
- cmax8=gmax;
- box8 = newbndbox(cmin8, cmax8);
-
- cur = *rootlist;
- while (cur != NULL) {
- if (objinside((object *)cur->nextobj, &cmin1, &cmax1)) {
- movenextobj(cur, &box1->objlist);
- }
- else if (objinside((object *)cur->nextobj, &cmin2, &cmax2)) {
- movenextobj(cur, &box2->objlist);
- }
- else if (objinside((object *)cur->nextobj, &cmin3, &cmax3)) {
- movenextobj(cur, &box3->objlist);
- }
- else if (objinside((object *)cur->nextobj, &cmin4, &cmax4)) {
- movenextobj(cur, &box4->objlist);
- }
- else if (objinside((object *)cur->nextobj, &cmin5, &cmax5)) {
- movenextobj(cur, &box5->objlist);
- }
- else if (objinside((object *)cur->nextobj, &cmin6, &cmax6)) {
- movenextobj(cur, &box6->objlist);
- }
- else if (objinside((object *)cur->nextobj, &cmin7, &cmax7)) {
- movenextobj(cur, &box7->objlist);
- }
- else if (objinside((object *)cur->nextobj, &cmin8, &cmax8)) {
- movenextobj(cur, &box8->objlist);
- }
- else {
- skipobj++;
- cur=(object *)cur->nextobj;
- }
- }
-
-/* new scope, for redefinition of cur, and old */
- { bndbox * cur, * old;
- old=box1;
- cur=box2;
- if (countobj(cur->objlist) > 0) {
- old->nextobj=cur;
- globalbound(&cur->objlist, &cur->min, &cur->max);
- old=cur;
- }
- cur=box3;
- if (countobj(cur->objlist) > 0) {
- old->nextobj=cur;
- globalbound(&cur->objlist, &cur->min, &cur->max);
- old=cur;
- }
- cur=box4;
- if (countobj(cur->objlist) > 0) {
- old->nextobj=cur;
- globalbound(&cur->objlist, &cur->min, &cur->max);
- old=cur;
- }
- cur=box5;
- if (countobj(cur->objlist) > 0) {
- old->nextobj=cur;
- globalbound(&cur->objlist, &cur->min, &cur->max);
- old=cur;
- }
- cur=box6;
- if (countobj(cur->objlist) > 0) {
- old->nextobj=cur;
- globalbound(&cur->objlist, &cur->min, &cur->max);
- old=cur;
- }
- cur=box7;
- if (countobj(cur->objlist) > 0) {
- old->nextobj=cur;
- globalbound(&cur->objlist, &cur->min, &cur->max);
- old=cur;
- }
- cur=box8;
- if (countobj(cur->objlist) > 0) {
- old->nextobj=cur;
- globalbound(&cur->objlist, &cur->min, &cur->max);
- old=cur;
- }
-
- old->nextobj=*rootlist;
-
- if (countobj(box1->objlist) > 0) {
- globalbound(&box1->objlist, &box1->min, &box1->max);
- *rootlist=(object *) box1;
- }
- else {
- *rootlist=(object *) box1->nextobj;
- }
-
- } /**** end of special cur and old scope */
-
- if (countobj(box1->objlist) > maxoctnodes) {
- octreespace(&box1->objlist, maxoctnodes);
- }
- if (countobj(box2->objlist) > maxoctnodes) {
- octreespace(&box2->objlist, maxoctnodes);
- }
- if (countobj(box3->objlist) > maxoctnodes) {
- octreespace(&box3->objlist, maxoctnodes);
- }
- if (countobj(box4->objlist) > maxoctnodes) {
- octreespace(&box4->objlist, maxoctnodes);
- }
- if (countobj(box5->objlist) > maxoctnodes) {
- octreespace(&box5->objlist, maxoctnodes);
- }
- if (countobj(box6->objlist) > maxoctnodes) {
- octreespace(&box6->objlist, maxoctnodes);
- }
- if (countobj(box7->objlist) > maxoctnodes) {
- octreespace(&box7->objlist, maxoctnodes);
- }
- if (countobj(box8->objlist) > maxoctnodes) {
- octreespace(&box8->objlist, maxoctnodes);
- }
-}
-
-void dividespace(int maxoctnodes, object **toplist) {
- bndbox * gbox;
- vector gmin, gmax;
-
- if (countobj(*toplist) > maxoctnodes) {
- globalbound(toplist, &gmin, &gmax);
-
- octreespace(toplist, maxoctnodes);
-
- gbox = newbndbox(gmin, gmax);
- gbox->objlist = NULL;
- gbox->tex = NULL;
- gbox->nextobj=NULL;
- gbox->objlist=*toplist;
- *toplist=(object *) gbox;
- }
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * objbound.h - defines for object bounding code.
- *
- * $Id: objbound.h,v 1.2 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-void dividespace(int, object **);
-
-#ifdef OBJBOUND_PRIVATE
-
-static void globalbound(object **, vector *, vector *);
-static int objinside(object * obj, vector * min, vector * max);
-static int countobj(object *);
-static void movenextobj(object *, object **);
-static void octreespace(object **, int);
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * parse.c - an UltraLame (tm) parser for simple data files...
- *
- * $Id: parse.cpp,v 1.3 2007-02-22 17:54:15 dpoulsen Exp $
- */
-
-#include <stdio.h>
-#include <math.h>
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h> /* needed for toupper(), macro.. */
-
-#include "types.h"
-#include "api.h" /* rendering API */
-
-#define PARSE_INTERNAL
-#include "parse.h" /* self protos */
-#undef PARSE_INTERNAL
-
-static texentry textable[NUMTEXS]; /* texture lookup table */
-static texentry defaulttex; /* The default texture when a lookup fails */
-static int numtextures; /* number of TEXDEF textures */
-static int numobjectsparsed; /* total number of objects parsed so far */
-static color scenebackcol; /* scene background color */
-
-static int stringcmp(const char * a, const char * b) {
- int i, s, l;
-
- s=strlen(a);
- l=strlen(b);
-
- if (s != l)
- return 1;
-
- for (i=0; i<s; i++) {
- if (toupper(a[i]) != toupper(b[i])) {
- return 1;
- }
- }
- return 0;
-}
-
-static void reset_tex_table(void) {
- apitexture apitex;
-
- numtextures=0;
- memset(&textable, 0, sizeof(textable));
-
- apitex.col.r=1.0;
- apitex.col.g=1.0;
- apitex.col.b=1.0;
- apitex.ambient=0.1;
- apitex.diffuse=0.9;
- apitex.specular=0.0;
- apitex.opacity=1.0;
- apitex.texturefunc=0;
-
- defaulttex.tex=rt_texture(&apitex);
-}
-
-static errcode add_texture(void * tex, char name[TEXNAMELEN]) {
- textable[numtextures].tex=tex;
- strcpy(textable[numtextures].name, name);
-
- numtextures++;
- if (numtextures > NUMTEXS) {
- fprintf(stderr, "Parse: %d textures allocated, texture slots full!\n", numtextures);
- numtextures--; /* keep writing over last texture if we've run out.. */
- return PARSEALLOCERR;
- }
-
- return PARSENOERR;
-}
-
-static void * find_texture(char name[TEXNAMELEN]) {
- int i;
-
- for (i=0; i<numtextures; i++) {
- if (strcmp(name, textable[i].name) == 0)
- return textable[i].tex;
- }
- fprintf(stderr, "Undefined texture '%s', using default. \n",name);
- return(defaulttex.tex);
-}
-
-apiflt degtorad(apiflt deg) {
- apiflt tmp;
- tmp=deg * 3.1415926 / 180.0;
- return tmp;
-}
-
-static void degvectoradvec(vector * degvec) {
- vector tmp;
-
- tmp.x=degtorad(degvec->x);
- tmp.y=degtorad(degvec->y);
- tmp.z=degtorad(degvec->z);
- *degvec=tmp;
-}
-
-static void InitRot3d(RotMat * rot, apiflt x, apiflt y, apiflt z) {
- rot->rx1=cos(y)*cos(z);
- rot->rx2=sin(x)*sin(y)*cos(z) - cos(x)*sin(z);
- rot->rx3=sin(x)*sin(z) + cos(x)*cos(z)*sin(y);
-
- rot->ry1=cos(y)*sin(z);
- rot->ry2=cos(x)*cos(z) + sin(x)*sin(y)*sin(z);
- rot->ry3=cos(x)*sin(y)*sin(z) - sin(x)*cos(z);
-
- rot->rz1=sin(y);
- rot->rz2=sin(x)*cos(y);
- rot->rz3=cos(x)*cos(y);
-}
-
-static void Rotate3d(RotMat * rot, vector * vec) {
- vector tmp;
- tmp.x=(vec->x*(rot->rx1) + vec->y*(rot->rx2) + vec->z*(rot->rx3));
- tmp.y=(vec->x*(rot->ry1) + vec->y*(rot->ry2) + vec->z*(rot->ry3));
- tmp.z=(vec->x*(rot->rz1) + vec->y*(rot->rz2) + vec->z*(rot->rz3));
- *vec=tmp;
-}
-
-static void Scale3d(vector * scale, vector * vec) {
- vec->x=vec->x * scale->x;
- vec->y=vec->y * scale->y;
- vec->z=vec->z * scale->z;
-}
-
-static void Trans3d(vector * trans, vector * vec) {
- vec->x+=trans->x;
- vec->y+=trans->y;
- vec->z+=trans->z;
-}
-
-static errcode GetString(FILE * dfile, const char * string) {
- char data[255];
-
- fscanf(dfile,"%s",data);
- if (stringcmp(data, string) != 0) {
- fprintf(stderr, "parse: Expected %s, got %s \n",string, data);
- fprintf(stderr, "parse: Error while parsing object: %d \n",numobjectsparsed);
- return PARSEBADSYNTAX;
- }
-
- return PARSENOERR;
-}
-
-unsigned int readmodel(char * modelfile, SceneHandle scene) {
- FILE * dfile;
- errcode rc;
-
- reset_tex_table();
- dfile=NULL;
-
- dfile=fopen(modelfile,"r");
- if (dfile==NULL) {
- return PARSEBADFILE;
- }
-
- rc = GetScenedefs(dfile, scene);
- if (rc != PARSENOERR)
- return rc;
-
- scenebackcol.r = 0.0; /* default background is black */
- scenebackcol.g = 0.0;
- scenebackcol.b = 0.0;
-
- numobjectsparsed=0;
- while ((rc = GetObject(dfile, scene)) == PARSENOERR) {
- numobjectsparsed++;
- }
- fclose(dfile);
-
- if (rc == PARSEEOF)
- rc = PARSENOERR;
-
- rt_background(scene, scenebackcol);
-
- return rc;
-}
-
-
-static errcode GetScenedefs(FILE * dfile, SceneHandle scene) {
- vector Ccenter, Cview, Cup;
- apiflt zoom, aspectratio;
- int raydepth, antialiasing;
- char outfilename[200];
- int xres, yres, verbose;
- float a,b,c;
- errcode rc = PARSENOERR;
-
- rc |= GetString(dfile, "BEGIN_SCENE");
-
- rc |= GetString(dfile, "OUTFILE");
- fscanf(dfile, "%s", outfilename);
-#ifdef _WIN32
- if (strcmp (outfilename, "/dev/null") == 0) {
- strcpy (outfilename, "NUL:");
- }
-#endif
-
- rc |= GetString(dfile, "RESOLUTION");
- fscanf(dfile, "%d %d", &xres, &yres);
-
- rc |= GetString(dfile, "VERBOSE");
- fscanf(dfile, "%d", &verbose);
-
- rt_scenesetup(scene, outfilename, xres, yres, verbose);
-
- rc |= GetString(dfile, "CAMERA");
-
- rc |= GetString(dfile, "ZOOM");
- fscanf(dfile, "%f", &a);
- zoom=a;
-
- rc |= GetString(dfile, "ASPECTRATIO");
- fscanf(dfile, "%f", &b);
- aspectratio=b;
-
- rc |= GetString(dfile, "ANTIALIASING");
- fscanf(dfile, "%d", &antialiasing);
-
- rc |= GetString(dfile, "RAYDEPTH");
- fscanf(dfile, "%d", &raydepth);
-
- rc |= GetString(dfile, "CENTER");
- fscanf(dfile,"%f %f %f", &a, &b, &c);
- Ccenter.x = a;
- Ccenter.y = b;
- Ccenter.z = c;
-
- rc |= GetString(dfile, "VIEWDIR");
- fscanf(dfile,"%f %f %f", &a, &b, &c);
- Cview.x = a;
- Cview.y = b;
- Cview.z = c;
-
- rc |= GetString(dfile, "UPDIR");
- fscanf(dfile,"%f %f %f", &a, &b, &c);
- Cup.x = a;
- Cup.y = b;
- Cup.z = c;
-
- rc |= GetString(dfile, "END_CAMERA");
-
- rt_camerasetup(scene, zoom, aspectratio, antialiasing, raydepth,
- Ccenter, Cview, Cup);
-
-
- return rc;
-}
-
-static errcode GetObject(FILE * dfile, SceneHandle scene) {
- char objtype[80];
-
- fscanf(dfile, "%s", objtype);
- if (!stringcmp(objtype, "END_SCENE")) {
- return PARSEEOF; /* end parsing */
- }
- if (!stringcmp(objtype, "TEXDEF")) {
- return GetTexDef(dfile);
- }
- if (!stringcmp(objtype, "TEXALIAS")) {
- return GetTexAlias(dfile);
- }
- if (!stringcmp(objtype, "BACKGROUND")) {
- return GetBackGnd(dfile);
- }
- if (!stringcmp(objtype, "CYLINDER")) {
- return GetCylinder(dfile);
- }
- if (!stringcmp(objtype, "FCYLINDER")) {
- return GetFCylinder(dfile);
- }
- if (!stringcmp(objtype, "POLYCYLINDER")) {
- return GetPolyCylinder(dfile);
- }
- if (!stringcmp(objtype, "SPHERE")) {
- return GetSphere(dfile);
- }
- if (!stringcmp(objtype, "PLANE")) {
- return GetPlane(dfile);
- }
- if (!stringcmp(objtype, "RING")) {
- return GetRing(dfile);
- }
- if (!stringcmp(objtype, "BOX")) {
- return GetBox(dfile);
- }
- if (!stringcmp(objtype, "SCALARVOL")) {
- return GetVol(dfile);
- }
- if (!stringcmp(objtype, "TRI")) {
- return GetTri(dfile);
- }
- if (!stringcmp(objtype, "STRI")) {
- return GetSTri(dfile);
- }
- if (!stringcmp(objtype, "LIGHT")) {
- return GetLight(dfile);
- }
- if (!stringcmp(objtype, "SCAPE")) {
- return GetLandScape(dfile);
- }
- if (!stringcmp(objtype, "TPOLYFILE")) {
- return GetTPolyFile(dfile);
- }
-
- fprintf(stderr, "Found bad token: %s expected an object type\n", objtype);
- return PARSEBADSYNTAX;
-}
-
-static errcode GetVector(FILE * dfile, vector * v1) {
- float a, b, c;
-
- fscanf(dfile, "%f %f %f", &a, &b, &c);
- v1->x=a;
- v1->y=b;
- v1->z=c;
-
- return PARSENOERR;
-}
-
-static errcode GetColor(FILE * dfile, color * c1) {
- float r, g, b;
- int rc;
-
- rc = GetString(dfile, "COLOR");
- fscanf(dfile, "%f %f %f", &r, &g, &b);
- c1->r=r;
- c1->g=g;
- c1->b=b;
-
- return rc;
-}
-
-static errcode GetTexDef(FILE * dfile) {
- char texname[TEXNAMELEN];
-
- fscanf(dfile, "%s", texname);
- add_texture(GetTexBody(dfile), texname);
-
- return PARSENOERR;
-}
-
-static errcode GetTexAlias(FILE * dfile) {
- char texname[TEXNAMELEN];
- char aliasname[TEXNAMELEN];
-
- fscanf(dfile, "%s", texname);
- fscanf(dfile, "%s", aliasname);
- add_texture(find_texture(aliasname), texname);
-
- return PARSENOERR;
-}
-
-
-static errcode GetTexture(FILE * dfile, void ** tex) {
- char tmp[255];
- errcode rc = PARSENOERR;
-
- fscanf(dfile, "%s", tmp);
- if (!stringcmp("TEXTURE", tmp)) {
- *tex = GetTexBody(dfile);
- }
- else
- *tex = find_texture(tmp);
-
- return rc;
-}
-
-void * GetTexBody(FILE * dfile) {
- char tmp[255];
- float a,b,c,d, phong, phongexp, phongtype;
- apitexture tex;
- void * voidtex;
- errcode rc;
-
- rc = GetString(dfile, "AMBIENT");
- fscanf(dfile, "%f", &a);
- tex.ambient=a;
-
- rc |= GetString(dfile, "DIFFUSE");
- fscanf(dfile, "%f", &b);
- tex.diffuse=b;
-
- rc |= GetString(dfile, "SPECULAR");
- fscanf(dfile, "%f", &c);
- tex.specular=c;
-
- rc |= GetString(dfile, "OPACITY");
- fscanf(dfile, "%f", &d);
- tex.opacity=d;
-
- fscanf(dfile, "%s", tmp);
- if (!stringcmp("PHONG", tmp)) {
- fscanf(dfile, "%s", tmp);
- if (!stringcmp("METAL", tmp)) {
- phongtype = RT_PHONG_METAL;
- }
- else if (!stringcmp("PLASTIC", tmp)) {
- phongtype = RT_PHONG_PLASTIC;
- }
- else {
- phongtype = RT_PHONG_PLASTIC;
- }
-
- fscanf(dfile, "%f", &phong);
- GetString(dfile, "PHONG_SIZE");
- fscanf(dfile, "%f", &phongexp);
- fscanf(dfile, "%s", tmp);
- }
- else {
- phong = 0.0;
- phongexp = 100.0;
- phongtype = RT_PHONG_PLASTIC;
- }
-
- fscanf(dfile, "%f %f %f", &a, &b, &c);
- tex.col.r = a;
- tex.col.g = b;
- tex.col.b = c;
-
- rc |= GetString(dfile, "TEXFUNC");
- fscanf(dfile, "%d", &tex.texturefunc);
- if (tex.texturefunc >= 7) { /* if its an image map, we need a filename */
- fscanf(dfile, "%s", tex.imap);
- }
- if (tex.texturefunc != 0) {
- rc |= GetString(dfile, "CENTER");
- rc |= GetVector(dfile, &tex.ctr);
- rc |= GetString(dfile, "ROTATE");
- rc |= GetVector(dfile, &tex.rot);
- rc |= GetString(dfile, "SCALE");
- rc |= GetVector(dfile, &tex.scale);
- }
- if (tex.texturefunc == 9) {
- rc |= GetString(dfile, "UAXIS");
- rc |= GetVector(dfile, &tex.uaxs);
- rc |= GetString(dfile, "VAXIS");
- rc |= GetVector(dfile, &tex.vaxs);
- }
-
- voidtex = rt_texture(&tex);
- rt_tex_phong(voidtex, phong, phongexp, (int) phongtype);
-
- return voidtex;
-}
-
-static errcode GetLight(FILE * dfile) {
- apiflt rad;
- vector ctr;
- apitexture tex;
- float a;
- errcode rc;
-
- memset(&tex, 0, sizeof(apitexture));
-
- rc = GetString(dfile,"CENTER");
- rc |= GetVector(dfile, &ctr);
- rc |= GetString(dfile,"RAD");
- fscanf(dfile,"%f",&a); /* read in radius */
- rad=a;
-
- rc |= GetColor(dfile, &tex.col);
-
- rt_light(rt_texture(&tex), ctr, rad);
-
- return rc;
-}
-
-static errcode GetBackGnd(FILE * dfile) {
- float r,g,b;
-
- fscanf(dfile, "%f %f %f", &r, &g, &b);
-
- scenebackcol.r=r;
- scenebackcol.g=g;
- scenebackcol.b=b;
-
- return PARSENOERR;
-}
-
-static errcode GetCylinder(FILE * dfile) {
- apiflt rad;
- vector ctr, axis;
- void * tex;
- float a;
- errcode rc;
-
- rc = GetString(dfile, "CENTER");
- rc |= GetVector(dfile, &ctr);
- rc |= GetString(dfile, "AXIS");
- rc |= GetVector(dfile, &axis);
- rc |= GetString(dfile, "RAD");
- fscanf(dfile, "%f", &a);
- rad=a;
-
- rc |= GetTexture(dfile, &tex);
- rt_cylinder(tex, ctr, axis, rad);
-
- return rc;
-}
-
-static errcode GetFCylinder(FILE * dfile) {
- apiflt rad;
- vector ctr, axis;
- vector pnt1, pnt2;
- void * tex;
- float a;
- errcode rc;
-
- rc = GetString(dfile, "BASE");
- rc |= GetVector(dfile, &pnt1);
- rc |= GetString(dfile, "APEX");
- rc |= GetVector(dfile, &pnt2);
-
- ctr=pnt1;
- axis.x=pnt2.x - pnt1.x;
- axis.y=pnt2.y - pnt1.y;
- axis.z=pnt2.z - pnt1.z;
-
- rc |= GetString(dfile, "RAD");
- fscanf(dfile, "%f", &a);
- rad=a;
-
- rc |= GetTexture(dfile, &tex);
- rt_fcylinder(tex, ctr, axis, rad);
-
- return rc;
-}
-
-static errcode GetPolyCylinder(FILE * dfile) {
- apiflt rad;
- vector * temp;
- void * tex;
- float a;
- int numpts, i;
- errcode rc;
-
- rc = GetString(dfile, "POINTS");
- fscanf(dfile, "%d", &numpts);
-
- temp = (vector *) malloc(numpts * sizeof(vector));
-
- for (i=0; i<numpts; i++) {
- rc |= GetVector(dfile, &temp[i]);
- }
-
- rc |= GetString(dfile, "RAD");
- fscanf(dfile, "%f", &a);
- rad=a;
-
- rc |= GetTexture(dfile, &tex);
- rt_polycylinder(tex, temp, numpts, rad);
-
- free(temp);
-
- return rc;
-}
-
-
-static errcode GetSphere(FILE * dfile) {
- apiflt rad;
- vector ctr;
- void * tex;
- float a;
- errcode rc;
-
- rc = GetString(dfile,"CENTER");
- rc |= GetVector(dfile, &ctr);
- rc |= GetString(dfile, "RAD");
- fscanf(dfile,"%f",&a);
- rad=a;
-
- rc |= GetTexture(dfile, &tex);
-
- rt_sphere(tex, ctr, rad);
-
- return rc;
-}
-
-static errcode GetPlane(FILE * dfile) {
- vector normal;
- vector ctr;
- void * tex;
- errcode rc;
-
- rc = GetString(dfile, "CENTER");
- rc |= GetVector(dfile, &ctr);
- rc |= GetString(dfile, "NORMAL");
- rc |= GetVector(dfile, &normal);
- rc |= GetTexture(dfile, &tex);
-
- rt_plane(tex, ctr, normal);
-
- return rc;
-}
-
-static errcode GetVol(FILE * dfile) {
- vector min, max;
- int x,y,z;
- char fname[255];
- void * tex;
- errcode rc;
-
- rc = GetString(dfile, "MIN");
- rc |= GetVector(dfile, &min);
- rc |= GetString(dfile, "MAX");
- rc |= GetVector(dfile, &max);
- rc |= GetString(dfile, "DIM");
- fscanf(dfile, "%d %d %d ", &x, &y, &z);
- rc |= GetString(dfile, "FILE");
- fscanf(dfile, "%s", fname);
- rc |= GetTexture(dfile, &tex);
-
- rt_scalarvol(tex, min, max, x, y, z, fname, NULL);
-
- return rc;
-}
-
-static errcode GetBox(FILE * dfile) {
- vector min, max;
- void * tex;
- errcode rc;
-
- rc = GetString(dfile, "MIN");
- rc |= GetVector(dfile, &min);
- rc |= GetString(dfile, "MAX");
- rc |= GetVector(dfile, &max);
- rc |= GetTexture(dfile, &tex);
-
- rt_box(tex, min, max);
-
- return rc;
-}
-
-static errcode GetRing(FILE * dfile) {
- vector normal;
- vector ctr;
- void * tex;
- float a,b;
- errcode rc;
-
- rc = GetString(dfile, "CENTER");
- rc |= GetVector(dfile, &ctr);
- rc |= GetString(dfile, "NORMAL");
- rc |= GetVector(dfile, &normal);
- rc |= GetString(dfile, "INNER");
- fscanf(dfile, " %f ", &a);
- rc |= GetString(dfile, "OUTER");
- fscanf(dfile, " %f ", &b);
- rc |= GetTexture(dfile, &tex);
-
- rt_ring(tex, ctr, normal, a, b);
-
- return rc;
-}
-
-static errcode GetTri(FILE * dfile) {
- vector v0,v1,v2;
- void * tex;
- errcode rc;
-
- rc = GetString(dfile, "V0");
- rc |= GetVector(dfile, &v0);
-
- rc |= GetString(dfile, "V1");
- rc |= GetVector(dfile, &v1);
-
- rc |= GetString(dfile, "V2");
- rc |= GetVector(dfile, &v2);
-
- rc |= GetTexture(dfile, &tex);
-
- rt_tri(tex, v0, v1, v2);
-
- return rc;
-}
-
-static errcode GetSTri(FILE * dfile) {
- vector v0,v1,v2,n0,n1,n2;
- void * tex;
- errcode rc;
-
- rc = GetString(dfile, "V0");
- rc |= GetVector(dfile, &v0);
-
- rc |= GetString(dfile, "V1");
- rc |= GetVector(dfile, &v1);
-
- rc |= GetString(dfile, "V2");
- rc |= GetVector(dfile, &v2);
-
- rc |= GetString(dfile, "N0");
- rc |= GetVector(dfile, &n0);
-
- rc |= GetString(dfile, "N1");
- rc |= GetVector(dfile, &n1);
-
- rc |= GetString(dfile, "N2");
- rc |= GetVector(dfile, &n2);
-
- rc |= GetTexture(dfile, &tex);
-
- rt_stri(tex, v0, v1, v2, n0, n1, n2);
-
- return rc;
-}
-
-static errcode GetLandScape(FILE * dfile) {
- void * tex;
- vector ctr;
- apiflt wx, wy;
- int m, n;
- float a,b;
- errcode rc;
-
- rc = GetString(dfile, "RES");
- fscanf(dfile, "%d %d", &m, &n);
-
- rc |= GetString(dfile, "SCALE");
- fscanf(dfile, "%f %f", &a, &b);
- wx=a;
- wy=b;
-
- rc |= GetString(dfile, "CENTER");
- rc |= GetVector(dfile, &ctr);
-
- rc |= GetTexture(dfile, &tex);
-
- rt_landscape(tex, m, n, ctr, wx, wy);
-
- return rc;
-}
-
-static errcode GetTPolyFile(FILE * dfile) {
- void * tex;
- vector ctr, rot, scale;
- vector v1, v2, v0;
- char ifname[255];
- FILE *ifp;
- int v, totalpolys;
- RotMat RotA;
- errcode rc;
-
- totalpolys=0;
-
- rc = GetString(dfile, "SCALE");
- rc |= GetVector(dfile, &scale);
-
- rc |= GetString(dfile, "ROT");
- rc |= GetVector(dfile, &rot);
-
- degvectoradvec(&rot);
- InitRot3d(&RotA, rot.x, rot.y, rot.z);
-
- rc |= GetString(dfile, "CENTER");
- rc |= GetVector(dfile, &ctr);
-
- rc |= GetString(dfile, "FILE");
- fscanf(dfile, "%s", ifname);
-
- rc |= GetTexture(dfile, &tex);
-
- if ((ifp=fopen(ifname, "r")) == NULL) {
- fprintf(stderr, "Can't open data file %s for input!! Aborting...\n", ifname);
- return PARSEBADSUBFILE;
- }
-
- while (!feof(ifp)) {
- fscanf(ifp, "%d", &v);
- if (v != 3) { break; }
-
- totalpolys++;
- v=0;
-
- rc |= GetVector(ifp, &v0);
- rc |= GetVector(ifp, &v1);
- rc |= GetVector(ifp, &v2);
-
- Scale3d(&scale, &v0);
- Scale3d(&scale, &v1);
- Scale3d(&scale, &v2);
-
- Rotate3d(&RotA, &v0);
- Rotate3d(&RotA, &v1);
- Rotate3d(&RotA, &v2);
-
- Trans3d(&ctr, &v0);
- Trans3d(&ctr, &v1);
- Trans3d(&ctr, &v2);
-
- rt_tri(tex, v1, v0, v2);
- }
-
- fclose(ifp);
-
- return rc;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * parse.h - this file contains defines for model file reading.
- *
- * $Id: parse.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#define PARSENOERR 0
-#define PARSEBADFILE 1
-#define PARSEBADSUBFILE 2
-#define PARSEBADSYNTAX 4
-#define PARSEEOF 8
-#define PARSEALLOCERR 16
-
-unsigned int readmodel(char *, SceneHandle);
-
-#ifdef PARSE_INTERNAL
-#define NUMTEXS 32768
-#define TEXNAMELEN 24
-
-typedef struct {
- double rx1; double rx2; double rx3;
- double ry1; double ry2; double ry3;
- double rz1; double rz2; double rz3;
-} RotMat;
-
-typedef struct {
- char name[TEXNAMELEN];
- void * tex;
-} texentry;
-
-#ifdef _ERRCODE_DEFINED
-#define errcode errcode_t
-#endif//_ERRCODE_DEFINED
-typedef unsigned int errcode;
-
-static errcode add_texture(void * tex, char name[TEXNAMELEN]);
-static errcode GetString(FILE *, const char *);
-static errcode GetScenedefs(FILE *, SceneHandle);
-static errcode GetColor(FILE *, color *);
-static errcode GetVector(FILE *, vector *);
-static errcode GetTexDef(FILE *);
-static errcode GetTexAlias(FILE *);
-static errcode GetTexture(FILE *, void **);
-void * GetTexBody(FILE *);
-static errcode GetBackGnd(FILE *);
-static errcode GetCylinder(FILE *);
-static errcode GetFCylinder(FILE *);
-static errcode GetPolyCylinder(FILE *);
-static errcode GetSphere(FILE *);
-static errcode GetPlane(FILE *);
-static errcode GetRing(FILE *);
-static errcode GetBox(FILE *);
-static errcode GetVol(FILE *);
-static errcode GetTri(FILE *);
-static errcode GetSTri(FILE *);
-static errcode GetLight(FILE *);
-static errcode GetLandScape(FILE *);
-static errcode GetTPolyFile(FILE *);
-static errcode GetMGFFile(FILE *, SceneHandle);
-static errcode GetObject(FILE *, SceneHandle);
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * plane.c - This file contains the functions for dealing with planes.
- *
- * $Id: plane.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-#define PLANE_PRIVATE
-#include "plane.h"
-
-static object_methods plane_methods = {
- (void (*)(void *, void *))(plane_intersect),
- (void (*)(void *, void *, void *, void *))(plane_normal),
- plane_bbox,
- free
-};
-
-object * newplane(void * tex, vector ctr, vector norm) {
- plane * p;
-
- p=(plane *) rt_getmem(sizeof(plane));
- memset(p, 0, sizeof(plane));
- p->methods = &plane_methods;
-
- p->tex = (texture *)tex;
- p->norm = norm;
- VNorm(&p->norm);
- p->d = -VDot(&ctr, &p->norm);
-
- return (object *) p;
-}
-
-static int plane_bbox(void * obj, vector * min, vector * max) {
- return 0;
-}
-
-static void plane_intersect(plane * pln, ray * ry) {
- flt t,td;
-
- t=-(pln->d + VDot(&pln->norm, &ry->o));
- td=VDot(&pln->norm, &ry->d);
- if (td != 0.0) {
- t /= td;
- if (t > 0.0)
- add_intersection(t,(object *) pln, ry);
- }
-}
-
-static void plane_normal(plane * pln, vector * pnt, ray * incident, vector * N) {
- *N=pln->norm;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * plane.h - This file contains the defines for planes etc.
- *
- * $Id: plane.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-
-object * newplane(void * tex, vector ctr, vector norm);
-
-#ifdef PLANE_PRIVATE
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- flt d;
- vector norm;
-} plane;
-
-static void plane_intersect(plane *, ray *);
-static int plane_bbox(void * obj, vector * min, vector * max);
-static void plane_normal(plane *, vector *, ray * incident, vector *);
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * ppm.c - This file deals with PPM format image files (reading/writing)
- *
- * $Id: ppm.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-/* For our puposes, we're interested only in the 3 byte per pixel 24 bit
- truecolor sort of file.. Probably won't implement any decent checking
- at this point, probably choke on things like the # comments.. */
-
-#include <stdio.h>
-#include "machine.h"
-#include "types.h"
-#include "util.h"
-#include "imageio.h" /* error codes etc */
-#include "ppm.h"
-
-static int getint(FILE * dfile) {
- char ch[200];
- int i;
- int num;
-
- num=0;
- while (num==0) {
- fscanf(dfile, "%s", ch);
- while (ch[0]=='#') {
- fgets(ch, 200, dfile);
- }
- num=sscanf(ch, "%d", &i);
- }
- return i;
-}
-
-int readppm(char * name, int * xres, int * yres, unsigned char **imgdata) {
- char data[200];
- FILE * ifp;
- int i, bytesread;
- int datasize;
-
- ifp=fopen(name, "r");
- if (ifp==NULL) {
- return IMAGEBADFILE; /* couldn't open the file */
- }
- fscanf(ifp, "%s", data);
-
- if (strcmp(data, "P6")) {
- fclose(ifp);
- return IMAGEUNSUP; /* not a format we support */
- }
-
- *xres=getint(ifp);
- *yres=getint(ifp);
- i=getint(ifp); /* eat the maxval number */
- fread(&i, 1, 1, ifp); /* eat the newline */
- datasize = 3 * (*xres) * (*yres);
-
- *imgdata=(unsigned char *)rt_getmem(datasize);
-
- bytesread=fread(*imgdata, 1, datasize, ifp);
-
- fclose(ifp);
-
- if (bytesread != datasize)
- return IMAGEREADERR;
-
- return IMAGENOERR;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * ppm.h - This file deals with PPM format image files (reading/writing)
- *
- * $Id: ppm.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-/* For our puposes, we're interested only in the 3 byte per pixel 24 bit
- truecolor sort of file.. Probably won't implement any decent checking
- at this point, probably choke on things like the # comments.. */
-
-int readppm(char * name, int * xres, int * yres, unsigned char **imgdata);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#ifdef EMULATE_PTHREADS
-
-#include <assert.h>
-#include "pthread.h"
-
-/*
- Basics
-*/
-
-int
-pthread_create (pthread_t *thread, pthread_attr_t *attr, void *(*start_routine) (void *), void *arg)
-{
- pthread_t th;
-
- if (thread == NULL) return EINVAL;
- *thread = NULL;
-
- if (start_routine == NULL) return EINVAL;
-
- th = (pthread_t) malloc (sizeof (pthread_s));
- memset (th, 0, sizeof (pthread_s));
-
- th->winthread_handle = CreateThread (
- NULL,
- 0,
- (LPTHREAD_START_ROUTINE) start_routine,
- arg,
- 0,
- &th->winthread_id);
- if (th->winthread_handle == NULL) return EAGAIN; /* GetLastError() */
-
- *thread = th;
- return 0;
-}
-
-int
-pthread_join (pthread_t th, void **thread_return)
-{
- BOOL b_ret;
- DWORD dw_ret;
-
- if (thread_return) *thread_return = NULL;
-
- if ((th == NULL) || (th->winthread_handle == NULL)) return EINVAL;
-
- dw_ret = WaitForSingleObject (th->winthread_handle, INFINITE);
- if (dw_ret != WAIT_OBJECT_0) return ERROR_PTHREAD; /* dw_ret == WAIT_FAILED; GetLastError() */
-
- if (thread_return) {
- BOOL e_ret;
- DWORD exit_val;
- e_ret = GetExitCodeThread (th->winthread_handle, &exit_val);
- if (!e_ret) return ERROR_PTHREAD; /* GetLastError() */
- *thread_return = (void *)(size_t) exit_val;
- }
-
- b_ret = CloseHandle (th->winthread_handle);
- if (!b_ret) return ERROR_PTHREAD; /* GetLastError() */
- memset (th, 0, sizeof (pthread_s));
- free (th);
- th = NULL;
-
- return 0;
-}
-
-void
-pthread_exit (void *retval)
-{
- /* specific to PTHREAD_TO_WINTHREAD */
-
- ExitThread ((DWORD) ((size_t) retval)); /* thread becomes signalled so its death can be waited upon */
- /*NOTREACHED*/
- assert (0); return; /* void fnc; can't return an error code */
-}
-
-/*
- Mutex
-*/
-
-int
-pthread_mutex_init (pthread_mutex_t *mutex, pthread_mutexattr_t *mutex_attr)
-{
- InitializeCriticalSection (&mutex->critsec);
- return 0;
-}
-
-int
-pthread_mutex_destroy (pthread_mutex_t *mutex)
-{
- return 0;
-}
-
-int
-pthread_mutex_lock (pthread_mutex_t *mutex)
-{
- EnterCriticalSection (&mutex->critsec);
- return 0;
-}
-
-int
-pthread_mutex_unlock (pthread_mutex_t *mutex)
-{
- LeaveCriticalSection (&mutex->critsec);
- return 0;
-}
-
-#endif /* EMULATE_PTHREADS */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#ifdef EMULATE_PTHREADS
-
-#ifndef _PTHREAD_H_DEFINED
-#define _PTHREAD_H_DEFINED
-
-#include <windows.h>
-#include <errno.h>
-#ifndef ENOTSUP
-#define ENOTSUP EPERM
-#endif
-
-/* just need <stddef.h> on Windows to get size_t defined */
-#include <stddef.h>
-
-#define ERROR_PTHREAD 1000
-#define ERROR_MODE 1001
-#define ERROR_UNIMPL 1002
-
-/*
- Basics
-*/
-
-struct pthread_s {
- HANDLE winthread_handle;
- DWORD winthread_id;
-};
-typedef struct pthread_s *pthread_t; /* one of the few types that's pointer, not struct */
-
-typedef struct {
- int i; /* not yet defined... */
-} pthread_attr_t;
-
-/*
- Mutex
-*/
-
-typedef struct {
- int i; /* not yet defined... */
-} pthread_mutexattr_t;
-
-typedef struct {
- CRITICAL_SECTION critsec;
-} pthread_mutex_t;
-
-/*
- Function prototypes
-*/
-
-extern int pthread_create (pthread_t *thread, pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
-extern int pthread_join (pthread_t th, void **thread_return);
-extern void pthread_exit (void *retval);
-
-extern int pthread_mutex_init (pthread_mutex_t *mutex, pthread_mutexattr_t *mutex_attr);
-extern int pthread_mutex_destroy (pthread_mutex_t *mutex);
-extern int pthread_mutex_lock (pthread_mutex_t *mutex);
-extern int pthread_mutex_unlock (pthread_mutex_t *mutex);
-
-#endif /* _PTHREAD_H_DEFINED */
-
-#endif /* EMULATE_PTHREADS */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * quadric.c - This file contains the functions for dealing with quadrics.
- *
- * $Id: quadric.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "quadric.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-int quadric_bbox(void * obj, vector * min, vector * max) {
- return 0;
-}
-
-static object_methods quadric_methods = {
- (void (*)(void *, void *))(quadric_intersect),
- (void (*)(void *, void *, void *, void *))(quadric_normal),
- quadric_bbox,
- free
-};
-
-quadric * newquadric() {
- quadric * q;
-
- q=(quadric *) rt_getmem(sizeof(quadric));
- memset(q, 0, sizeof(quadric));
- q->ctr.x=0.0;
- q->ctr.y=0.0;
- q->ctr.z=0.0;
- q->methods = &quadric_methods;
-
- return q;
-}
-
-void quadric_intersect(quadric * q, ray * ry) {
- flt Aq, Bq, Cq;
- flt t1, t2;
- flt disc;
- vector rd;
- vector ro;
-
- rd=ry->d;
- VNorm(&rd);
-
- ro.x = ry->o.x - q->ctr.x;
- ro.y = ry->o.y - q->ctr.y;
- ro.z = ry->o.z - q->ctr.z;
-
-
- Aq = (q->mat.a*(rd.x * rd.x)) +
- (2.0 * q->mat.b * rd.x * rd.y) +
- (2.0 * q->mat.c * rd.x * rd.z) +
- (q->mat.e * (rd.y * rd.y)) +
- (2.0 * q->mat.f * rd.y * rd.z) +
- (q->mat.h * (rd.z * rd.z));
-
- Bq = 2.0 * (
- (q->mat.a * ro.x * rd.x) +
- (q->mat.b * ((ro.x * rd.y) + (rd.x * ro.y))) +
- (q->mat.c * ((ro.x * rd.z) + (rd.x * ro.z))) +
- (q->mat.d * rd.x) +
- (q->mat.e * ro.y * rd.y) +
- (q->mat.f * ((ro.y * rd.z) + (rd.y * ro.z))) +
- (q->mat.g * rd.y) +
- (q->mat.h * ro.z * rd.z) +
- (q->mat.i * rd.z)
- );
-
- Cq = (q->mat.a * (ro.x * ro.x)) +
- (2.0 * q->mat.b * ro.x * ro.y) +
- (2.0 * q->mat.c * ro.x * ro.z) +
- (2.0 * q->mat.d * ro.x) +
- (q->mat.e * (ro.y * ro.y)) +
- (2.0 * q->mat.f * ro.y * ro.z) +
- (2.0 * q->mat.g * ro.y) +
- (q->mat.h * (ro.z * ro.z)) +
- (2.0 * q->mat.i * ro.z) +
- q->mat.j;
-
- if (Aq == 0.0) {
- t1 = - Cq / Bq;
- add_intersection(t1, (object *) q, ry);
- }
- else {
- disc=(Bq*Bq - 4.0 * Aq * Cq);
- if (disc > 0.0) {
- disc=sqrt(disc);
- t1 = (-Bq + disc) / (2.0 * Aq);
- t2 = (-Bq - disc) / (2.0 * Aq);
- add_intersection(t1, (object *) q, ry);
- add_intersection(t2, (object *) q, ry);
- }
- }
-}
-
-void quadric_normal(quadric * q, vector * pnt, ray * incident, vector * N) {
-
- N->x = (q->mat.a*(pnt->x - q->ctr.x) +
- q->mat.b*(pnt->y - q->ctr.y) +
- q->mat.c*(pnt->z - q->ctr.z) + q->mat.d);
-
- N->y = (q->mat.b*(pnt->x - q->ctr.x) +
- q->mat.e*(pnt->y - q->ctr.y) +
- q->mat.f*(pnt->z - q->ctr.z) + q->mat.g);
-
- N->z = (q->mat.c*(pnt->x - q->ctr.x) +
- q->mat.f*(pnt->y - q->ctr.y) +
- q->mat.h*(pnt->z - q->ctr.z) + q->mat.i);
-
- VNorm(N);
-
- if (VDot(N, &(incident->d)) > 0.0) {
- N->x=-N->x;
- N->y=-N->y;
- N->z=-N->z;
- }
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * quadric.h - This file contains the defines for quadrics.
- *
- * $Id: quadric.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-typedef struct {
- flt a; flt b; flt c;
- flt d; flt e; flt f;
- flt g; flt h; flt i; flt j;
-} quadmatrix;
-
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector ctr;
- quadmatrix mat;
-} quadric;
-
-
-quadric * newquadric(void);
-void quadric_intersect(quadric *, ray *);
-void quadric_normal(quadric *, vector *, ray *, vector *);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * render.c - This file contains the main program and driver for the raytracer.
- *
- * $Id: render.cpp,v 1.5 2007-02-22 18:17:51 amalakho Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "tgafile.h"
-#include "trace.h"
-#include "render.h"
-#include "util.h"
-#include "light.h"
-#include "global.h"
-#include "ui.h"
-#include "video.h"
-#include "objbound.h"
-#include "grid.h"
-
-/* how many pieces to divide each scanline into */
-#define NUMHORZDIV 1
-
-void renderscene(scenedef scene) {
- //char msgtxt[2048];
- //void * outfile;
- /* Grid based accerlation scheme */
- if (scene.boundmode == RT_BOUNDING_ENABLED)
- engrid_scene(&rootobj); /* grid */
- /* Not used now
- if (scene.verbosemode) {
- sprintf(msgtxt, "Opening %s for output.", scene.outfilename);
- rt_ui_message(MSG_0, msgtxt);
- }
-
- createtgafile(scene.outfilename,
- (unsigned short) scene.hres,
- (unsigned short) scene.vres);
- outfile = opentgafile(scene.outfilename);
- */
-
- timerstart();
-
- trace_region (scene, 0/*outfile*/, 0, 0, scene.hres, scene.vres);
- //fclose((FILE *)outfile);
-} /* end of renderscene() */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * render.h - This file contains the defines for the top level functions
- *
- * $Id: render.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-
-void renderscene(scenedef);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * ring.c - This file contains the functions for dealing with rings.
- *
- * $Id: ring.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-#define RING_PRIVATE
-#include "ring.h"
-
-static object_methods ring_methods = {
- (void (*)(void *, void *))(ring_intersect),
- (void (*)(void *, void *, void *, void *))(ring_normal),
- ring_bbox,
- free
-};
-
-object * newring(void * tex, vector ctr, vector norm, flt inrad, flt outrad) {
- ring * r;
-
- r=(ring *) rt_getmem(sizeof(ring));
- memset(r, 0, sizeof(ring));
- r->methods = &ring_methods;
-
- r->tex = (texture *)tex;
- r->ctr = ctr;
- r->norm = norm;
- r->inrad = inrad;
- r->outrad= outrad;
-
- return (object *) r;
-}
-
-static int ring_bbox(void * obj, vector * min, vector * max) {
- ring * r = (ring *) obj;
-
- min->x = r->ctr.x - r->outrad;
- min->y = r->ctr.y - r->outrad;
- min->z = r->ctr.z - r->outrad;
- max->x = r->ctr.x + r->outrad;
- max->y = r->ctr.y + r->outrad;
- max->z = r->ctr.z + r->outrad;
-
- return 1;
-}
-
-static void ring_intersect(ring * rng, ray * ry) {
- flt d;
- flt t,td;
- vector hit, pnt;
-
- d = -VDot(&(rng->ctr), &(rng->norm));
-
- t=-(d+VDot(&(rng->norm), &(ry->o)));
- td=VDot(&(rng->norm),&(ry->d));
- if (td != 0.0) {
- t= t / td;
- if (t>=0.0) {
- hit=Raypnt(ry, t);
- VSUB(hit, rng->ctr, pnt);
- VDOT(td, pnt, pnt);
- td=sqrt(td);
- if ((td > rng->inrad) && (td < rng->outrad))
- add_intersection(t,(object *) rng, ry);
- }
- }
-}
-
-static void ring_normal(ring * rng, vector * pnt, ray * incident, vector * N) {
- *N=rng->norm;
- VNorm(N);
- if (VDot(N, &(incident->d)) > 0.0) {
- N->x=-N->x;
- N->y=-N->y;
- N->z=-N->z;
- }
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * ring.h - This file contains the defines for rings etc.
- *
- * $Id: ring.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-object * newring(void * tex, vector ctr, vector norm, flt in, flt out);
-
-#ifdef RING_PRIVATE
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector ctr;
- vector norm;
- flt inrad;
- flt outrad;
-} ring;
-
-static int ring_bbox(void * obj, vector * min, vector * max);
-static void ring_intersect(ring *, ray *);
-static void ring_normal(ring *, vector *, ray * incident, vector *);
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * shade.c - This file contains the functions that perform surface shading.
- *
- * $Id: shade.cpp,v 1.3 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "light.h"
-#include "intersect.h"
-#include "vector.h"
-#include "trace.h"
-#include "global.h"
-#include "shade.h"
-
-void reset_lights(void) {
- numlights=0;
-}
-
-void add_light(point_light * li) {
- lightlist[numlights]=li;
- numlights++;
-}
-
-color shader(ray * incident) {
- color col, diffuse, phongcol;
- vector N, L, hit;
- ray shadowray;
- flt inten, t, Llen;
- object * obj;
- int numints, i;
- point_light * li;
-
-
- numints=closest_intersection(&t, &obj, incident->intstruct);
- /* find the number of intersections */
- /* and return the closest one. */
-
- if (numints < 1) {
- /* if there weren't any object intersections then return the */
- /* background color for the pixel color. */
- return incident->scene->background;
- }
-
- if (obj->tex->islight) { /* if the current object is a light, then we */
- return obj->tex->col; /* will only use the objects ambient color */
- }
-
- RAYPNT(hit, (*incident), t) /* find the point of intersection from t */
- obj->methods->normal(obj, &hit, incident, &N); /* find the surface normal */
-
- /* execute the object's texture function */
- col = obj->tex->texfunc(&hit, obj->tex, incident);
-
- diffuse.r = 0.0;
- diffuse.g = 0.0;
- diffuse.b = 0.0;
- phongcol = diffuse;
-
- if ((obj->tex->diffuse > 0.0) || (obj->tex->phong > 0.0)) {
- for (i=0; i<numlights; i++) { /* loop for light contributions */
- li=lightlist[i]; /* set li=to the current light */
- VSUB(li->ctr, hit, L) /* find the light vector */
-
- /* calculate the distance to the light from the hit point */
- Llen = sqrt(L.x*L.x + L.y*L.y + L.z*L.z) + EPSILON;
-
- L.x /= Llen; /* normalize the light direction vector */
- L.y /= Llen;
- L.z /= Llen;
-
- VDOT(inten, N, L) /* light intensity */
-
- /* add in diffuse lighting for this light if we're facing it */
- if (inten > 0.0) {
- /* test for a shadow */
- shadowray.intstruct = incident->intstruct;
- shadowray.flags = RT_RAY_SHADOW | RT_RAY_BOUNDED;
- incident->serial++;
- shadowray.serial = incident->serial;
- shadowray.mbox = incident->mbox;
- shadowray.o = hit;
- shadowray.d = L;
- shadowray.maxdist = Llen;
- shadowray.s = hit;
- shadowray.e = li->ctr;
- shadowray.scene = incident->scene;
- reset_intersection(incident->intstruct);
- intersect_objects(&shadowray);
-
- if (!shadow_intersection(incident->intstruct, Llen)) {
- /* XXX now that opacity is in the code, have to be more careful */
- ColorAddS(&diffuse, &li->tex->col, inten);
-
- /* phong type specular highlights */
- if (obj->tex->phong > 0.0) {
- flt phongval;
- phongval = shade_phong(incident, &hit, &N, &L, obj->tex->phongexp);
- if (obj->tex->phongtype)
- ColorAddS(&phongcol, &col, phongval);
- else
- ColorAddS(&phongcol, &(li->tex->col), phongval);
- }
- }
- }
- }
- }
-
- ColorScale(&diffuse, obj->tex->diffuse);
-
- col.r *= (diffuse.r + obj->tex->ambient); /* do a product of the */
- col.g *= (diffuse.g + obj->tex->ambient); /* diffuse intensity with */
- col.b *= (diffuse.b + obj->tex->ambient); /* object color + ambient */
-
- if (obj->tex->phong > 0.0) {
- ColorAccum(&col, &phongcol);
- }
-
- /* spawn reflection rays if necessary */
- /* note: this will overwrite the old intersection list */
- if (obj->tex->specular > 0.0) {
- color specol;
- specol = shade_reflection(incident, &hit, &N, obj->tex->specular);
- ColorAccum(&col, &specol);
- }
-
- /* spawn transmission rays / refraction */
- /* note: this will overwrite the old intersection list */
- if (obj->tex->opacity < 1.0) {
- color transcol;
- transcol = shade_transmission(incident, &hit, 1.0 - obj->tex->opacity);
- ColorAccum(&col, &transcol);
- }
-
- return col; /* return the color of the shaded pixel... */
-}
-
-
-color shade_reflection(ray * incident, vector * hit, vector * N, flt specular) {
- ray specray;
- color col;
- vector R;
-
- VAddS(-2.0 * (incident->d.x * N->x +
- incident->d.y * N->y +
- incident->d.z * N->z), N, &incident->d, &R);
-
- specray.intstruct=incident->intstruct; /* what thread are we */
- specray.depth=incident->depth - 1; /* go up a level in recursion depth */
- specray.flags = RT_RAY_REGULAR; /* infinite ray, to start with */
- specray.serial = incident->serial + 1; /* next serial number */
- specray.mbox = incident->mbox;
- specray.o=*hit;
- specray.d=R; /* reflect incident ray about normal */
- specray.o=Raypnt(&specray, EPSILON); /* avoid numerical precision bugs */
- specray.maxdist = FHUGE; /* take any intersection */
- specray.scene=incident->scene; /* global scenedef info */
- col=trace(&specray); /* trace specular reflection ray */
-
- incident->serial = specray.serial; /* update the serial number */
-
- ColorScale(&col, specular);
-
- return col;
-}
-
-
-color shade_transmission(ray * incident, vector * hit, flt trans) {
- ray transray;
- color col;
-
- transray.intstruct=incident->intstruct; /* what thread are we */
- transray.depth=incident->depth - 1; /* go up a level in recursion depth */
- transray.flags = RT_RAY_REGULAR; /* infinite ray, to start with */
- transray.serial = incident->serial + 1; /* update serial number */
- transray.mbox = incident->mbox;
- transray.o=*hit;
- transray.d=incident->d; /* ray continues along incident path */
- transray.o=Raypnt(&transray, EPSILON); /* avoid numerical precision bugs */
- transray.maxdist = FHUGE; /* take any intersection */
- transray.scene=incident->scene; /* global scenedef info */
- col=trace(&transray); /* trace transmission ray */
-
- incident->serial = transray.serial;
-
- ColorScale(&col, trans);
-
- return col;
-}
-
-flt shade_phong(ray * incident, vector * hit,
- vector * N, vector * L, flt specpower){
- vector H, V;
- flt inten;
-
- V = incident->d;
- VScale(&V, -1.0);
- VAdd(&V, L, &H);
- VScale(&H, 0.5);
- VNorm(&H);
- inten = VDot(N, &H);
- if (inten > 0.0)
- inten = pow(inten, specpower);
- else
- inten = 0.0;
-
- return inten;
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * shade.h - This file contains declarations and definitions for the shader.
- *
- * $Id: shade.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-void reset_lights(void);
-void add_light(point_light *);
-
-color shader(ray *);
-color shade_reflection(ray *, vector *, vector *, flt);
-color shade_transmission(ray *, vector *, flt);
-flt shade_phong(ray * incident, vector * hit, vector * N, vector * L, flt specpower);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * sphere.c - This file contains the functions for dealing with spheres.
- *
- * $Id: sphere.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "intersect.h"
-#include "util.h"
-
-#define SPHERE_PRIVATE
-#include "sphere.h"
-
-static object_methods sphere_methods = {
- (void (*)(void *, void *))(sphere_intersect),
- (void (*)(void *, void *, void *, void *))(sphere_normal),
- sphere_bbox,
- free
-};
-
-object * newsphere(void * tex, vector ctr, flt rad) {
- sphere * s;
-
- s=(sphere *) rt_getmem(sizeof(sphere));
- memset(s, 0, sizeof(sphere));
- s->methods = &sphere_methods;
-
- s->tex=(texture *)tex;
- s->ctr=ctr;
- s->rad=rad;
-
- return (object *) s;
-}
-
-static int sphere_bbox(void * obj, vector * min, vector * max) {
- sphere * s = (sphere *) obj;
-
- min->x = s->ctr.x - s->rad;
- min->y = s->ctr.y - s->rad;
- min->z = s->ctr.z - s->rad;
- max->x = s->ctr.x + s->rad;
- max->y = s->ctr.y + s->rad;
- max->z = s->ctr.z + s->rad;
-
- return 1;
-}
-
-static void sphere_intersect(sphere * spr, ray * ry) {
- flt b, disc, t1, t2, temp;
- vector V;
-
- VSUB(spr->ctr, ry->o, V);
- VDOT(b, V, ry->d);
- VDOT(temp, V, V);
-
- disc=b*b + spr->rad*spr->rad - temp;
-
- if (disc<=0.0) return;
- disc=sqrt(disc);
-
- t2=b+disc;
- if (t2 <= SPEPSILON)
- return;
- add_intersection(t2, (object *) spr, ry);
-
- t1=b-disc;
- if (t1 > SPEPSILON)
- add_intersection(t1, (object *) spr, ry);
-}
-
-static void sphere_normal(sphere * spr, vector * pnt, ray * incident, vector * N) {
- VSub((vector *) pnt, &(spr->ctr), N);
-
- VNorm(N);
-
- if (VDot(N, &(incident->d)) > 0.0) {
- N->x=-N->x;
- N->y=-N->y;
- N->z=-N->z;
- }
-}
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * sphere.h - This file contains the defines for spheres etc.
- *
- * $Id: sphere.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-object * newsphere(void *, vector, flt);
-
-#ifdef SPHERE_PRIVATE
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector ctr;
- flt rad;
-} sphere;
-
-static int sphere_bbox(void * obj, vector * min, vector * max);
-static void sphere_intersect(sphere *, ray *);
-static void sphere_normal(sphere *, vector *, ray *, vector *);
-
-#endif /* SPHERE_PRIVATE */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * texture.c - This file contains functions for implementing textures.
- *
- * $Id: texture.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "texture.h"
-#include "coordsys.h"
-#include "imap.h"
-#include "vector.h"
-#include "box.h"
-
-/* plain vanilla texture solely based on object color */
-color standard_texture(vector * hit, texture * tex, ray * ry) {
- return tex->col;
-}
-
-/* cylindrical image map */
-color image_cyl_texture(vector * hit, texture * tex, ray * ry) {
- vector rh;
- flt u,v;
-
- rh.x=hit->x - tex->ctr.x;
- rh.z=hit->y - tex->ctr.y;
- rh.y=hit->z - tex->ctr.z;
-
- xyztocyl(rh, 1.0, &u, &v);
-
- u = u * tex->scale.x;
- u = u + tex->rot.x;
- u=fmod(u, 1.0);
- if (u < 0.0) u+=1.0;
-
- v = v * tex->scale.y;
- v = v + tex->rot.y;
- v=fmod(v, 1.0);
- if (v < 0.0) v+=1.0;
-
- return ImageMap((rawimage *)tex->img, u, v);
-}
-
-/* spherical image map */
-color image_sphere_texture(vector * hit, texture * tex, ray * ry) {
- vector rh;
- flt u,v;
-
- rh.x=hit->x - tex->ctr.x;
- rh.y=hit->y - tex->ctr.y;
- rh.z=hit->z - tex->ctr.z;
-
- xyztospr(rh, &u, &v);
-
- u = u * tex->scale.x;
- u = u + tex->rot.x;
- u=fmod(u, 1.0);
- if (u < 0.0) u+=1.0;
-
- v = v * tex->scale.y;
- v = v + tex->rot.y;
- v=fmod(v, 1.0);
- if (v < 0.0) v+=1.0;
-
- return ImageMap((rawimage *)tex->img, u, v);
-}
-
-/* planar image map */
-color image_plane_texture(vector * hit, texture * tex, ray * ry) {
- vector pnt;
- flt u,v;
-
- pnt.x=hit->x - tex->ctr.x;
- pnt.y=hit->y - tex->ctr.y;
- pnt.z=hit->z - tex->ctr.z;
-
- VDOT(u, tex->uaxs, pnt);
-/* VDOT(len, tex->uaxs, tex->uaxs);
- u = u / sqrt(len); */
-
- VDOT(v, tex->vaxs, pnt);
-/* VDOT(len, tex->vaxs, tex->vaxs);
- v = v / sqrt(len); */
-
-
- u = u * tex->scale.x;
- u = u + tex->rot.x;
- u = fmod(u, 1.0);
- if (u < 0.0) u += 1.0;
-
- v = v * tex->scale.y;
- v = v + tex->rot.y;
- v = fmod(v, 1.0);
- if (v < 0.0) v += 1.0;
-
- return ImageMap((rawimage *)tex->img, u, v);
-}
-
-color grit_texture(vector * hit, texture * tex, ray * ry) {
- int rnum;
- flt fnum;
- color col;
-
- rnum=rand() % 4096;
- fnum=(rnum / 4096.0 * 0.2) + 0.8;
-
- col.r=tex->col.r * fnum;
- col.g=tex->col.g * fnum;
- col.b=tex->col.b * fnum;
-
- return col;
-}
-
-color checker_texture(vector * hit, texture * tex, ray * ry) {
- long x,y,z;
- flt xh,yh,zh;
- color col;
-
- xh=hit->x - tex->ctr.x;
- x=(long) ((fabs(xh) * 3) + 0.5);
- x=x % 2;
- yh=hit->y - tex->ctr.y;
- y=(long) ((fabs(yh) * 3) + 0.5);
- y=y % 2;
- zh=hit->z - tex->ctr.z;
- z=(long) ((fabs(zh) * 3) + 0.5);
- z=z % 2;
-
- if (((x + y + z) % 2)==1) {
- col.r=1.0;
- col.g=0.2;
- col.b=0.0;
- }
- else {
- col.r=0.0;
- col.g=0.2;
- col.b=1.0;
- }
-
- return col;
-}
-
-color cyl_checker_texture(vector * hit, texture * tex, ray * ry) {
- long x,y;
- vector rh;
- flt u,v;
- color col;
-
- rh.x=hit->x - tex->ctr.x;
- rh.y=hit->y - tex->ctr.y;
- rh.z=hit->z - tex->ctr.z;
-
- xyztocyl(rh, 1.0, &u, &v);
-
- x=(long) (fabs(u) * 18.0);
- x=x % 2;
- y=(long) (fabs(v) * 10.0);
- y=y % 2;
-
- if (((x + y) % 2)==1) {
- col.r=1.0;
- col.g=0.2;
- col.b=0.0;
- }
- else {
- col.r=0.0;
- col.g=0.2;
- col.b=1.0;
- }
-
- return col;
-}
-
-
-color wood_texture(vector * hit, texture * tex, ray * ry) {
- flt radius, angle;
- int grain;
- color col;
- flt x,y,z;
-
- x=(hit->x - tex->ctr.x) * 1000;
- y=(hit->y - tex->ctr.y) * 1000;
- z=(hit->z - tex->ctr.z) * 1000;
-
- radius=sqrt(x*x + z*z);
- if (z == 0.0)
- angle=3.1415926/2.0;
- else
- angle=atan(x / z);
-
- radius=radius + 3.0 * sin(20 * angle + y / 150.0);
- grain=((int) (radius + 0.5)) % 60;
- if (grain < 40) {
- col.r=0.8;
- col.g=1.0;
- col.b=0.2;
- }
- else {
- col.r=0.0;
- col.g=0.0;
- col.b=0.0;
- }
-
- return col;
-}
-
-
-
-#define NMAX 28
-short int NoiseMatrix[NMAX][NMAX][NMAX];
-
-void InitNoise(void) {
- byte x,y,z,i,j,k;
-
- for (x=0; x<NMAX; x++) {
- for (y=0; y<NMAX; y++) {
- for (z=0; z<NMAX; z++) {
- NoiseMatrix[x][y][z]=rand() % 12000;
-
- if (x==NMAX-1) i=0;
- else i=x;
-
- if (y==NMAX-1) j=0;
- else j=y;
-
- if (z==NMAX-1) k=0;
- else k=z;
-
- NoiseMatrix[x][y][z]=NoiseMatrix[i][j][k];
- }
- }
- }
-}
-
-int Noise(flt x, flt y, flt z) {
- byte ix, iy, iz;
- flt ox, oy, oz;
- int p000, p001, p010, p011;
- int p100, p101, p110, p111;
- int p00, p01, p10, p11;
- int p0, p1;
- int d00, d01, d10, d11;
- int d0, d1, d;
-
- x=fabs(x);
- y=fabs(y);
- z=fabs(z);
-
- ix=((int) x) % (NMAX-1);
- iy=((int) y) % (NMAX-1);
- iz=((int) z) % (NMAX-1);
-
- ox=(x - ((int) x));
- oy=(y - ((int) y));
- oz=(z - ((int) z));
-
- p000=NoiseMatrix[ix][iy][iz];
- p001=NoiseMatrix[ix][iy][iz+1];
- p010=NoiseMatrix[ix][iy+1][iz];
- p011=NoiseMatrix[ix][iy+1][iz+1];
- p100=NoiseMatrix[ix+1][iy][iz];
- p101=NoiseMatrix[ix+1][iy][iz+1];
- p110=NoiseMatrix[ix+1][iy+1][iz];
- p111=NoiseMatrix[ix+1][iy+1][iz+1];
-
- d00=p100-p000;
- d01=p101-p001;
- d10=p110-p010;
- d11=p111-p011;
-
- p00=(int) ((int) d00*ox) + p000;
- p01=(int) ((int) d01*ox) + p001;
- p10=(int) ((int) d10*ox) + p010;
- p11=(int) ((int) d11*ox) + p011;
- d0=p10-p00;
- d1=p11-p01;
- p0=(int) ((int) d0*oy) + p00;
- p1=(int) ((int) d1*oy) + p01;
- d=p1-p0;
-
- return (int) ((int) d*oz) + p0;
-}
-
-color marble_texture(vector * hit, texture * tex, ray * ry) {
- flt i,d;
- flt x,y,z;
- color col;
-
- x=hit->x;
- y=hit->y;
- z=hit->z;
-
- x=x * 1.0;
-
- d=x + 0.0006 * Noise(x, (y * 1.0), (z * 1.0));
- d=d*(((int) d) % 25);
- i=0.0 + 0.10 * fabs(d - 10.0 - 20.0 * ((int) d * 0.05));
- if (i > 1.0) i=1.0;
- if (i < 0.0) i=0.0;
-
-/*
- col.r=i * tex->col.r;
- col.g=i * tex->col.g;
- col.b=i * tex->col.b;
-*/
-
- col.r = (1.0 + sin(i * 6.28)) / 2.0;
- col.g = (1.0 + sin(i * 16.28)) / 2.0;
- col.b = (1.0 + cos(i * 30.28)) / 2.0;
-
- return col;
-}
-
-
-color gnoise_texture(vector * hit, texture * tex, ray * ry) {
- color col;
- flt f;
-
- f=Noise((hit->x - tex->ctr.x),
- (hit->y - tex->ctr.y),
- (hit->z - tex->ctr.z));
-
- if (f < 0.01) f=0.01;
- if (f > 1.0) f=1.0;
-
- col.r=tex->col.r * f;
- col.g=tex->col.g * f;
- col.b=tex->col.b * f;
-
- return col;
-}
-
-void InitTextures(void) {
- InitNoise();
- ResetImages();
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * texture.h This file contains all of the includes and defines for the texture
- * mapping part of the shader.
- *
- * $Id: texture.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-void InitTextures(void);
-color standard_texture(vector *, texture *, ray *);
-color image_cyl_texture(vector *, texture *, ray *);
-color image_sphere_texture(vector *, texture *, ray *);
-color image_plane_texture(vector *, texture *, ray *);
-color checker_texture(vector *, texture *, ray *);
-color cyl_checker_texture(vector *, texture *, ray *);
-color grit_texture(vector *, texture *, ray *);
-color wood_texture(vector *, texture *, ray *);
-color marble_texture(vector *, texture *, ray *);
-color gnoise_texture(vector *, texture *, ray *);
-int Noise(flt, flt, flt);
-void InitTextures(void);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * tgafile.c - This file contains the code to write 24 bit targa files...
- *
- * $Id: tgafile.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "util.h"
-#include "ui.h"
-#include "imageio.h"
-#include "tgafile.h"
-
-void createtgafile(char *name, unsigned short width, unsigned short height) {
- int filesize;
- FILE * ofp;
-
- filesize = 3*width*height + 18 - 10;
-
- if (name==NULL)
- exit(1);
- else {
- ofp=fopen(name, "w+b");
- if (ofp == NULL) {
- char msgtxt[2048];
- sprintf(msgtxt, "Cannot create %s for output!", name);
- rt_ui_message(MSG_ERR, msgtxt);
- rt_ui_message(MSG_ABORT, "Rendering Aborted.");
- exit(1);
- }
-
- fputc(0, ofp); /* IdLength */
- fputc(0, ofp); /* ColorMapType */
- fputc(2, ofp); /* ImageTypeCode */
- fputc(0, ofp); /* ColorMapOrigin, low byte */
- fputc(0, ofp); /* ColorMapOrigin, high byte */
- fputc(0, ofp); /* ColorMapLength, low byte */
- fputc(0, ofp); /* ColorMapLength, high byte */
- fputc(0, ofp); /* ColorMapEntrySize */
- fputc(0, ofp); /* XOrigin, low byte */
- fputc(0, ofp); /* XOrigin, high byte */
- fputc(0, ofp); /* YOrigin, low byte */
- fputc(0, ofp); /* YOrigin, high byte */
- fputc((width & 0xff), ofp); /* Width, low byte */
- fputc(((width >> 8) & 0xff), ofp); /* Width, high byte */
- fputc((height & 0xff), ofp); /* Height, low byte */
- fputc(((height >> 8) & 0xff), ofp); /* Height, high byte */
- fputc(24, ofp); /* ImagePixelSize */
- fputc(0x20, ofp); /* ImageDescriptorByte 0x20 == flip vertically */
-
- fseek(ofp, filesize, 0);
- fprintf(ofp, "9876543210");
-
- fclose(ofp);
- }
-}
-
-void * opentgafile(char * filename) {
- FILE * ofp;
-
- ofp=fopen(filename, "r+b");
- if (ofp == NULL) {
- char msgtxt[2048];
- sprintf(msgtxt, "Cannot open %s for output!", filename);
- rt_ui_message(MSG_ERR, msgtxt);
- rt_ui_message(MSG_ABORT, "Rendering Aborted.");
- exit(1);
- }
-
- return ofp;
-}
-
-void writetgaregion(void * voidofp,
- int iwidth, int iheight,
- int startx, int starty,
- int stopx, int stopy, char * buffer) {
- int y, totalx, totaly;
- char * bufpos;
- int filepos, numbytes;
- FILE * ofp = (FILE *) voidofp;
-
- totalx = stopx - startx + 1;
- totaly = stopy - starty + 1;
-
- for (y=0; y<totaly; y++) {
- bufpos=buffer + (totalx*3)*(totaly-y-1);
- filepos=18 + iwidth*3*(iheight - starty - totaly + y + 1) + (startx - 1)*3;
-
- if (filepos >= 18) {
- fseek(ofp, filepos, 0);
- numbytes = fwrite(bufpos, 3, totalx, ofp);
-
- if (numbytes != totalx) {
- char msgtxt[256];
- sprintf(msgtxt, "File write problem, %d bytes written.", numbytes);
- rt_ui_message(MSG_ERR, msgtxt);
- }
- }
- else {
- rt_ui_message(MSG_ERR, "writetgaregion: file ptr out of range!!!\n");
- return; /* don't try to continue */
- }
- }
-}
-
-
-int readtga(char * name, int * xres, int * yres, unsigned char **imgdata) {
- int format, width, height, w1, w2, h1, h2, depth, flags;
- int imgsize, bytesread, i, tmp;
- FILE * ifp;
-
- ifp=fopen(name, "r");
- if (ifp==NULL) {
- return IMAGEBADFILE; /* couldn't open the file */
- }
-
- /* read the targa header */
- getc(ifp); /* ID length */
- getc(ifp); /* colormap type */
- format = getc(ifp); /* image type */
- getc(ifp); /* color map origin */
- getc(ifp); /* color map origin */
- getc(ifp); /* color map length */
- getc(ifp); /* color map length */
- getc(ifp); /* color map entry size */
- getc(ifp); /* x origin */
- getc(ifp); /* x origin */
- getc(ifp); /* y origin */
- getc(ifp); /* y origin */
- w1 = getc(ifp); /* width (low) */
- w2 = getc(ifp); /* width (hi) */
- h1 = getc(ifp); /* height (low) */
- h2 = getc(ifp); /* height (hi) */
- depth = getc(ifp); /* image pixel size */
- flags = getc(ifp); /* image descriptor byte */
-
- if ((format != 2) || (depth != 24)) {
- fclose(ifp);
- return IMAGEUNSUP; /* unsupported targa format */
- }
-
-
- width = ((w2 << 8) | w1);
- height = ((h2 << 8) | h1);
-
- imgsize = 3 * width * height;
- *imgdata = (unsigned char *)rt_getmem(imgsize);
- bytesread = fread(*imgdata, 1, imgsize, ifp);
- fclose(ifp);
-
- /* flip image vertically */
- if (flags == 0x20) {
- int rowsize = 3 * width;
- unsigned char * copytmp;
-
- copytmp = (unsigned char *)malloc(rowsize);
-
- for (i=0; i<height / 2; i++) {
- memcpy(copytmp, &((*imgdata)[rowsize*i]), rowsize);
- memcpy(&(*imgdata)[rowsize*i], &(*imgdata)[rowsize*(height - 1 - i)], rowsize);
- memcpy(&(*imgdata)[rowsize*(height - 1 - i)], copytmp, rowsize);
- }
-
- free(copytmp);
- }
-
-
- /* convert from BGR order to RGB order */
- for (i=0; i<imgsize; i+=3) {
- tmp = (*imgdata)[i]; /* Blue */
- (*imgdata)[i] = (*imgdata)[i+2]; /* Red */
- (*imgdata)[i+2] = tmp; /* Blue */
- }
-
- *xres = width;
- *yres = height;
-
- if (bytesread != imgsize)
- return IMAGEREADERR;
-
- return IMAGENOERR;
-}
-
-
-
-
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * tgafile.h - this file contains defines and structures for tgafile.c
- *
- * $Id: tgafile.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-/* declare other functions */
-void createtgafile(char *, unsigned short, unsigned short);
-void * opentgafile(char *);
-void writetgaregion(void *, int, int, int, int, int, int, char *);
-
-int readtga(char * name, int * xres, int * yres, unsigned char **imgdata);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * trace.h - This file contains the declarations and defines for the trace module
- *
- * $Id: trace.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-extern char *global_buffer;
-
-typedef struct {
- int tid;
- int nthr;
- scenedef scene;
- char * buffer;
- int startx;
- int stopx;
- int starty;
- int stopy;
- } thr_parms;
-
-typedef struct {
- int startx;
- int stopx;
- int starty;
- int stopy;
- } patch;
-
-typedef struct {
- void * tga;
- int iwidth;
- int iheight;
- int startx;
- int starty;
- int stopx;
- int stopy;
- char * buffer;
- } thr_io_parms;
-
-color trace(ray *);
-
-void * thread_trace(thr_parms * parms);
-
-void thread_trace1(thr_parms *, patch *, int depth);
-void thread_trace2(thr_parms *, patch *);
-
-void * thread_io(void *);
-
-void trace_shm(scenedef, /*char *,*/ int, int, int, int);
-
-void trace_region(scenedef, void *, int, int, int, int);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "tgafile.h"
-#include "trace.h"
-#include "light.h"
-#include "shade.h"
-#include "camera.h"
-#include "util.h"
-#include "intersect.h"
-#include "global.h"
-#include "ui.h"
-#include "video.h"
-
-// shared but read-only so could be private too
-static thr_parms *all_parms;
-static scenedef scene;
-static int startx;
-static int stopx;
-static int starty;
-static int stopy;
-static flt jitterscale;
-static int totaly;
-
-static color_t render_one_pixel (int x, int y, unsigned int *local_mbox, unsigned int &serial,
- int startx, int stopx, int starty, int stopy)
-{
- /* private vars moved inside loop */
- ray primary, sample;
- color col, avcol;
- int R,G,B;
- intersectstruct local_intersections;
- int alias;
- /* end private */
-
- primary=camray(&scene, x, y);
- primary.intstruct = &local_intersections;
- primary.flags = RT_RAY_REGULAR;
-
- serial++;
- primary.serial = serial;
- primary.mbox = local_mbox;
- primary.maxdist = FHUGE;
- primary.scene = &scene;
- col=trace(&primary);
-
- serial = primary.serial;
-
- /* perform antialiasing if enabled.. */
- if (scene.antialiasing > 0) {
- for (alias=0; alias < scene.antialiasing; alias++) {
-
- serial++; /* increment serial number */
- sample=primary; /* copy the regular primary ray to start with */
- sample.serial = serial;
-
- {
- sample.d.x+=((std::rand() % 100) - 50) / jitterscale;
- sample.d.y+=((std::rand() % 100) - 50) / jitterscale;
- sample.d.z+=((std::rand() % 100) - 50) / jitterscale;
- }
-
- avcol=trace(&sample);
-
- serial = sample.serial; /* update our overall serial # */
-
- col.r += avcol.r;
- col.g += avcol.g;
- col.b += avcol.b;
- }
-
- col.r /= (scene.antialiasing + 1.0);
- col.g /= (scene.antialiasing + 1.0);
- col.b /= (scene.antialiasing + 1.0);
- }
-
- /* Handle overexposure and underexposure here... */
- R=(int) (col.r*255);
- if (R > 255) R = 255;
- else if (R < 0) R = 0;
-
- G=(int) (col.g*255);
- if (G > 255) G = 255;
- else if (G < 0) G = 0;
-
- B=(int) (col.b*255);
- if (B > 255) B = 255;
- else if (B < 0) B = 0;
-
- return video->get_color(R, G, B);
-
-}
-
-static void parallel_thread (void)
-{
- // thread-local storage
- unsigned int serial = 1;
- unsigned int mboxsize = sizeof(unsigned int)*(max_objectid() + 20);
- unsigned int * local_mbox = (unsigned int *) alloca(mboxsize);
- memset(local_mbox,0,mboxsize);
-
- for (int y = starty; y < stopy; y++) { {
- drawing_area drawing(startx, totaly-y, stopx-startx, 1);
- for (int x = startx; x < stopx; x++) {
- color_t c = render_one_pixel (x, y, local_mbox, serial, startx, stopx, starty, stopy);
- drawing.put_pixel(c);
- } }
- if(!video->next_frame()) return;
- }
-}
-
-void * thread_trace(thr_parms * parms)
-{
- // shared but read-only so could be private too
- all_parms = parms;
- scene = parms->scene;
- startx = parms->startx;
- stopx = parms->stopx;
- starty = parms->starty;
- stopy = parms->stopy;
- jitterscale = 40.0*(scene.hres + scene.vres);
- totaly = parms->scene.vres-1;
-
- parallel_thread ();
-
- return(NULL);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "tgafile.h"
-#include "trace.h"
-#include "light.h"
-#include "shade.h"
-#include "camera.h"
-#include "util.h"
-#include "intersect.h"
-#include "global.h"
-#include "ui.h"
-#include "video.h"
-
-// shared but read-only so could be private too
-static thr_parms *all_parms;
-static scenedef scene;
-static int startx;
-static int stopx;
-static int starty;
-static int stopy;
-static flt jitterscale;
-static int totaly;
-
-#include "tbb/task_scheduler_init.h"
-#include "tbb/parallel_for.h"
-#include "tbb/spin_mutex.h"
-#include "tbb/blocked_range2d.h"
-
-static tbb::spin_mutex MyMutex, MyMutex2;
-
-static color_t render_one_pixel (int x, int y, unsigned int *local_mbox, unsigned int &serial,
- int startx, int stopx, int starty, int stopy)
-{
- /* private vars moved inside loop */
- ray primary, sample;
- color col, avcol;
- int R,G,B;
- intersectstruct local_intersections;
- int alias;
- /* end private */
-
- primary=camray(&scene, x, y);
- primary.intstruct = &local_intersections;
- primary.flags = RT_RAY_REGULAR;
-
- serial++;
- primary.serial = serial;
- primary.mbox = local_mbox;
- primary.maxdist = FHUGE;
- primary.scene = &scene;
- col=trace(&primary);
-
- serial = primary.serial;
-
- /* perform antialiasing if enabled.. */
- if (scene.antialiasing > 0) {
- for (alias=0; alias < scene.antialiasing; alias++) {
-
- serial++; /* increment serial number */
- sample=primary; /* copy the regular primary ray to start with */
- sample.serial = serial;
-
- {
- tbb::spin_mutex::scoped_lock lock (MyMutex);
- sample.d.x+=((rand() % 100) - 50) / jitterscale;
- sample.d.y+=((rand() % 100) - 50) / jitterscale;
- sample.d.z+=((rand() % 100) - 50) / jitterscale;
- }
-
- avcol=trace(&sample);
-
- serial = sample.serial; /* update our overall serial # */
-
- col.r += avcol.r;
- col.g += avcol.g;
- col.b += avcol.b;
- }
-
- col.r /= (scene.antialiasing + 1.0);
- col.g /= (scene.antialiasing + 1.0);
- col.b /= (scene.antialiasing + 1.0);
- }
-
- /* Handle overexposure and underexposure here... */
- R=(int) (col.r*255);
- if (R > 255) R = 255;
- else if (R < 0) R = 0;
-
- G=(int) (col.g*255);
- if (G > 255) G = 255;
- else if (G < 0) G = 0;
-
- B=(int) (col.b*255);
- if (B > 255) B = 255;
- else if (B < 0) B = 0;
-
- return video->get_color(R, G, B);
-}
-
-class parallel_task {
-public:
- void operator() (const tbb::blocked_range2d<int> &r) const
- {
- // task-local storage
- unsigned int serial = 1;
- unsigned int mboxsize = sizeof(unsigned int)*(max_objectid() + 20);
- unsigned int * local_mbox = (unsigned int *) alloca(mboxsize);
- memset(local_mbox,0,mboxsize);
- if(video->next_frame())
- {
- drawing_area drawing(r.cols().begin(), totaly-r.rows().end(), r.cols().end() - r.cols().begin(), r.rows().end()-r.rows().begin());
- for (int i = 1, y = r.rows().begin(); y != r.rows().end(); ++y, i++) {
- drawing.set_pos(0, drawing.size_y-i);
- for (int x = r.cols().begin(); x != r.cols().end(); x++) {
- color_t c = render_one_pixel (x, y, local_mbox, serial, startx, stopx, starty, stopy);
- drawing.put_pixel(c);
- }
- }
- }
- }
-
- parallel_task () {}
-};
-
-void * thread_trace(thr_parms * parms)
-{
- int n, nthreads = tbb::task_scheduler_init::automatic;
- char *nthreads_str = getenv ("TBB_NUM_THREADS");
- if (nthreads_str && (sscanf (nthreads_str, "%d", &n) > 0) && (n > 0)) nthreads = n;
- tbb::task_scheduler_init init (nthreads);
-
- // shared but read-only so could be private too
- all_parms = parms;
- scene = parms->scene;
- startx = parms->startx;
- stopx = parms->stopx;
- starty = parms->starty;
- stopy = parms->stopy;
- jitterscale = 40.0*(scene.hres + scene.vres);
- totaly = parms->scene.vres;
-
- int g, grain_size = 50;
- char *grain_str = getenv ("TBB_GRAINSIZE");
- if (grain_str && (sscanf (grain_str, "%d", &g) > 0) && (g > 0)) grain_size = g;
- tbb::parallel_for (tbb::blocked_range2d<int> (starty, stopy, grain_size, startx, stopx, grain_size), parallel_task (), tbb::simple_partitioner());
-
- return(NULL);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "tgafile.h"
-#include "trace.h"
-#include "light.h"
-#include "shade.h"
-#include "camera.h"
-#include "util.h"
-#include "intersect.h"
-#include "global.h"
-#include "ui.h"
-#include "video.h"
-
-// shared but read-only so could be private too
-static thr_parms *all_parms;
-static scenedef scene;
-static int startx;
-static int stopx;
-static int starty;
-static int stopy;
-static flt jitterscale;
-static int totaly;
-
-#include "tbb/task_scheduler_init.h"
-#include "tbb/parallel_for.h"
-#include "tbb/spin_mutex.h"
-#include "tbb/blocked_range.h"
-
-static tbb::spin_mutex MyMutex, MyMutex2;
-
-static color_t render_one_pixel (int x, int y, unsigned int *local_mbox, unsigned int &serial,
- int startx, int stopx, int starty, int stopy)
-{
- /* private vars moved inside loop */
- ray primary, sample;
- color col, avcol;
- int R,G,B;
- intersectstruct local_intersections;
- int alias;
- /* end private */
-
- primary=camray(&scene, x, y);
- primary.intstruct = &local_intersections;
- primary.flags = RT_RAY_REGULAR;
-
- serial++;
- primary.serial = serial;
- primary.mbox = local_mbox;
- primary.maxdist = FHUGE;
- primary.scene = &scene;
- col=trace(&primary);
-
- serial = primary.serial;
-
- /* perform antialiasing if enabled.. */
- if (scene.antialiasing > 0) {
- for (alias=0; alias < scene.antialiasing; alias++) {
-
- serial++; /* increment serial number */
- sample=primary; /* copy the regular primary ray to start with */
- sample.serial = serial;
-
- {
- tbb::spin_mutex::scoped_lock lock (MyMutex);
- sample.d.x+=((rand() % 100) - 50) / jitterscale;
- sample.d.y+=((rand() % 100) - 50) / jitterscale;
- sample.d.z+=((rand() % 100) - 50) / jitterscale;
- }
-
- avcol=trace(&sample);
-
- serial = sample.serial; /* update our overall serial # */
-
- col.r += avcol.r;
- col.g += avcol.g;
- col.b += avcol.b;
- }
-
- col.r /= (scene.antialiasing + 1.0);
- col.g /= (scene.antialiasing + 1.0);
- col.b /= (scene.antialiasing + 1.0);
- }
-
- /* Handle overexposure and underexposure here... */
- R=(int) (col.r*255);
- if (R > 255) R = 255;
- else if (R < 0) R = 0;
-
- G=(int) (col.g*255);
- if (G > 255) G = 255;
- else if (G < 0) G = 0;
-
- B=(int) (col.b*255);
- if (B > 255) B = 255;
- else if (B < 0) B = 0;
-
- return video->get_color(R, G, B);
-
-}
-
-class parallel_task {
-public:
- void operator() (const tbb::blocked_range<int> &r) const
- {
- // task-local storage
- unsigned int serial = 1;
- unsigned int mboxsize = sizeof(unsigned int)*(max_objectid() + 20);
- unsigned int * local_mbox = (unsigned int *) alloca(mboxsize);
- memset(local_mbox,0,mboxsize);
-
- for (int y = r.begin(); y != r.end(); ++y) { {
- drawing_area drawing(startx, totaly-y, stopx-startx, 1);
- for (int x = startx; x < stopx; x++) {
- color_t c = render_one_pixel (x, y, local_mbox, serial, startx, stopx, starty, stopy);
- drawing.put_pixel(c);
- } }
- if(!video->next_frame()) return;
- }
- }
-
- parallel_task () {}
-};
-
-void * thread_trace(thr_parms * parms)
-{
- int n, nthreads = tbb::task_scheduler_init::automatic;
- char *nthreads_str = getenv ("TBB_NUM_THREADS");
- if (nthreads_str && (sscanf (nthreads_str, "%d", &n) > 0) && (n > 0)) nthreads = n;
- tbb::task_scheduler_init init (nthreads);
-
- // shared but read-only so could be private too
- all_parms = parms;
- scene = parms->scene;
- startx = parms->startx;
- stopx = parms->stopx;
- starty = parms->starty;
- stopy = parms->stopy;
- jitterscale = 40.0*(scene.hres + scene.vres);
- totaly = parms->scene.vres-1;
-
- int g, grain_size = 50;
- char *grain_str = getenv ("TBB_GRAINSIZE");
- if (grain_str && (sscanf (grain_str, "%d", &g) > 0) && (g > 0)) grain_size = g;
-
- // Uses the preview feature: auto_partitioner.
- // Note that no grainsize is provided to the blocked_range object.
- tbb::parallel_for (tbb::blocked_range<int> (starty, stopy), parallel_task (), tbb::auto_partitioner() );
-
- return(NULL);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * trace.c - This file contains the functions for firing primary rays
- * and handling subsequent calculations
- *
- * $Id: trace_rest.cpp,v 1.4 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "tgafile.h"
-#include "trace.h"
-#include "light.h"
-#include "shade.h"
-#include "camera.h"
-#include "util.h"
-#include "intersect.h"
-#include "global.h"
-#include "ui.h"
-#include "video.h"
-
-color trace(ray * primary) {
- if (primary->depth > 0) {
- VNorm(&primary->d);
- reset_intersection(primary->intstruct);
- intersect_objects(primary);
- return shader(primary);
- }
-
- /* if ray is truncated, return the background as its color */
- return primary->scene->background;
-}
-
-void * thread_io(void * parms) {
- thr_io_parms p;
-
- p= *((thr_io_parms *) parms);
- writetgaregion(p.tga, p.iwidth, p.iheight, p.startx, p.starty,
- p.stopx, p.stopy, p.buffer);
- free(p.buffer); /* free the buffer once we are done with it.. */
- free(parms);
-
- return(NULL);
-}
-
-void trace_shm(scenedef scene, /*char * buffer, */ int startx, int stopx, int starty, int stopy) {
-
- thr_parms * parms;
-
- parms = (thr_parms *) rt_getmem(sizeof(thr_parms));
-
- parms->tid=0;
- parms->nthr=1;
- parms->scene=scene;
- parms->startx=startx;
- parms->stopx=stopx;
- parms->starty=starty;
- parms->stopy=stopy;
-
- thread_trace(parms);
-
- rt_freemem(parms);
-}
-
-void trace_region(scenedef scene, void * tga, int startx, int starty, int stopx, int stopy) {
-
- if (scene.verbosemode) {
- char msgtxt[2048];
- sprintf(msgtxt, "Node %3d tracing region %4d, %4d ---> %4d, %4d \n", 0, startx,starty,stopx,stopy);
- rt_ui_message(MSG_0, msgtxt);
- }
-
- trace_shm(scene, /*buffer,*/ startx, stopx, starty, stopy);
-/* not used now
- writetgaregion(tga, scene.hres, scene.vres,
- startx, starty, stopx, stopy, global_buffer);
-
- if (scene.rawimage != NULL) {
- int x, y;
- int totalx = stopx - startx + 1;
- for (y=starty; y<=stopy; y++) {
- for (x=0; x<scene.hres; x++) {
- scene.rawimage[(scene.vres-y)*scene.hres*3 + x*3] = global_buffer[(y-starty)*totalx*3 + x*3 + 2];
- scene.rawimage[(scene.vres-y)*scene.hres*3 + x*3 +1] = global_buffer[(y-starty)*totalx*3 + x*3 + 1];
- scene.rawimage[(scene.vres-y)*scene.hres*3 + x*3 +2] = global_buffer[(y-starty)*totalx*3 + x*3];
- }
- }
- }
-*/
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * triangle.c - This file contains the functions for dealing with triangles.
- *
- * $Id: triangle.cpp,v 1.3 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "vector.h"
-#include "macros.h"
-#include "intersect.h"
-#include "util.h"
-
-#define TRIANGLE_PRIVATE
-#include "triangle.h"
-
-static object_methods tri_methods = {
- (void (*)(void *, void *))(tri_intersect),
- (void (*)(void *, void *, void *, void *))(tri_normal),
- tri_bbox,
- free
-};
-
-static object_methods stri_methods = {
- (void (*)(void *, void *))(tri_intersect),
- (void (*)(void *, void *, void *, void *))(stri_normal),
- tri_bbox,
- free
-};
-
-object * newtri(void * tex, vector v0, vector v1, vector v2) {
- tri * t;
- vector edge1, edge2, edge3;
-
- VSub(&v1, &v0, &edge1);
- VSub(&v2, &v0, &edge2);
- VSub(&v2, &v1, &edge3);
-
- /* check to see if this will be a degenerate triangle before creation */
- if ((VLength(&edge1) >= EPSILON) &&
- (VLength(&edge2) >= EPSILON) &&
- (VLength(&edge3) >= EPSILON)) {
-
- t=(tri *) rt_getmem(sizeof(tri));
-
- t->nextobj = NULL;
- t->methods = &tri_methods;
-
- t->tex = (texture *)tex;
- t->v0 = v0;
- t->edge1 = edge1;
- t->edge2 = edge2;
-
- return (object *) t;
- }
-
- return NULL; /* was a degenerate triangle */
-}
-
-
-object * newstri(void * tex, vector v0, vector v1, vector v2,
- vector n0, vector n1, vector n2) {
- stri * t;
- vector edge1, edge2, edge3;
-
- VSub(&v1, &v0, &edge1);
- VSub(&v2, &v0, &edge2);
- VSub(&v2, &v1, &edge3);
-
- /* check to see if this will be a degenerate triangle before creation */
- if ((VLength(&edge1) >= EPSILON) &&
- (VLength(&edge2) >= EPSILON) &&
- (VLength(&edge3) >= EPSILON)) {
-
- t=(stri *) rt_getmem(sizeof(stri));
-
- t->nextobj = NULL;
- t->methods = &stri_methods;
-
- t->tex = (texture *)tex;
- t->v0 = v0;
- t->edge1 = edge1;
- t->edge2 = edge2;
- t->n0 = n0;
- t->n1 = n1;
- t->n2 = n2;
-
- return (object *) t;
- }
-
- return NULL; /* was a degenerate triangle */
-}
-
-#define CROSS(dest,v1,v2) \
- dest.x=v1.y*v2.z-v1.z*v2.y; \
- dest.y=v1.z*v2.x-v1.x*v2.z; \
- dest.z=v1.x*v2.y-v1.y*v2.x;
-
-#define DOT(v1,v2) (v1.x*v2.x+v1.y*v2.y+v1.z*v2.z)
-
-#define SUB(dest,v1,v2) \
- dest.x=v1.x-v2.x; \
- dest.y=v1.y-v2.y; \
- dest.z=v1.z-v2.z;
-
-static int tri_bbox(void * obj, vector * min, vector * max) {
- tri * t = (tri *) obj;
- vector v1, v2;
-
- VAdd(&t->v0, &t->edge1, &v1);
- VAdd(&t->v0, &t->edge2, &v2);
-
- min->x = MYMIN( t->v0.x , MYMIN( v1.x , v2.x ));
- min->y = MYMIN( t->v0.y , MYMIN( v1.y , v2.y ));
- min->z = MYMIN( t->v0.z , MYMIN( v1.z , v2.z ));
-
- max->x = MYMAX( t->v0.x , MYMAX( v1.x , v2.x ));
- max->y = MYMAX( t->v0.y , MYMAX( v1.y , v2.y ));
- max->z = MYMAX( t->v0.z , MYMAX( v1.z , v2.z ));
-
- return 1;
-}
-
-static void tri_intersect(tri * trn, ray * ry) {
- vector tvec, pvec, qvec;
- flt det, inv_det, t, u, v;
-
- /* begin calculating determinant - also used to calculate U parameter */
- CROSS(pvec, ry->d, trn->edge2);
-
- /* if determinant is near zero, ray lies in plane of triangle */
- det = DOT(trn->edge1, pvec);
-
- if (det > -EPSILON && det < EPSILON)
- return;
-
- inv_det = 1.0 / det;
-
- /* calculate distance from vert0 to ray origin */
- SUB(tvec, ry->o, trn->v0);
-
- /* calculate U parameter and test bounds */
- u = DOT(tvec, pvec) * inv_det;
- if (u < 0.0 || u > 1.0)
- return;
-
- /* prepare to test V parameter */
- CROSS(qvec, tvec, trn->edge1);
-
- /* calculate V parameter and test bounds */
- v = DOT(ry->d, qvec) * inv_det;
- if (v < 0.0 || u + v > 1.0)
- return;
-
- /* calculate t, ray intersects triangle */
- t = DOT(trn->edge2, qvec) * inv_det;
-
- add_intersection(t,(object *) trn, ry);
-}
-
-
-static void tri_normal(tri * trn, vector * pnt, ray * incident, vector * N) {
-
- CROSS((*N), trn->edge1, trn->edge2);
-
- VNorm(N);
-
- if (VDot(N, &(incident->d)) > 0.0) {
- N->x=-N->x;
- N->y=-N->y;
- N->z=-N->z;
- }
-}
-
-static void stri_normal(stri * trn, vector * pnt, ray * incident, vector * N) {
- flt U, V, W, lensqr;
- vector P, tmp, norm;
-
- CROSS(norm, trn->edge1, trn->edge2);
- lensqr = DOT(norm, norm);
-
- VSUB((*pnt), trn->v0, P);
-
- CROSS(tmp, P, trn->edge2);
- U = DOT(tmp, norm) / lensqr;
-
- CROSS(tmp, trn->edge1, P);
- V = DOT(tmp, norm) / lensqr;
-
- W = 1.0 - (U + V);
-
- N->x = W*trn->n0.x + U*trn->n1.x + V*trn->n2.x;
- N->y = W*trn->n0.y + U*trn->n1.y + V*trn->n2.y;
- N->z = W*trn->n0.z + U*trn->n1.z + V*trn->n2.z;
-
- VNorm(N);
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * triangle.h - This file contains the defines for triangles etc.
- *
- * $Id: triangle.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-object * newtri(void *, vector, vector, vector);
-object * newstri(void *, vector, vector, vector, vector, vector, vector);
-
-#ifdef TRIANGLE_PRIVATE
-
-#define TRIXMAJOR 0
-#define TRIYMAJOR 1
-#define TRIZMAJOR 2
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector edge2;
- vector edge1;
- vector v0;
-} tri;
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
- vector edge2;
- vector edge1;
- vector v0;
- vector n0;
- vector n1;
- vector n2;
-} stri;
-
-static int tri_bbox(void * obj, vector * min, vector * max);
-
-static void tri_intersect(tri *, ray *);
-
-static void tri_normal(tri *, vector *, ray *, vector *);
-static void stri_normal(stri *, vector *, ray *, vector *);
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#if __MINGW32__
-#include <malloc.h>
-#elif _WIN32
-#include <malloc.h>
-#define alloca _alloca
-#elif __FreeBSD__
-#include <stdlib.h>
-#else
-#include <alloca.h>
-#endif
-
-/*
- * types.h - This file contains all of the type definitions for the raytracer
- *
- * $Id: types.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#define MAXOCTNODES 25 /* subdivide octants /w > # of children */
-#define SPEPSILON 0.000001 /* amount to crawl down a ray */
-#define EPSILON 0.000001 /* amount to crawl down a ray */
-#define TWOPI 6.2831853 /* guess */
-#define FHUGE 1e18 /* biggest fp number we can represent */
-
-/* Maximum internal table sizes */
-/* Use prime numbers for best memory system performance */
-#define INTTBSIZE 1024 /* maximum intersections we can hold */
-#define MAXLIGHTS 39 /* maximum number of lights in a scene */
-#define MAXIMGS 39 /* maxiumum number of distinct images */
-#define RPCQSIZE 113 /* number of RPC messages to queue */
-
-/* Parameter values for rt_boundmode() */
-#define RT_BOUNDING_DISABLED 0 /* spatial subdivision/bounding disabled */
-#define RT_BOUNDING_ENABLED 1 /* spatial subdivision/bounding enabled */
-
-/* Parameter values for rt_displaymode() */
-#define RT_DISPLAY_DISABLED 0 /* video output enabled */
-#define RT_DISPLAY_ENABLED 1 /* video output disabled */
-
-/* Ray flags */
-#define RT_RAY_REGULAR 1
-#define RT_RAY_SHADOW 2
-#define RT_RAY_BOUNDED 4
-#define RT_RAY_FINISHED 8
-
-#ifdef USESINGLEFLT
-typedef float flt; /* generic floating point number, using float */
-#else
-typedef double flt; /* generic floating point number, using double */
-#endif
-
-typedef unsigned char byte; /* 1 byte */
-typedef signed int word; /* 32 bit integer */
-
-typedef struct {
- flt x; /* X coordinate value */
- flt y; /* Y coordinate value */
- flt z; /* Z coordinate value */
-} vector;
-
-typedef struct {
- flt r; /* Red component */
- flt g; /* Green component */
- flt b; /* Blue component */
-} color;
-
-typedef struct {
- byte r; /* Red component */
- byte g; /* Green component */
- byte b; /* Blue component */
-} bytecolor;
-
-typedef struct { /* Raw 24 bit image structure, for tga, ppm etc */
- int loaded; /* image memory residence flag */
- int xres; /* image X axis size */
- int yres; /* image Y axis size */
- int bpp; /* image bits per pixel */
- char name[96]; /* image filename (with path) */
- unsigned char * data; /* pointer to raw byte image data */
-} rawimage;
-
-typedef struct { /* Scalar Volume Data */
- int loaded; /* Volume data memory residence flag */
- int xres; /* volume X axis size */
- int yres; /* volume Y axis size */
- int zres; /* volume Z axis size */
- flt opacity; /* opacity per unit length */
- char name[96]; /* Volume data filename */
- unsigned char * data; /* pointer to raw byte volume data */
-} scalarvol;
-
-typedef struct {
- color (* texfunc)(void *, void *, void *);
- int shadowcast; /* does the object cast a shadow */
- int islight; /* light flag... */
- color col; /* base object color */
- flt ambient; /* ambient lighting */
- flt diffuse; /* diffuse reflection */
- flt phong; /* phong specular highlights */
- flt phongexp; /* phong exponent/shininess factor */
- int phongtype; /* phong type: 0 == plastic, nonzero == metal */
- flt specular; /* specular reflection */
- flt opacity; /* how opaque the object is */
- vector ctr; /* origin of texture */
- vector rot; /* rotation of texture about origin */
- vector scale; /* scale of texture in x,y,z */
- vector uaxs; /* planar map U axis */
- vector vaxs; /* planar map V axis */
- void * img; /* pointer to image for image mapping */
- void * obj; /* object ptr, hack for volume shaders for now */
-} texture;
-
-typedef struct {
- void (* intersect)(void *, void *); /* intersection func ptr */
- void (* normal)(void *, void *, void *, void *); /* normal function ptr */
- int (* bbox)(void *, vector *, vector *); /* return the object bbox */
- void (* free)(void *); /* free the object */
-} object_methods;
-
-typedef struct {
- unsigned int id; /* Unique Object serial number */
- void * nextobj; /* pointer to next object in list */
- object_methods * methods; /* this object's methods */
- texture * tex; /* object texture */
-} object;
-
-typedef struct {
- object * obj; /* to object we hit */
- flt t; /* distance along the ray to the hit point */
-} intersection;
-
-typedef struct {
- int num; /* number of intersections */
- intersection closest; /* closest intersection > 0.0 */
- intersection list[INTTBSIZE]; /* list of all intersections */
-} intersectstruct;
-
-typedef struct {
- char outfilename[200]; /* name of the output image */
- unsigned char * rawimage; /* pointer to a raw rgb image to be stored */
- int hres; /* horizontal output image resolution */
- int vres; /* vertical output image resolution */
- flt aspectratio; /* aspect ratio of output image */
- int raydepth; /* maximum recursion depth */
- int antialiasing; /* number of antialiasing rays to fire */
- int verbosemode; /* verbose reporting flag */
- int boundmode; /* automatic spatial subdivision flag */
- int boundthresh; /* threshold number of subobjects */
- int displaymode; /* run-time X11 display flag */
- vector camcent; /* center of the camera in world coords */
- vector camviewvec; /* view direction of the camera (Z axis) */
- vector camrightvec; /* right axis for the camera (X axis) */
- vector camupvec; /* up axis for the camera (Y axis) */
- flt camzoom; /* zoom factor for the camera */
- color background; /* scene background color */
-} scenedef;
-
-typedef struct {
- intersectstruct * intstruct; /* ptr to thread's intersection data */
- unsigned int depth; /* levels left to recurse.. (maxdepth - curdepth) */
- unsigned int flags; /* ray flags, any special treatment needed etc */
- unsigned int serial; /* serial number of the ray */
- unsigned int * mbox; /* mailbox array for optimizing intersections */
- vector o; /* origin of the ray X,Y,Z */
- vector d; /* normalized direction of the ray */
- flt maxdist; /* maximum distance to search for intersections */
- vector s; /* startpoint of the ray (may differ from origin */
- vector e; /* endpoint of the ray if bounded */
- scenedef * scene; /* pointer to the scene, for global parms such as */
- /* background colors etc */
-} ray;
-
-typedef struct {
- int type; /* RPC call type */
- int from; /* Sending processor */
- int len; /* length of parms in bytes */
- void * parms; /* Parameters to RPC */
-} rpcmsg;
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * ui.c - Contains functions for dealing with user interfaces
- *
- * $Id: ui.cpp,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "util.h"
-#include "ui.h"
-
-static void (* rt_static_ui_message) (int, const char *) = NULL;
-static void (* rt_static_ui_progress) (int) = NULL;
-static int (* rt_static_ui_checkaction) (void) = NULL;
-
-void set_rt_ui_message(void (* func) (int, const char *)) {
- rt_static_ui_message = func;
-}
-
-void set_rt_ui_progress(void (* func) (int)) {
- rt_static_ui_progress = func;
-}
-
-void rt_ui_message(int level, const char * msg) {
- if (rt_static_ui_message == NULL) {
- fprintf(stderr, "%s\n", msg);
- fflush (stderr);
- } else {
- rt_static_ui_message(level, msg);
- }
-}
-
-void rt_ui_progress(int percent) {
- if (rt_static_ui_progress != NULL)
- rt_static_ui_progress(percent);
- else {
- fprintf(stderr, "\r %3d%% Complete \r", percent);
- fflush(stderr);
- }
-}
-
-int rt_ui_checkaction(void) {
- if (rt_static_ui_checkaction != NULL)
- return rt_static_ui_checkaction();
- else
- return 0;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * ui.h - defines for user interface functions
- *
- * $Id: ui.h,v 1.2 2007-02-22 17:54:16 dpoulsen Exp $
- */
-
-/* Different types of message, for levels of verbosity etc */
-#define MSG_0 100
-#define MSG_1 101
-#define MSG_2 102
-#define MSG_3 103
-#define MSG_4 104
-#define MSG_5 105
-#define MSG_ERR 200
-#define MSG_ABORT 300
-
-void rt_ui_message(int, const char *);
-void rt_ui_progress(int);
-int rt_ui_checkaction(void);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * util.c - Contains all of the timing functions for various platforms.
- *
- * $Id: util.cpp,v 1.6 2007-02-22 18:17:51 amalakho Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "util.h"
-#include "light.h"
-#include "global.h"
-#include "ui.h"
-
-void rt_finalize(void);
-
-#ifndef _WIN32
-#include <sys/time.h>
-#include <unistd.h>
-
-void rt_sleep(int msec) {
- usleep(msec*1000);
-}
-
-#else //_WIN32
-
-#undef OLDUNIXTIME
-#undef STDTIME
-
-#include <windows.h>
-
-void rt_sleep(int msec) {
- Sleep(msec);
-}
-
-DWORD starttime;
-DWORD stoptime;
-
-void timerstart(void) {
- starttime = GetTickCount ();
-}
-
-void timerstop(void) {
- stoptime = GetTickCount ();
-}
-
-flt timertime(void) {
- double ttime, start, end;
-
- start = ((double) starttime) / ((double) 1000.00);
- end = ((double) stoptime) / ((double) 1000.00);
- ttime = end - start;
-
- return ttime;
-}
-#endif /* _WIN32 */
-
-/* if we're on a Unix with gettimeofday() we'll use newer timers */
-#ifdef STDTIME
- struct timeval starttime, endtime;
- struct timezone tz;
-
-void timerstart(void) {
- gettimeofday(&starttime, &tz);
-}
-
-void timerstop(void) {
- gettimeofday(&endtime, &tz);
-}
-
-flt timertime(void) {
- double ttime, start, end;
-
- start = (starttime.tv_sec+1.0*starttime.tv_usec / 1000000.0);
- end = (endtime.tv_sec+1.0*endtime.tv_usec / 1000000.0);
- ttime = end - start;
-
- return ttime;
-}
-#endif /* STDTIME */
-
-
-
-/* use the old fashioned Unix time functions */
-#ifdef OLDUNIXTIME
-time_t starttime;
-time_t stoptime;
-
-void timerstart(void) {
- starttime=time(NULL);
-}
-
-void timerstop(void) {
- stoptime=time(NULL);
-}
-
-flt timertime(void) {
- flt a;
- a = difftime(stoptime, starttime);
- return a;
-}
-#endif /* OLDUNIXTIME */
-
-
-
-/* random other helper utility functions */
-int rt_meminuse(void) {
- return rt_mem_in_use;
-}
-
-void * rt_getmem(unsigned int bytes) {
- void * mem;
-
- mem=malloc( bytes );
- if (mem!=NULL) {
- rt_mem_in_use += bytes;
- }
- else {
- rtbomb("No more memory!!!!");
- }
- return mem;
-}
-
-unsigned int rt_freemem(void * addr) {
- unsigned int bytes;
-
- free(addr);
-
- bytes=0;
- rt_mem_in_use -= bytes;
- return bytes;
-}
-
-void rtbomb(const char * msg) {
- rt_ui_message(MSG_ERR, msg);
- rt_ui_message(MSG_ABORT, "Rendering Aborted.");
-
- rt_finalize();
- exit(1);
-}
-
-void rtmesg(const char * msg) {
- rt_ui_message(MSG_0, msg);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * util.h - This file contains defines for the timer functions...
- *
- * $Id: util.h,v 1.3 2007-02-22 17:54:17 dpoulsen Exp $
- */
-
-void timerstart(void);
-void timerstop(void);
-flt timertime(void);
-void rt_sleep(int);
-int rt_meminuse(void);
-void * rt_getmem(unsigned int);
-unsigned int rt_freemem(void *);
-void rtbomb(const char *);
-void rtmesg(const char *);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * vector.c - This file contains all of the vector arithmetic functions.
- *
- * $Id: vector.cpp,v 1.2 2007-02-22 17:54:17 dpoulsen Exp $
- */
-
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-
-flt VDot(vector *a, vector *b) {
- return (a->x*b->x + a->y*b->y + a->z*b->z);
-}
-
-void VCross(vector * a, vector * b, vector * c) {
- c->x = (a->y * b->z) - (a->z * b->y);
- c->y = (a->z * b->x) - (a->x * b->z);
- c->z = (a->x * b->y) - (a->y * b->x);
-}
-
-flt VLength(vector * a) {
- return (flt) sqrt((a->x * a->x) + (a->y * a->y) + (a->z * a->z));
-}
-
-void VNorm(vector * a) {
- flt len;
-
- len=sqrt((a->x * a->x) + (a->y * a->y) + (a->z * a->z));
- if (len != 0.0) {
- a->x /= len;
- a->y /= len;
- a->z /= len;
- }
-}
-
-void VAdd(vector * a, vector * b, vector * c) {
- c->x = (a->x + b->x);
- c->y = (a->y + b->y);
- c->z = (a->z + b->z);
-}
-
-void VSub(vector * a, vector * b, vector * c) {
- c->x = (a->x - b->x);
- c->y = (a->y - b->y);
- c->z = (a->z - b->z);
-}
-
-void VAddS(flt a, vector * A, vector * B, vector * C) {
- C->x = (a * A->x) + B->x;
- C->y = (a * A->y) + B->y;
- C->z = (a * A->z) + B->z;
-}
-
-vector Raypnt(ray * a, flt t) {
- vector temp;
-
- temp.x=a->o.x + (a->d.x * t);
- temp.y=a->o.y + (a->d.y * t);
- temp.z=a->o.z + (a->d.z * t);
-
- return temp;
-}
-
-void VScale(vector * a, flt s) {
- a->x *= s;
- a->y *= s;
- a->z *= s;
-}
-
-void ColorAddS(color * a, color * b, flt s) {
- a->r += b->r * s;
- a->g += b->g * s;
- a->b += b->b * s;
-}
-
-void ColorAccum(color * a, color * b) {
- a->r += b->r;
- a->g += b->g;
- a->b += b->b;
-}
-
-void ColorScale(color * a, flt s) {
- a->r *= s;
- a->g *= s;
- a->b *= s;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * vector.h - This file contains declarations of vector functions
- *
- * $Id: vector.h,v 1.2 2007-02-22 17:54:17 dpoulsen Exp $
- */
-
-flt VDot(vector *, vector *);
-void VCross(vector *, vector *, vector *);
-flt VLength(vector *);
-void VNorm(vector *);
-void VAdd(vector *, vector *, vector *);
-void VSub(vector *, vector *, vector *);
-void VAddS(flt, vector *, vector *, vector *);
-vector Raypnt(ray *, flt);
-void VScale(vector * a, flt s);
-
-void ColorAddS(color * a, color * b, flt s);
-void ColorAccum(color * a, color * b);
-void ColorScale(color * a, flt s);
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * video.c - routines for putting pixels on a screen if one is available.
- *
- * $Id: video.cpp,v 1.20 2007-02-28 18:35:22 amalakho Exp $
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define VIDEO_WINMAIN_ARGS
-#include "types.h"
-#include "api.h" /* The ray tracing library API */
-#include "getargs.h" /* command line argument/option parsing */
-#include "parse.h" /* Support for my own file format */
-#include "ui.h"
-#include "util.h"
-#include "video.h"
-
-static SceneHandle global_scene;
-static int global_xsize; /* size of graphic image rendered in window (from hres, vres) */
-static int global_ysize;
-static int global_xwinsize; /* size of window (may be larger than above) */
-static int global_ywinsize;
-static char *global_window_title;
-static bool global_usegraphics;
-
-static char *window_title_string (int argc, char **argv)
-{
- int i;
- char *name;
-
- name = (char *) malloc (8192);
-
- if(strrchr(argv[0], '\\')) strcpy (name, strrchr(argv[0], '\\')+1);
- else if(strrchr(argv[0], '/')) strcpy (name, strrchr(argv[0], '/')+1);
- else strcpy (name, *argv[0]?argv[0]:"Tachyon");
- for (i = 1; i < argc; i++) {
- strcat (name, " ");
- strcat (name, argv[i]);
- }
-#ifdef _DEBUG
- strcat (name, " (DEBUG BUILD)");
-#endif
- return name;
-}
-
-static int main_init_parts (int argc, char **argv)
-{
- int rc;
- argoptions opt;
- char * filename;
-
- global_window_title = window_title_string (argc, argv);
-
- global_scene = rt_newscene();
-
- rt_initialize(&argc, &argv);
-
- if ((rc = getargs(argc, argv, &opt)) == -1) {
-#if _WIN32||_WIN64
- rt_sleep(10000);
-#endif
- exit(rc);
- }
-
-#ifdef DEFAULT_MODELFILE
-#if _WIN32||_WIN64
-#define _GLUE_FILENAME(x) "..\\dat\\" #x
-#else
-#define _GLUE_FILENAME(x) #x
-#endif
-#define GLUE_FILENAME(x) _GLUE_FILENAME(x)
- if(opt.foundfilename == -1)
- filename = GLUE_FILENAME(DEFAULT_MODELFILE);
- else
-#endif//DEFAULT_MODELFILE
- filename = opt.filename;
-
- rc = readmodel(filename, global_scene);
-
- if (rc != 0) {
- fprintf(stderr, "Parser returned a non-zero error code reading %s\n", filename);
- fprintf(stderr, "Aborting Render...\n");
- rt_finalize();
- return -1;
- }
-
- /* process command line overrides */
- useoptions(&opt, global_scene);
-
- // need these early for create_graphics_window() so grab these here...
- scenedef *scene = (scenedef *) global_scene;
- global_xsize = scene->hres;
- global_ysize = scene->vres;
- global_xwinsize = global_xsize;
- global_ywinsize = global_ysize; // add some here to leave extra blank space on bottom for status etc.
- global_usegraphics = (scene->displaymode == RT_DISPLAY_ENABLED);
-
- return 0;
-}
-
-class tachyon_video : public video
-{
- void on_process()
- {
- char buf[128];
- flt runtime;
- timerstart();
- rt_renderscene(global_scene);
- timerstop();
- runtime=timertime();
- sprintf(buf, "\nCPU Time: %.3f seconds.", runtime);
- rt_ui_message(MSG_0, buf); buf[0] = ' ';
- strcat(global_window_title, buf);
- title = global_window_title; updating = true;
- show_title();
- rt_finalize();
- }
- void on_key(int key) {
- key &= 0xff; if(key == 27) running = false;
- }
-};
-class video *video = 0;
-
-void rt_finalize(void) {
- timerstart();
- if(global_usegraphics)
- do { rt_sleep(10); timerstop(); }
- while(timertime() < 10 && video->next_frame());
-#ifdef _WINDOWS
- else rt_sleep(10000);
-#endif
-}
-
-int main (int argc, char **argv)
-{
- int rc;
-
- tachyon_video tachyon;
- tachyon.threaded = true;
- tachyon.init_console();
-
- rc = main_init_parts (argc, argv);
- if (rc) return rc;
-
- tachyon.title = global_window_title;
- tachyon.updating = global_usegraphics;
- // always using window even if(!global_usegraphics)
- global_usegraphics =
- tachyon.init_window(global_xwinsize, global_ywinsize);
- if(!tachyon.running)
- return -1;
-
- video = &tachyon;
- tachyon.main_loop();
-
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-#include "../../../common/gui/video.h"
-extern class video *video;
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * vol.c - Volume rendering helper routines etc.
- *
- *
- * $Id: vol.cpp,v 1.3 2007-02-22 18:17:51 amalakho Exp $
- */
-
-#include<stdio.h>
-#include "machine.h"
-#include "types.h"
-#include "macros.h"
-#include "vector.h"
-#include "util.h"
-#include "vol.h"
-#include "box.h"
-#include "trace.h"
-#include "ui.h"
-#include "light.h"
-#include "shade.h"
-
-int scalarvol_bbox(void * obj, vector * min, vector * max) {
- box * b = (box *) obj;
-
- *min = b->min;
- *max = b->max;
-
- return 1;
-}
-
-void * newscalarvol(void * intex, vector min, vector max,
- int xs, int ys, int zs, char * fname, scalarvol * invol) {
- box * bx;
- texture * tx, * tex;
- scalarvol * vol;
-
- tex=(texture *)intex;
- tex->shadowcast = 0; /* doesn't cast a shadow */
-
- tx=(texture *)rt_getmem(sizeof(texture));
-
- /* is the volume data already loaded? */
- if (invol==NULL) {
- vol=(scalarvol *)rt_getmem(sizeof(scalarvol));
- vol->loaded=0;
- vol->data=NULL;
- }
- else
- vol=invol;
-
- vol->opacity=tex->opacity;
- vol->xres=xs;
- vol->yres=ys;
- vol->zres=zs;
- strcpy(vol->name, fname);
-
- tx->ctr.x = 0.0;
- tx->ctr.y = 0.0;
- tx->ctr.z = 0.0;
- tx->rot = tx->ctr;
- tx->scale = tx->ctr;
- tx->uaxs = tx->ctr;
- tx->vaxs = tx->ctr;
-
- tx->islight = 0;
- tx->shadowcast = 0; /* doesn't cast a shadow */
-
- tx->col = tex->col;
- tx->ambient = 1.0;
- tx->diffuse = 0.0;
- tx->specular = 0.0;
- tx->opacity = 1.0;
- tx->img = vol;
- tx->texfunc = (color(*)(void *, void *, void *))(scalar_volume_texture);
-
- bx=newbox(tx, min, max);
- tx->obj = (void *) bx; /* XXX hack! */
-
- return (void *) bx;
-}
-
-
-color VoxelColor(flt scalar) {
- color col;
-
- if (scalar > 1.0)
- scalar = 1.0;
-
- if (scalar < 0.0)
- scalar = 0.0;
-
- if (scalar < 0.25) {
- col.r = scalar * 4.0;
- col.g = 0.0;
- col.b = 0.0;
- }
- else {
- if (scalar < 0.75) {
- col.r = 1.0;
- col.g = (scalar - 0.25) * 2.0;
- col.b = 0.0;
- }
- else {
- col.r = 1.0;
- col.g = 1.0;
- col.b = (scalar - 0.75) * 4.0;
- }
- }
-
- return col;
-}
-
-color scalar_volume_texture(vector * hit, texture * tex, ray * ry) {
- color col, col2;
- box * bx;
- flt a, tx1, tx2, ty1, ty2, tz1, tz2;
- flt tnear, tfar;
- flt t, tdist, dt, sum, tt;
- vector pnt, bln;
- scalarvol * vol;
- flt scalar, transval;
- int x, y, z;
- unsigned char * ptr;
-
- bx=(box *) tex->obj;
- vol=(scalarvol *)bx->tex->img;
-
- col.r=0.0;
- col.g=0.0;
- col.b=0.0;
-
- tnear= -FHUGE;
- tfar= FHUGE;
-
- if (ry->d.x == 0.0) {
- if ((ry->o.x < bx->min.x) || (ry->o.x > bx->max.x)) return col;
- }
- else {
- tx1 = (bx->min.x - ry->o.x) / ry->d.x;
- tx2 = (bx->max.x - ry->o.x) / ry->d.x;
- if (tx1 > tx2) { a=tx1; tx1=tx2; tx2=a; }
- if (tx1 > tnear) tnear=tx1;
- if (tx2 < tfar) tfar=tx2;
- }
- if (tnear > tfar) return col;
- if (tfar < 0.0) return col;
-
- if (ry->d.y == 0.0) {
- if ((ry->o.y < bx->min.y) || (ry->o.y > bx->max.y)) return col;
- }
- else {
- ty1 = (bx->min.y - ry->o.y) / ry->d.y;
- ty2 = (bx->max.y - ry->o.y) / ry->d.y;
- if (ty1 > ty2) { a=ty1; ty1=ty2; ty2=a; }
- if (ty1 > tnear) tnear=ty1;
- if (ty2 < tfar) tfar=ty2;
- }
- if (tnear > tfar) return col;
- if (tfar < 0.0) return col;
-
- if (ry->d.z == 0.0) {
- if ((ry->o.z < bx->min.z) || (ry->o.z > bx->max.z)) return col;
- }
- else {
- tz1 = (bx->min.z - ry->o.z) / ry->d.z;
- tz2 = (bx->max.z - ry->o.z) / ry->d.z;
- if (tz1 > tz2) { a=tz1; tz1=tz2; tz2=a; }
- if (tz1 > tnear) tnear=tz1;
- if (tz2 < tfar) tfar=tz2;
- }
- if (tnear > tfar) return col;
- if (tfar < 0.0) return col;
-
- if (tnear < 0.0) tnear=0.0;
-
- tdist=sqrt((flt) (vol->xres*vol->xres + vol->yres*vol->yres + vol->zres*vol->zres));
- tt = (vol->opacity / tdist);
-
- bln.x=fabs(bx->min.x - bx->max.x);
- bln.y=fabs(bx->min.y - bx->max.y);
- bln.z=fabs(bx->min.z - bx->max.z);
-
- dt=sqrt(bln.x*bln.x + bln.y*bln.y + bln.z*bln.z) / tdist;
- sum=0.0;
-
- /* move the volume residency check out of loop.. */
- if (!vol->loaded) {
- LoadVol(vol);
- vol->loaded=1;
- }
-
- for (t=tnear; t<=tfar; t+=dt) {
- pnt.x=((ry->o.x + (ry->d.x * t)) - bx->min.x) / bln.x;
- pnt.y=((ry->o.y + (ry->d.y * t)) - bx->min.y) / bln.y;
- pnt.z=((ry->o.z + (ry->d.z * t)) - bx->min.z) / bln.z;
-
- x=(int) ((vol->xres - 1.5) * pnt.x + 0.5);
- y=(int) ((vol->yres - 1.5) * pnt.y + 0.5);
- z=(int) ((vol->zres - 1.5) * pnt.z + 0.5);
-
- ptr = vol->data + ((vol->xres * vol->yres * z) + (vol->xres * y) + x);
-
- scalar = (flt) ((flt) 1.0 * ((int) ptr[0])) / 255.0;
-
- sum += tt * scalar;
-
- transval = tt * scalar;
-
- col2 = VoxelColor(scalar);
-
- if (sum < 1.0) {
- col.r += transval * col2.r;
- col.g += transval * col2.g;
- col.b += transval * col2.b;
- if (sum < 0.0) sum=0.0;
- }
- else {
- sum=1.0;
- }
- }
-
- if (sum < 1.0) { /* spawn transmission rays / refraction */
- color transcol;
-
- transcol = shade_transmission(ry, hit, 1.0 - sum);
-
- col.r += transcol.r; /* add the transmitted ray */
- col.g += transcol.g; /* to the diffuse and */
- col.b += transcol.b; /* transmission total.. */
- }
-
- return col;
-}
-
-void LoadVol(scalarvol * vol) {
- FILE * dfile;
- int status;
- char msgtxt[2048];
-
- dfile=fopen(vol->name, "r");
- if (dfile==NULL) {
- char msgtxt[2048];
- sprintf(msgtxt, "Vol: can't open %s for input!!! Aborting\n",vol->name);
- rt_ui_message(MSG_ERR, msgtxt);
- rt_ui_message(MSG_ABORT, "Rendering Aborted.");
- exit(1);
- }
-
- sprintf(msgtxt, "loading %dx%dx%d volume set from %s",
- vol->xres, vol->yres, vol->zres, vol->name);
- rt_ui_message(MSG_0, msgtxt);
-
- vol->data = (unsigned char *)rt_getmem(vol->xres * vol->yres * vol->zres);
-
- status=fread(vol->data, 1, (vol->xres * vol->yres * vol->zres), dfile);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/*
- The original source for this example is
- Copyright (c) 1994-2008 John E. Stone
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * vol.h - Volume rendering definitions etc.
- *
- *
- * $Id: vol.h,v 1.2 2007-02-22 17:54:17 dpoulsen Exp $
- */
-
-
-void * newscalarvol(void * intex, vector min, vector max,
- int xs, int ys, int zs,
- char * fname, scalarvol * invol);
-
-void LoadVol(scalarvol *);
-color scalar_volume_texture(vector *, texture *, ray *);
+++ /dev/null
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_GUI ICON "gui.ico"
-IDI_SMALL ICON "small.ico"
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""windows.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_APP_TITLE "gui"
- IDC_GUI "GUI"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
+++ /dev/null
-#define IDC_MYICON 2
-#define IDD_GUI 102
-#define IDS_APP_TITLE 103
-#define IDI_GUI 107
-#define IDI_SMALL 108
-#define IDC_GUI 109
-#define IDR_MAINFRAME 128
-#define IDC_STATIC -1
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="tachyon.serial"
- ProjectGUID="{1D7176EE-63B6-48F2-AB83-FFAD2048C25D}"
- RootNamespace="tachyon.serial"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x86"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x86"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{1D7176EE-63B6-48F2-AB83-FFAD2149C25E}"
- Name="tachyon.common"/>
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.serial.cpp">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.common", "tachyon.vcproj", "{1D7176EE-63B6-48F2-AB83-FFAD2149C25E}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.serial", "tachyon.serial.vcproj", "{1D7176EE-63B6-48F2-AB83-FFAD2048C25D}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.tbb1d", "tachyon.tbb1d.vcproj", "{1D7176EE-63B6-48F2-AB83-FFAD2348C25D}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.tbb", "tachyon.tbb.vcproj", "{1D7176EE-63B6-48F2-AB83-FFAD2448C25D}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- DD Debug = DD Debug
- DD Release = DD Release
- GDI Debug = GDI Debug
- GDI Release = GDI Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.DD Debug.ActiveCfg = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.DD Debug.Build.0 = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.DD Release.ActiveCfg = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.DD Release.Build.0 = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.GDI Debug.ActiveCfg = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.GDI Debug.Build.0 = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.GDI Release.ActiveCfg = Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2149C25E}.GDI Release.Build.0 = Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.DD Debug.ActiveCfg = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.DD Debug.Build.0 = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.DD Release.ActiveCfg = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.DD Release.Build.0 = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.GDI Debug.ActiveCfg = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.GDI Debug.Build.0 = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.GDI Release.ActiveCfg = Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2048C25D}.GDI Release.Build.0 = Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.DD Debug.ActiveCfg = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.DD Debug.Build.0 = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.DD Release.ActiveCfg = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.DD Release.Build.0 = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.GDI Debug.ActiveCfg = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.GDI Debug.Build.0 = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.GDI Release.ActiveCfg = Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2348C25D}.GDI Release.Build.0 = Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.DD Debug.ActiveCfg = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.DD Debug.Build.0 = DD Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.DD Release.ActiveCfg = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.DD Release.Build.0 = DD Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.GDI Debug.ActiveCfg = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.GDI Debug.Build.0 = Debug|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.GDI Release.ActiveCfg = Release|Win32
- {1D7176EE-63B6-48F2-AB83-FFAD2448C25D}.GDI Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="tachyon.tbb"
- ProjectGUID="{1D7176EE-63B6-48F2-AB83-FFAD2448C25D}"
- RootNamespace="tachyon.tbb"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{1D7176EE-63B6-48F2-AB83-FFAD2149C25E}"
- Name="tachyon.common"/>
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.tbb.cpp">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="tachyon.tbb1d"
- ProjectGUID="{1D7176EE-63B6-48F2-AB83-FFAD2348C25D}"
- RootNamespace="tachyon.tbb1d"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- SubSystem="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- SubSystem="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)/$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="$(OutDir)/tachyon.common.lib tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
- SubSystem="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{1D7176EE-63B6-48F2-AB83-FFAD2149C25E}"
- Name="tachyon.common"/>
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.tbb1d.cpp">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="tachyon.common"
- ProjectGUID="{1D7176EE-63B6-48F2-AB83-FFAD2149C25E}"
- RootNamespace="tachyon.common"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- AdditionalOptions="/LTCG"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- AdditionalOptions="/LTCG"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- AdditionalOptions="/LTCG"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="TRUE"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="TRUE"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- AdditionalOptions="/LTCG"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\src\api.cpp">
- </File>
- <File
- RelativePath="..\src\apigeom.cpp">
- </File>
- <File
- RelativePath="..\src\apitrigeom.cpp">
- </File>
- <File
- RelativePath="..\src\bndbox.cpp">
- </File>
- <File
- RelativePath="..\src\box.cpp">
- </File>
- <File
- RelativePath="..\src\camera.cpp">
- </File>
- <File
- RelativePath="..\src\coordsys.cpp">
- </File>
- <File
- RelativePath="..\src\cylinder.cpp">
- </File>
- <File
- RelativePath="..\src\extvol.cpp">
- </File>
- <File
- RelativePath="..\src\getargs.cpp">
- </File>
- <File
- RelativePath="..\src\global.cpp">
- </File>
- <File
- RelativePath="..\src\grid.cpp">
- </File>
- <File
- RelativePath="..\src\imageio.cpp">
- </File>
- <File
- RelativePath="..\src\imap.cpp">
- </File>
- <File
- RelativePath="..\src\intersect.cpp">
- </File>
- <File
- RelativePath="..\src\jpeg.cpp">
- </File>
- <File
- RelativePath="..\src\light.cpp">
- </File>
- <File
- RelativePath="..\src\objbound.cpp">
- </File>
- <File
- RelativePath="..\src\parse.cpp">
- </File>
- <File
- RelativePath="..\src\plane.cpp">
- </File>
- <File
- RelativePath="..\src\ppm.cpp">
- </File>
- <File
- RelativePath="..\src\pthread.cpp">
- </File>
- <File
- RelativePath="..\src\quadric.cpp">
- </File>
- <File
- RelativePath="..\src\render.cpp">
- </File>
- <File
- RelativePath="..\src\ring.cpp">
- </File>
- <File
- RelativePath="..\src\shade.cpp">
- </File>
- <File
- RelativePath="..\src\sphere.cpp">
- </File>
- <File
- RelativePath="..\src\texture.cpp">
- </File>
- <File
- RelativePath="..\src\tgafile.cpp">
- </File>
- <File
- RelativePath="..\src\trace_rest.cpp">
- </File>
- <File
- RelativePath="..\src\triangle.cpp">
- </File>
- <File
- RelativePath="..\src\ui.cpp">
- </File>
- <File
- RelativePath="..\src\util.cpp">
- </File>
- <File
- RelativePath="..\src\vector.cpp">
- </File>
- <File
- RelativePath="..\src\video.cpp">
- </File>
- <File
- RelativePath="..\src\vol.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\src\api.h">
- </File>
- <File
- RelativePath="..\src\apitrigeom.h">
- </File>
- <File
- RelativePath="..\src\bndbox.h">
- </File>
- <File
- RelativePath="..\src\box.h">
- </File>
- <File
- RelativePath="..\src\camera.h">
- </File>
- <File
- RelativePath="..\src\coordsys.h">
- </File>
- <File
- RelativePath="..\src\cylinder.h">
- </File>
- <File
- RelativePath="..\src\extvol.h">
- </File>
- <File
- RelativePath="..\src\getargs.h">
- </File>
- <File
- RelativePath="..\src\global.h">
- </File>
- <File
- RelativePath="..\src\grid.h">
- </File>
- <File
- RelativePath="..\src\imageio.h">
- </File>
- <File
- RelativePath="..\src\imap.h">
- </File>
- <File
- RelativePath="..\src\intersect.h">
- </File>
- <File
- RelativePath="..\src\jpeg.h">
- </File>
- <File
- RelativePath="..\src\light.h">
- </File>
- <File
- RelativePath="..\src\machine.h">
- </File>
- <File
- RelativePath="..\src\macros.h">
- </File>
- <File
- RelativePath="..\src\objbound.h">
- </File>
- <File
- RelativePath="..\src\parse.h">
- </File>
- <File
- RelativePath="..\src\plane.h">
- </File>
- <File
- RelativePath="..\src\ppm.h">
- </File>
- <File
- RelativePath="..\src\pthread.h">
- </File>
- <File
- RelativePath="..\src\quadric.h">
- </File>
- <File
- RelativePath="..\src\render.h">
- </File>
- <File
- RelativePath=".\resource.h">
- </File>
- <File
- RelativePath="..\src\ring.h">
- </File>
- <File
- RelativePath="..\src\shade.h">
- </File>
- <File
- RelativePath="..\src\sphere.h">
- </File>
- <File
- RelativePath="..\src\texture.h">
- </File>
- <File
- RelativePath="..\src\tgafile.h">
- </File>
- <File
- RelativePath="..\src\trace.h">
- </File>
- <File
- RelativePath="..\src\triangle.h">
- </File>
- <File
- RelativePath="..\src\types.h">
- </File>
- <File
- RelativePath="..\src\ui.h">
- </File>
- <File
- RelativePath="..\src\util.h">
- </File>
- <File
- RelativePath="..\src\vector.h">
- </File>
- <File
- RelativePath="..\src\video.h">
- </File>
- <File
- RelativePath="..\src\vol.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- <File
- RelativePath=".\gui.ico">
- </File>
- <File
- RelativePath=".\gui.rc">
- </File>
- <File
- RelativePath=".\small.ico">
- </File>
- </Filter>
- <Filter
- Name="Video Layer"
- Filter="">
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp">
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h">
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="tachyon.serial"
- ProjectGUID="{924517DF-2B6A-47D5-8A11-CC047CC4D8E9}"
- RootNamespace="tachyon.serial"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x86"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x64"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x86"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x64"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- CopyLocal="false"
- CopyLocalDependencies="false"
- CopyLocalSatelliteAssemblies="false"
- RelativePathToProject=".\tachyon.vcproj"
- />
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.serial.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.common", "tachyon.vcproj", "{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.serial", "tachyon.serial.vcproj", "{924517DF-2B6A-47D5-8A11-CC047CC4D8E9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.tbb1d", "tachyon.tbb1d.vcproj", "{924517DF-2B6A-47D5-8A11-CC347CC4D8E9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.tbb", "tachyon.tbb.vcproj", "{6E9B1702-78E0-4D64-B771-8B274D963B58}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DD Debug|Win32 = DD Debug|Win32
- DD Debug|x64 = DD Debug|x64
- DD Release|Win32 = DD Release|Win32
- DD Release|x64 = DD Release|x64
- GDI Debug|Win32 = GDI Debug|Win32
- GDI Debug|x64 = GDI Debug|x64
- GDI Release|Win32 = GDI Release|Win32
- GDI Release|x64 = GDI Release|x64
- Description = Tachyon ray-tracer example
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|x64.Build.0 = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|Win32.Build.0 = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|x64.ActiveCfg = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|x64.Build.0 = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|Win32.Build.0 = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|x64.ActiveCfg = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|x64.Build.0 = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|Win32.ActiveCfg = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|Win32.Build.0 = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|x64.ActiveCfg = Release|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|x64.Build.0 = Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|x64.Build.0 = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|Win32.Build.0 = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|x64.ActiveCfg = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|x64.Build.0 = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|Win32.Build.0 = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|x64.ActiveCfg = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|x64.Build.0 = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|Win32.ActiveCfg = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|Win32.Build.0 = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|x64.ActiveCfg = Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|x64.Build.0 = Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|x64.Build.0 = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|Win32.Build.0 = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|x64.ActiveCfg = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|x64.Build.0 = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|Win32.Build.0 = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|x64.ActiveCfg = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|x64.Build.0 = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|Win32.ActiveCfg = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|Win32.Build.0 = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|x64.ActiveCfg = Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|x64.Build.0 = Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|x64.Build.0 = DD Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|Win32.Build.0 = DD Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|x64.ActiveCfg = DD Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|x64.Build.0 = DD Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|Win32.Build.0 = Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|x64.ActiveCfg = Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|x64.Build.0 = Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|Win32.ActiveCfg = Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|Win32.Build.0 = Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|x64.ActiveCfg = Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="tachyon.tbb"
- ProjectGUID="{6E9B1702-78E0-4D64-B771-8B274D963B58}"
- RootNamespace="tachyon.tbb"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- CopyLocal="false"
- CopyLocalDependencies="false"
- CopyLocalSatelliteAssemblies="false"
- RelativePathToProject=".\tachyon.vcproj"
- />
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.tbb.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="tachyon.tbb1d"
- ProjectGUID="{924517DF-2B6A-47D5-8A11-CC347CC4D8E9}"
- RootNamespace="tachyon.tbb1d"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc8\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc8\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- CopyLocal="false"
- CopyLocalDependencies="false"
- CopyLocalSatelliteAssemblies="false"
- RelativePathToProject=".\tachyon.vcproj"
- />
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.tbb1d.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="tachyon.common"
- ProjectGUID="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- RootNamespace="tachyon.common"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\src\api.cpp"
- >
- </File>
- <File
- RelativePath="..\src\apigeom.cpp"
- >
- </File>
- <File
- RelativePath="..\src\apitrigeom.cpp"
- >
- </File>
- <File
- RelativePath="..\src\bndbox.cpp"
- >
- </File>
- <File
- RelativePath="..\src\box.cpp"
- >
- </File>
- <File
- RelativePath="..\src\camera.cpp"
- >
- </File>
- <File
- RelativePath="..\src\coordsys.cpp"
- >
- </File>
- <File
- RelativePath="..\src\cylinder.cpp"
- >
- </File>
- <File
- RelativePath="..\src\extvol.cpp"
- >
- </File>
- <File
- RelativePath="..\src\getargs.cpp"
- >
- </File>
- <File
- RelativePath="..\src\global.cpp"
- >
- </File>
- <File
- RelativePath="..\src\grid.cpp"
- >
- </File>
- <File
- RelativePath="..\src\imageio.cpp"
- >
- </File>
- <File
- RelativePath="..\src\imap.cpp"
- >
- </File>
- <File
- RelativePath="..\src\intersect.cpp"
- >
- </File>
- <File
- RelativePath="..\src\jpeg.cpp"
- >
- </File>
- <File
- RelativePath="..\src\light.cpp"
- >
- </File>
- <File
- RelativePath="..\src\objbound.cpp"
- >
- </File>
- <File
- RelativePath="..\src\parse.cpp"
- >
- </File>
- <File
- RelativePath="..\src\plane.cpp"
- >
- </File>
- <File
- RelativePath="..\src\ppm.cpp"
- >
- </File>
- <File
- RelativePath="..\src\pthread.cpp"
- >
- </File>
- <File
- RelativePath="..\src\quadric.cpp"
- >
- </File>
- <File
- RelativePath="..\src\render.cpp"
- >
- </File>
- <File
- RelativePath="..\src\ring.cpp"
- >
- </File>
- <File
- RelativePath="..\src\shade.cpp"
- >
- </File>
- <File
- RelativePath="..\src\sphere.cpp"
- >
- </File>
- <File
- RelativePath="..\src\texture.cpp"
- >
- </File>
- <File
- RelativePath="..\src\tgafile.cpp"
- >
- </File>
- <File
- RelativePath="..\src\trace_rest.cpp"
- >
- </File>
- <File
- RelativePath="..\src\triangle.cpp"
- >
- </File>
- <File
- RelativePath="..\src\ui.cpp"
- >
- </File>
- <File
- RelativePath="..\src\util.cpp"
- >
- </File>
- <File
- RelativePath="..\src\vector.cpp"
- >
- </File>
- <File
- RelativePath="..\src\video.cpp"
- >
- </File>
- <File
- RelativePath="..\src\vol.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\src\api.h"
- >
- </File>
- <File
- RelativePath="..\src\apitrigeom.h"
- >
- </File>
- <File
- RelativePath="..\src\bndbox.h"
- >
- </File>
- <File
- RelativePath="..\src\box.h"
- >
- </File>
- <File
- RelativePath="..\src\camera.h"
- >
- </File>
- <File
- RelativePath="..\src\coordsys.h"
- >
- </File>
- <File
- RelativePath="..\src\cylinder.h"
- >
- </File>
- <File
- RelativePath="..\src\extvol.h"
- >
- </File>
- <File
- RelativePath="..\src\getargs.h"
- >
- </File>
- <File
- RelativePath="..\src\global.h"
- >
- </File>
- <File
- RelativePath="..\src\grid.h"
- >
- </File>
- <File
- RelativePath="..\src\imageio.h"
- >
- </File>
- <File
- RelativePath="..\src\imap.h"
- >
- </File>
- <File
- RelativePath="..\src\intersect.h"
- >
- </File>
- <File
- RelativePath="..\src\jpeg.h"
- >
- </File>
- <File
- RelativePath="..\src\light.h"
- >
- </File>
- <File
- RelativePath="..\src\machine.h"
- >
- </File>
- <File
- RelativePath="..\src\macros.h"
- >
- </File>
- <File
- RelativePath="..\src\objbound.h"
- >
- </File>
- <File
- RelativePath="..\src\parse.h"
- >
- </File>
- <File
- RelativePath="..\src\plane.h"
- >
- </File>
- <File
- RelativePath="..\src\ppm.h"
- >
- </File>
- <File
- RelativePath="..\src\pthread.h"
- >
- </File>
- <File
- RelativePath="..\src\quadric.h"
- >
- </File>
- <File
- RelativePath="..\src\render.h"
- >
- </File>
- <File
- RelativePath="..\vc7.1\resource.h"
- >
- </File>
- <File
- RelativePath="..\src\ring.h"
- >
- </File>
- <File
- RelativePath="..\src\shade.h"
- >
- </File>
- <File
- RelativePath="..\src\sphere.h"
- >
- </File>
- <File
- RelativePath="..\src\texture.h"
- >
- </File>
- <File
- RelativePath="..\src\tgafile.h"
- >
- </File>
- <File
- RelativePath="..\src\trace.h"
- >
- </File>
- <File
- RelativePath="..\src\triangle.h"
- >
- </File>
- <File
- RelativePath="..\src\types.h"
- >
- </File>
- <File
- RelativePath="..\src\ui.h"
- >
- </File>
- <File
- RelativePath="..\src\util.h"
- >
- </File>
- <File
- RelativePath="..\src\vector.h"
- >
- </File>
- <File
- RelativePath="..\src\video.h"
- >
- </File>
- <File
- RelativePath="..\src\vol.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\vc7.1\gui.ico"
- >
- </File>
- <File
- RelativePath="..\vc7.1\gui.rc"
- >
- </File>
- <File
- RelativePath="..\vc7.1\small.ico"
- >
- </File>
- </Filter>
- <Filter
- Name="Video Layer"
- >
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="tachyon.serial"
- ProjectGUID="{924517DF-2B6A-47D5-8A11-CC047CC4D8E9}"
- RootNamespace="tachyon.serial"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x86"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x86"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x64"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\lib\x64"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- CopyLocal="false"
- CopyLocalDependencies="false"
- CopyLocalSatelliteAssemblies="false"
- />
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.serial.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.common", "tachyon.vcproj", "{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.serial", "tachyon.serial.vcproj", "{924517DF-2B6A-47D5-8A11-CC047CC4D8E9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.tbb1d", "tachyon.tbb1d.vcproj", "{924517DF-2B6A-47D5-8A11-CC347CC4D8E9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tachyon.tbb", "tachyon.tbb.vcproj", "{6E9B1702-78E0-4D64-B771-8B274D963B58}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- DD Debug|Win32 = DD Debug|Win32
- DD Debug|x64 = DD Debug|x64
- DD Release|Win32 = DD Release|Win32
- DD Release|x64 = DD Release|x64
- GDI Debug|Win32 = GDI Debug|Win32
- GDI Debug|x64 = GDI Debug|x64
- GDI Release|Win32 = GDI Release|Win32
- GDI Release|x64 = GDI Release|x64
- Description = Tachyon ray-tracer example
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Debug|x64.Build.0 = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|Win32.Build.0 = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|x64.ActiveCfg = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.DD Release|x64.Build.0 = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|Win32.Build.0 = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|x64.ActiveCfg = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Debug|x64.Build.0 = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|Win32.ActiveCfg = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|Win32.Build.0 = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|x64.ActiveCfg = Release|x64
- {924517DF-2B6A-47D5-8A11-CC247CC4D810}.GDI Release|x64.Build.0 = Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Debug|x64.Build.0 = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|Win32.Build.0 = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|x64.ActiveCfg = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.DD Release|x64.Build.0 = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|Win32.Build.0 = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|x64.ActiveCfg = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Debug|x64.Build.0 = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|Win32.ActiveCfg = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|Win32.Build.0 = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|x64.ActiveCfg = Release|x64
- {924517DF-2B6A-47D5-8A11-CC047CC4D8E9}.GDI Release|x64.Build.0 = Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Debug|x64.Build.0 = DD Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|Win32.Build.0 = DD Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|x64.ActiveCfg = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.DD Release|x64.Build.0 = DD Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|Win32.Build.0 = Debug|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|x64.ActiveCfg = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Debug|x64.Build.0 = Debug|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|Win32.ActiveCfg = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|Win32.Build.0 = Release|Win32
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|x64.ActiveCfg = Release|x64
- {924517DF-2B6A-47D5-8A11-CC347CC4D8E9}.GDI Release|x64.Build.0 = Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|Win32.ActiveCfg = DD Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|Win32.Build.0 = DD Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|x64.ActiveCfg = DD Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Debug|x64.Build.0 = DD Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|Win32.ActiveCfg = DD Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|Win32.Build.0 = DD Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|x64.ActiveCfg = DD Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.DD Release|x64.Build.0 = DD Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|Win32.ActiveCfg = Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|Win32.Build.0 = Debug|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|x64.ActiveCfg = Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Debug|x64.Build.0 = Debug|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|Win32.ActiveCfg = Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|Win32.Build.0 = Release|Win32
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|x64.ActiveCfg = Release|x64
- {6E9B1702-78E0-4D64-B771-8B274D963B58}.GDI Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="tachyon.tbb"
- ProjectGUID="{6E9B1702-78E0-4D64-B771-8B274D963B58}"
- RootNamespace="tachyon.tbb"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- CopyLocal="false"
- CopyLocalDependencies="false"
- CopyLocalSatelliteAssemblies="false"
- />
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.tbb.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="tachyon.tbb1d"
- ProjectGUID="{924517DF-2B6A-47D5-8A11-CC347CC4D8E9}"
- RootNamespace="tachyon.tbb1d"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb""$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN32;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\ia32\vc9\lib";"$(DXSDK_DIR)\lib\x86""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;NDEBUG"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE;WIN64;_WINDOWS;_DEBUG"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- ProgramDataBaseFileName="$(IntDir)\$(InputName).pdb"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""$(TBB22_INSTALL_DIR)\intel64\vc9\lib";"$(DXSDK_DIR)\lib\x64""
- GenerateDebugInformation="true"
- SubSystem="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- CopyLocal="false"
- CopyLocalDependencies="false"
- CopyLocalSatelliteAssemblies="false"
- />
- </References>
- <Files>
- <File
- RelativePath="..\src\trace.tbb1d.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="tachyon.common"
- ProjectGUID="{924517DF-2B6A-47D5-8A11-CC247CC4D810}"
- RootNamespace="tachyon.common"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- EnableEnhancedInstructionSet="2"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;NDEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="DD Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- CommandLine="..\..\..\common\gui\dxcheck.bat"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="DEFAULT_MODELFILE=balls.dat;EMULATE_PTHREADS;WIN64;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="2"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\src\api.cpp"
- >
- </File>
- <File
- RelativePath="..\src\apigeom.cpp"
- >
- </File>
- <File
- RelativePath="..\src\apitrigeom.cpp"
- >
- </File>
- <File
- RelativePath="..\src\bndbox.cpp"
- >
- </File>
- <File
- RelativePath="..\src\box.cpp"
- >
- </File>
- <File
- RelativePath="..\src\camera.cpp"
- >
- </File>
- <File
- RelativePath="..\src\coordsys.cpp"
- >
- </File>
- <File
- RelativePath="..\src\cylinder.cpp"
- >
- </File>
- <File
- RelativePath="..\src\extvol.cpp"
- >
- </File>
- <File
- RelativePath="..\src\getargs.cpp"
- >
- </File>
- <File
- RelativePath="..\src\global.cpp"
- >
- </File>
- <File
- RelativePath="..\src\grid.cpp"
- >
- </File>
- <File
- RelativePath="..\src\imageio.cpp"
- >
- </File>
- <File
- RelativePath="..\src\imap.cpp"
- >
- </File>
- <File
- RelativePath="..\src\intersect.cpp"
- >
- </File>
- <File
- RelativePath="..\src\jpeg.cpp"
- >
- </File>
- <File
- RelativePath="..\src\light.cpp"
- >
- </File>
- <File
- RelativePath="..\src\objbound.cpp"
- >
- </File>
- <File
- RelativePath="..\src\parse.cpp"
- >
- </File>
- <File
- RelativePath="..\src\plane.cpp"
- >
- </File>
- <File
- RelativePath="..\src\ppm.cpp"
- >
- </File>
- <File
- RelativePath="..\src\pthread.cpp"
- >
- </File>
- <File
- RelativePath="..\src\quadric.cpp"
- >
- </File>
- <File
- RelativePath="..\src\render.cpp"
- >
- </File>
- <File
- RelativePath="..\src\ring.cpp"
- >
- </File>
- <File
- RelativePath="..\src\shade.cpp"
- >
- </File>
- <File
- RelativePath="..\src\sphere.cpp"
- >
- </File>
- <File
- RelativePath="..\src\texture.cpp"
- >
- </File>
- <File
- RelativePath="..\src\tgafile.cpp"
- >
- </File>
- <File
- RelativePath="..\src\trace_rest.cpp"
- >
- </File>
- <File
- RelativePath="..\src\triangle.cpp"
- >
- </File>
- <File
- RelativePath="..\src\ui.cpp"
- >
- </File>
- <File
- RelativePath="..\src\util.cpp"
- >
- </File>
- <File
- RelativePath="..\src\vector.cpp"
- >
- </File>
- <File
- RelativePath="..\src\video.cpp"
- >
- </File>
- <File
- RelativePath="..\src\vol.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\src\api.h"
- >
- </File>
- <File
- RelativePath="..\src\apitrigeom.h"
- >
- </File>
- <File
- RelativePath="..\src\bndbox.h"
- >
- </File>
- <File
- RelativePath="..\src\box.h"
- >
- </File>
- <File
- RelativePath="..\src\camera.h"
- >
- </File>
- <File
- RelativePath="..\src\coordsys.h"
- >
- </File>
- <File
- RelativePath="..\src\cylinder.h"
- >
- </File>
- <File
- RelativePath="..\src\extvol.h"
- >
- </File>
- <File
- RelativePath="..\src\getargs.h"
- >
- </File>
- <File
- RelativePath="..\src\global.h"
- >
- </File>
- <File
- RelativePath="..\src\grid.h"
- >
- </File>
- <File
- RelativePath="..\src\imageio.h"
- >
- </File>
- <File
- RelativePath="..\src\imap.h"
- >
- </File>
- <File
- RelativePath="..\src\intersect.h"
- >
- </File>
- <File
- RelativePath="..\src\jpeg.h"
- >
- </File>
- <File
- RelativePath="..\src\light.h"
- >
- </File>
- <File
- RelativePath="..\src\machine.h"
- >
- </File>
- <File
- RelativePath="..\src\macros.h"
- >
- </File>
- <File
- RelativePath="..\src\objbound.h"
- >
- </File>
- <File
- RelativePath="..\src\parse.h"
- >
- </File>
- <File
- RelativePath="..\src\plane.h"
- >
- </File>
- <File
- RelativePath="..\src\ppm.h"
- >
- </File>
- <File
- RelativePath="..\src\pthread.h"
- >
- </File>
- <File
- RelativePath="..\src\quadric.h"
- >
- </File>
- <File
- RelativePath="..\src\render.h"
- >
- </File>
- <File
- RelativePath="..\vc7.1\resource.h"
- >
- </File>
- <File
- RelativePath="..\src\ring.h"
- >
- </File>
- <File
- RelativePath="..\src\shade.h"
- >
- </File>
- <File
- RelativePath="..\src\sphere.h"
- >
- </File>
- <File
- RelativePath="..\src\texture.h"
- >
- </File>
- <File
- RelativePath="..\src\tgafile.h"
- >
- </File>
- <File
- RelativePath="..\src\trace.h"
- >
- </File>
- <File
- RelativePath="..\src\triangle.h"
- >
- </File>
- <File
- RelativePath="..\src\types.h"
- >
- </File>
- <File
- RelativePath="..\src\ui.h"
- >
- </File>
- <File
- RelativePath="..\src\util.h"
- >
- </File>
- <File
- RelativePath="..\src\vector.h"
- >
- </File>
- <File
- RelativePath="..\src\video.h"
- >
- </File>
- <File
- RelativePath="..\src\vol.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath="..\vc7.1\gui.ico"
- >
- </File>
- <File
- RelativePath="..\vc7.1\gui.rc"
- >
- </File>
- <File
- RelativePath="..\vc7.1\small.ico"
- >
- </File>
- </Filter>
- <Filter
- Name="Video Layer"
- >
- <File
- RelativePath="..\..\..\common\gui\ddvideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(DXSDK_DIR)\include"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\gdivideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;_DEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="_WINDOWS;NDEBUG;$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DD Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\common\gui\video.h"
- >
- </File>
- <File
- RelativePath="..\..\..\common\gui\winvideo.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-{
-IBClasses = ();
-IBVersion = 1;
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>IBDocumentLocation</key>
- <string>662 774 356 240 0 0 1680 1028 </string>
- <key>IBEditorPositions</key>
- <dict>
- <key>29</key>
- <string>863 618 271 44 0 0 1680 1028 </string>
- </dict>
- <key>IBFramework Version</key>
- <string>446.1</string>
- <key>IBOldestOS</key>
- <integer>3</integer>
- <key>IBOpenObjects</key>
- <array>
- <integer>29</integer>
- <integer>166</integer>
- </array>
- <key>IBSystem Version</key>
- <string>8J2135a</string>
- <key>targetFramework</key>
- <string>IBCarbonFramework</string>
-</dict>
-</plist>
+++ /dev/null
-<?xml version="1.0" standalone="yes"?>
-<object class="NSIBObjectData">
- <string name="targetFramework">IBCarbonFramework</string>
- <object name="rootObject" class="NSCustomObject" id="1">
- <string name="customClass">NSApplication</string>
- </object>
- <array count="22" name="allObjects">
- <object class="IBCarbonMenu" id="29">
- <string name="title">main</string>
- <array count="3" name="items">
- <object class="IBCarbonMenuItem" id="210">
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Tachyon</string>
- <object name="submenu" class="IBCarbonMenu" id="211">
- <string name="title">Seismic Simulation</string>
- <array count="7" name="items">
- <object class="IBCarbonMenuItem" id="215">
- <boolean name="checked">TRUE</boolean>
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Parallel</string>
- <ostype name="command">para</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="214">
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Serial</string>
- <ostype name="command">seri</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="216">
- <boolean name="separator">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="217">
- <boolean name="checked">TRUE</boolean>
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Enable GUI</string>
- <ostype name="command">egui</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="218">
- <boolean name="dynamic">TRUE</boolean>
- <boolean name="autoDisable">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">Disable GUI</string>
- <ostype name="command">dgui</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="213">
- <boolean name="separator">TRUE</boolean>
- <boolean name="updateSingleItem">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="212">
- <boolean name="updateSingleItem">TRUE</boolean>
- <string name="title">About Tachyon</string>
- <int name="keyEquivalentModifier">0</int>
- <ostype name="command">abou</ostype>
- </object>
- </array>
- <string name="name">_NSAppleMenu</string>
- </object>
- </object>
- <object class="IBCarbonMenuItem" id="127">
- <string name="title">File</string>
- <object name="submenu" class="IBCarbonMenu" id="131">
- <string name="title">File</string>
- <array count="1" name="items">
- <object class="IBCarbonMenuItem" id="200">
- <string name="title">Close</string>
- <string name="keyEquivalent">w</string>
- <ostype name="command">clos</ostype>
- </object>
- </array>
- </object>
- </object>
- <object class="IBCarbonMenuItem" id="192">
- <string name="title">Window</string>
- <object name="submenu" class="IBCarbonMenu" id="195">
- <string name="title">Window</string>
- <array count="5" name="items">
- <object class="IBCarbonMenuItem" id="190">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Minimize</string>
- <string name="keyEquivalent">m</string>
- <ostype name="command">mini</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="197">
- <string name="title">Zoom</string>
- <ostype name="command">zoom</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="194">
- <boolean name="separator">TRUE</boolean>
- </object>
- <object class="IBCarbonMenuItem" id="196">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Bring All to Front</string>
- <ostype name="command">bfrt</ostype>
- </object>
- <object class="IBCarbonMenuItem" id="193">
- <boolean name="dynamic">TRUE</boolean>
- <string name="title">Arrange in Front</string>
- <int name="keyEquivalentModifier">1572864</int>
- <ostype name="command">frnt</ostype>
- </object>
- </array>
- <string name="name">_NSWindowsMenu</string>
- </object>
- </object>
- </array>
- <string name="name">_NSMainMenu</string>
- </object>
- <reference idRef="127"/>
- <reference idRef="131"/>
- <object class="IBCarbonWindow" id="166">
- <string name="windowRect">338 353 698 833 </string>
- <string name="title">Tachyon</string>
- <object name="rootControl" class="IBCarbonRootControl" id="167">
- <string name="bounds">0 0 360 480 </string>
- <string name="viewFrame">0 0 480 360 </string>
- </object>
- <boolean name="receiveUpdates">FALSE</boolean>
- <boolean name="compositing">TRUE</boolean>
- <int name="themeBrush">-1</int>
- <boolean name="asyncDrag">TRUE</boolean>
- <boolean name="doesNotCycle">TRUE</boolean>
- <int name="WindowMinWidth">320</int>
- <int name="WindowMinHeight">200</int>
- </object>
- <reference idRef="167"/>
- <reference idRef="190"/>
- <reference idRef="192"/>
- <reference idRef="193"/>
- <reference idRef="194"/>
- <reference idRef="195"/>
- <reference idRef="196"/>
- <reference idRef="197"/>
- <reference idRef="200"/>
- <reference idRef="210"/>
- <reference idRef="211"/>
- <reference idRef="212"/>
- <reference idRef="213"/>
- <reference idRef="214"/>
- <reference idRef="215"/>
- <reference idRef="216"/>
- <reference idRef="217"/>
- <reference idRef="218"/>
- </array>
- <array count="22" name="allParents">
- <reference idRef="1"/>
- <reference idRef="29"/>
- <reference idRef="127"/>
- <reference idRef="1"/>
- <reference idRef="166"/>
- <reference idRef="195"/>
- <reference idRef="29"/>
- <reference idRef="195"/>
- <reference idRef="195"/>
- <reference idRef="192"/>
- <reference idRef="195"/>
- <reference idRef="195"/>
- <reference idRef="131"/>
- <reference idRef="29"/>
- <reference idRef="210"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- <reference idRef="211"/>
- </array>
- <dictionary count="3" name="nameTable">
- <string>Files Owner</string>
- <reference idRef="1"/>
- <string>MainWindow</string>
- <reference idRef="166"/>
- <string>MenuBar</string>
- <reference idRef="29"/>
- </dictionary>
- <unsigned_int name="nextObjectID">219</unsigned_int>
-</object>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.intel.tbb.tachyon</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>CSResourcesFileMapped</key>
- <true/>
-</dict>
-</plist>
+++ /dev/null
-//
-// Prefix header for all source files of the 'tachyon' target in the 'tachyon' project.
-//
-
-#include <Carbon/Carbon.h>
+++ /dev/null
-// !$*UTF8*$!\r
-{\r
- archiveVersion = 1;\r
- classes = {\r
- };\r
- objectVersion = 42;\r
- objects = {\r
-\r
-/* Begin PBXBuildFile section */\r
- 8D0C4E8E0486CD37000505A6 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 02345980000FD03B11CA0E72 /* main.nib */; };\r
- 8D0C4E920486CD37000505A6 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20286C33FDCF999611CA2CEA /* Carbon.framework */; };\r
- A117DC7B0B8DC08100F62CED /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC7A0B8DC08100F62CED /* AGL.framework */; };\r
- A117DC800B8DC09300F62CED /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC7F0B8DC09300F62CED /* OpenGL.framework */; };\r
- A117DC850B8DC0EA00F62CED /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC830B8DC0DE00F62CED /* libtbb.dylib */; };\r
- A117DC950B8DC5FB00F62CED /* libtbb.dylib in Copy TBB lib */ = {isa = PBXBuildFile; fileRef = A117DC830B8DC0DE00F62CED /* libtbb.dylib */; };\r
- A1F58DCD0B8DF19700073279 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 02345980000FD03B11CA0E72 /* main.nib */; };\r
- A1F58DCE0B8DF19800073279 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 02345980000FD03B11CA0E72 /* main.nib */; };\r
- A1F58E8C0B8DF25800073279 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC7F0B8DC09300F62CED /* OpenGL.framework */; };\r
- A1F58E8D0B8DF25900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC830B8DC0DE00F62CED /* libtbb.dylib */; };\r
- A1F58E8E0B8DF25A00073279 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20286C33FDCF999611CA2CEA /* Carbon.framework */; };\r
- A1F58E8F0B8DF25A00073279 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC7A0B8DC08100F62CED /* AGL.framework */; };\r
- A1F58E900B8DF25F00073279 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC7A0B8DC08100F62CED /* AGL.framework */; };\r
- A1F58E910B8DF26000073279 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20286C33FDCF999611CA2CEA /* Carbon.framework */; };\r
- A1F58E920B8DF26100073279 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A117DC7F0B8DC09300F62CED /* OpenGL.framework */; };\r
- A1F58EA30B8DF32900073279 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D0C4E960486CD37000505A6 /* Info.plist */; };\r
- A1F58EA40B8DF32A00073279 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D0C4E960486CD37000505A6 /* Info.plist */; };\r
- A1F58EA60B8DF32B00073279 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D0C4E960486CD37000505A6 /* Info.plist */; };\r
- A1F58EE80B8DF4F900073279 /* libtbb.dylib in Copy TBB lib */ = {isa = PBXBuildFile; fileRef = A117DC830B8DC0DE00F62CED /* libtbb.dylib */; };\r
- A1F58F960B8DF63C00073279 /* trace.tbb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1A8FB5D0B8CBB8D001C55B1 /* trace.tbb.cpp */; };\r
- A1F5902C0B8DF6A700073279 /* trace.tbb1d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F58D8B0B8DEFD900073279 /* trace.tbb1d.cpp */; };\r
- A1F590300B8DF74600073279 /* trace.serial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F58D8C0B8DEFE900073279 /* trace.serial.cpp */; };\r
- A1F590C30B8DF81800073279 /* api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5909E0B8DF81800073279 /* api.cpp */; };\r
- A1F590C40B8DF81800073279 /* apigeom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5909F0B8DF81800073279 /* apigeom.cpp */; };\r
- A1F590C50B8DF81800073279 /* apitrigeom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A00B8DF81800073279 /* apitrigeom.cpp */; };\r
- A1F590C60B8DF81800073279 /* bndbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A10B8DF81800073279 /* bndbox.cpp */; };\r
- A1F590C70B8DF81800073279 /* box.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A20B8DF81800073279 /* box.cpp */; };\r
- A1F590C80B8DF81800073279 /* camera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A30B8DF81800073279 /* camera.cpp */; };\r
- A1F590C90B8DF81800073279 /* coordsys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A40B8DF81800073279 /* coordsys.cpp */; };\r
- A1F590CA0B8DF81800073279 /* cylinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A50B8DF81800073279 /* cylinder.cpp */; };\r
- A1F590CB0B8DF81800073279 /* extvol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A60B8DF81800073279 /* extvol.cpp */; };\r
- A1F590CC0B8DF81800073279 /* getargs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A70B8DF81800073279 /* getargs.cpp */; };\r
- A1F590CD0B8DF81800073279 /* global.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A80B8DF81800073279 /* global.cpp */; };\r
- A1F590CE0B8DF81800073279 /* grid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A90B8DF81800073279 /* grid.cpp */; };\r
- A1F590CF0B8DF81800073279 /* imageio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AA0B8DF81800073279 /* imageio.cpp */; };\r
- A1F590D00B8DF81800073279 /* imap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AB0B8DF81800073279 /* imap.cpp */; };\r
- A1F590D10B8DF81800073279 /* intersect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AC0B8DF81800073279 /* intersect.cpp */; };\r
- A1F590D20B8DF81800073279 /* jpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AD0B8DF81800073279 /* jpeg.cpp */; };\r
- A1F590D30B8DF81800073279 /* light.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AE0B8DF81800073279 /* light.cpp */; };\r
- A1F590D40B8DF81800073279 /* objbound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AF0B8DF81800073279 /* objbound.cpp */; };\r
- A1F590D50B8DF81800073279 /* parse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B00B8DF81800073279 /* parse.cpp */; };\r
- A1F590D60B8DF81800073279 /* plane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B10B8DF81800073279 /* plane.cpp */; };\r
- A1F590D70B8DF81800073279 /* ppm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B20B8DF81800073279 /* ppm.cpp */; };\r
- A1F590D80B8DF81800073279 /* quadric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B30B8DF81800073279 /* quadric.cpp */; };\r
- A1F590D90B8DF81800073279 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B40B8DF81800073279 /* render.cpp */; };\r
- A1F590DA0B8DF81800073279 /* ring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B50B8DF81800073279 /* ring.cpp */; };\r
- A1F590DB0B8DF81800073279 /* shade.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B60B8DF81800073279 /* shade.cpp */; };\r
- A1F590DC0B8DF81800073279 /* sphere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B70B8DF81800073279 /* sphere.cpp */; };\r
- A1F590DD0B8DF81800073279 /* texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B80B8DF81800073279 /* texture.cpp */; };\r
- A1F590DE0B8DF81800073279 /* tgafile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B90B8DF81800073279 /* tgafile.cpp */; };\r
- A1F590DF0B8DF81800073279 /* trace_rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BA0B8DF81800073279 /* trace_rest.cpp */; };\r
- A1F590E20B8DF81800073279 /* triangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BD0B8DF81800073279 /* triangle.cpp */; };\r
- A1F590E30B8DF81800073279 /* ui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BE0B8DF81800073279 /* ui.cpp */; };\r
- A1F590E40B8DF81800073279 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BF0B8DF81800073279 /* util.cpp */; };\r
- A1F590E50B8DF81800073279 /* vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C00B8DF81800073279 /* vector.cpp */; };\r
- A1F590E60B8DF81800073279 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C10B8DF81800073279 /* video.cpp */; };\r
- A1F590E70B8DF81800073279 /* vol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C20B8DF81800073279 /* vol.cpp */; };\r
- A1F5910D0B8DF81800073279 /* api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5909E0B8DF81800073279 /* api.cpp */; };\r
- A1F5910E0B8DF81800073279 /* apigeom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5909F0B8DF81800073279 /* apigeom.cpp */; };\r
- A1F5910F0B8DF81800073279 /* apitrigeom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A00B8DF81800073279 /* apitrigeom.cpp */; };\r
- A1F591100B8DF81800073279 /* bndbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A10B8DF81800073279 /* bndbox.cpp */; };\r
- A1F591110B8DF81800073279 /* box.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A20B8DF81800073279 /* box.cpp */; };\r
- A1F591120B8DF81800073279 /* camera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A30B8DF81800073279 /* camera.cpp */; };\r
- A1F591130B8DF81800073279 /* coordsys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A40B8DF81800073279 /* coordsys.cpp */; };\r
- A1F591140B8DF81800073279 /* cylinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A50B8DF81800073279 /* cylinder.cpp */; };\r
- A1F591150B8DF81800073279 /* extvol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A60B8DF81800073279 /* extvol.cpp */; };\r
- A1F591160B8DF81800073279 /* getargs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A70B8DF81800073279 /* getargs.cpp */; };\r
- A1F591170B8DF81800073279 /* global.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A80B8DF81800073279 /* global.cpp */; };\r
- A1F591180B8DF81800073279 /* grid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A90B8DF81800073279 /* grid.cpp */; };\r
- A1F591190B8DF81800073279 /* imageio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AA0B8DF81800073279 /* imageio.cpp */; };\r
- A1F5911A0B8DF81800073279 /* imap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AB0B8DF81800073279 /* imap.cpp */; };\r
- A1F5911B0B8DF81800073279 /* intersect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AC0B8DF81800073279 /* intersect.cpp */; };\r
- A1F5911C0B8DF81800073279 /* jpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AD0B8DF81800073279 /* jpeg.cpp */; };\r
- A1F5911D0B8DF81800073279 /* light.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AE0B8DF81800073279 /* light.cpp */; };\r
- A1F5911E0B8DF81800073279 /* objbound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AF0B8DF81800073279 /* objbound.cpp */; };\r
- A1F5911F0B8DF81800073279 /* parse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B00B8DF81800073279 /* parse.cpp */; };\r
- A1F591200B8DF81800073279 /* plane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B10B8DF81800073279 /* plane.cpp */; };\r
- A1F591210B8DF81800073279 /* ppm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B20B8DF81800073279 /* ppm.cpp */; };\r
- A1F591220B8DF81800073279 /* quadric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B30B8DF81800073279 /* quadric.cpp */; };\r
- A1F591230B8DF81800073279 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B40B8DF81800073279 /* render.cpp */; };\r
- A1F591240B8DF81800073279 /* ring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B50B8DF81800073279 /* ring.cpp */; };\r
- A1F591250B8DF81800073279 /* shade.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B60B8DF81800073279 /* shade.cpp */; };\r
- A1F591260B8DF81800073279 /* sphere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B70B8DF81800073279 /* sphere.cpp */; };\r
- A1F591270B8DF81800073279 /* texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B80B8DF81800073279 /* texture.cpp */; };\r
- A1F591280B8DF81800073279 /* tgafile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B90B8DF81800073279 /* tgafile.cpp */; };\r
- A1F591290B8DF81800073279 /* trace_rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BA0B8DF81800073279 /* trace_rest.cpp */; };\r
- A1F5912C0B8DF81800073279 /* triangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BD0B8DF81800073279 /* triangle.cpp */; };\r
- A1F5912D0B8DF81800073279 /* ui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BE0B8DF81800073279 /* ui.cpp */; };\r
- A1F5912E0B8DF81800073279 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BF0B8DF81800073279 /* util.cpp */; };\r
- A1F5912F0B8DF81800073279 /* vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C00B8DF81800073279 /* vector.cpp */; };\r
- A1F591300B8DF81800073279 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C10B8DF81800073279 /* video.cpp */; };\r
- A1F591310B8DF81800073279 /* vol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C20B8DF81800073279 /* vol.cpp */; };\r
- A1F591320B8DF81800073279 /* api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5909E0B8DF81800073279 /* api.cpp */; };\r
- A1F591330B8DF81800073279 /* apigeom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5909F0B8DF81800073279 /* apigeom.cpp */; };\r
- A1F591340B8DF81800073279 /* apitrigeom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A00B8DF81800073279 /* apitrigeom.cpp */; };\r
- A1F591350B8DF81800073279 /* bndbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A10B8DF81800073279 /* bndbox.cpp */; };\r
- A1F591360B8DF81800073279 /* box.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A20B8DF81800073279 /* box.cpp */; };\r
- A1F591370B8DF81800073279 /* camera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A30B8DF81800073279 /* camera.cpp */; };\r
- A1F591380B8DF81800073279 /* coordsys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A40B8DF81800073279 /* coordsys.cpp */; };\r
- A1F591390B8DF81800073279 /* cylinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A50B8DF81800073279 /* cylinder.cpp */; };\r
- A1F5913A0B8DF81800073279 /* extvol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A60B8DF81800073279 /* extvol.cpp */; };\r
- A1F5913B0B8DF81800073279 /* getargs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A70B8DF81800073279 /* getargs.cpp */; };\r
- A1F5913C0B8DF81800073279 /* global.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A80B8DF81800073279 /* global.cpp */; };\r
- A1F5913D0B8DF81800073279 /* grid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590A90B8DF81800073279 /* grid.cpp */; };\r
- A1F5913E0B8DF81800073279 /* imageio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AA0B8DF81800073279 /* imageio.cpp */; };\r
- A1F5913F0B8DF81800073279 /* imap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AB0B8DF81800073279 /* imap.cpp */; };\r
- A1F591400B8DF81800073279 /* intersect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AC0B8DF81800073279 /* intersect.cpp */; };\r
- A1F591410B8DF81800073279 /* jpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AD0B8DF81800073279 /* jpeg.cpp */; };\r
- A1F591420B8DF81800073279 /* light.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AE0B8DF81800073279 /* light.cpp */; };\r
- A1F591430B8DF81800073279 /* objbound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590AF0B8DF81800073279 /* objbound.cpp */; };\r
- A1F591440B8DF81800073279 /* parse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B00B8DF81800073279 /* parse.cpp */; };\r
- A1F591450B8DF81800073279 /* plane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B10B8DF81800073279 /* plane.cpp */; };\r
- A1F591460B8DF81800073279 /* ppm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B20B8DF81800073279 /* ppm.cpp */; };\r
- A1F591470B8DF81800073279 /* quadric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B30B8DF81800073279 /* quadric.cpp */; };\r
- A1F591480B8DF81800073279 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B40B8DF81800073279 /* render.cpp */; };\r
- A1F591490B8DF81800073279 /* ring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B50B8DF81800073279 /* ring.cpp */; };\r
- A1F5914A0B8DF81800073279 /* shade.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B60B8DF81800073279 /* shade.cpp */; };\r
- A1F5914B0B8DF81800073279 /* sphere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B70B8DF81800073279 /* sphere.cpp */; };\r
- A1F5914C0B8DF81800073279 /* texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B80B8DF81800073279 /* texture.cpp */; };\r
- A1F5914D0B8DF81800073279 /* tgafile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590B90B8DF81800073279 /* tgafile.cpp */; };\r
- A1F5914E0B8DF81800073279 /* trace_rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BA0B8DF81800073279 /* trace_rest.cpp */; };\r
- A1F591510B8DF81800073279 /* triangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BD0B8DF81800073279 /* triangle.cpp */; };\r
- A1F591520B8DF81800073279 /* ui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BE0B8DF81800073279 /* ui.cpp */; };\r
- A1F591530B8DF81800073279 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590BF0B8DF81800073279 /* util.cpp */; };\r
- A1F591540B8DF81800073279 /* vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C00B8DF81800073279 /* vector.cpp */; };\r
- A1F591550B8DF81800073279 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C10B8DF81800073279 /* video.cpp */; };\r
- A1F591560B8DF81800073279 /* vol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F590C20B8DF81800073279 /* vol.cpp */; };\r
- A1F5915D0B8DF94400073279 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5915C0B8DF94400073279 /* macvideo.cpp */; };\r
- A1F5915E0B8DF94400073279 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5915C0B8DF94400073279 /* macvideo.cpp */; };\r
- A1F591600B8DF94400073279 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F5915C0B8DF94400073279 /* macvideo.cpp */; };\r
-/* End PBXBuildFile section */\r
-\r
-/* Begin PBXCopyFilesBuildPhase section */\r
- A117DC910B8DC59A00F62CED /* Copy TBB lib */ = {\r
- isa = PBXCopyFilesBuildPhase;\r
- buildActionMask = 2147483647;\r
- dstPath = "";\r
- dstSubfolderSpec = 16;\r
- files = (\r
- A117DC950B8DC5FB00F62CED /* libtbb.dylib in Copy TBB lib */,\r
- );\r
- name = "Copy TBB lib";\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
- A1F58EE60B8DF4E100073279 /* Copy TBB lib */ = {\r
- isa = PBXCopyFilesBuildPhase;\r
- buildActionMask = 2147483647;\r
- dstPath = "";\r
- dstSubfolderSpec = 16;\r
- files = (\r
- A1F58EE80B8DF4F900073279 /* libtbb.dylib in Copy TBB lib */,\r
- );\r
- name = "Copy TBB lib";\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXCopyFilesBuildPhase section */\r
-\r
-/* Begin PBXFileReference section */\r
- 1870340FFE93FCAF11CA0CD7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/main.nib; sourceTree = "<group>"; };\r
- 20286C33FDCF999611CA2CEA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };\r
- 32DBCF6D0370B57F00C91783 /* tachyon.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tachyon.pch; sourceTree = "<group>"; };\r
- 8D0C4E960486CD37000505A6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };\r
- A117DC7A0B8DC08100F62CED /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };\r
- A117DC7F0B8DC09300F62CED /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };\r
- A117DC830B8DC0DE00F62CED /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };\r
- A1A8FB5D0B8CBB8D001C55B1 /* trace.tbb.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = trace.tbb.cpp; path = ../src/trace.tbb.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F58CD90B8DE90E00073279 /* tachyon-tbb.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tachyon-tbb.app"; sourceTree = BUILT_PRODUCTS_DIR; };\r
- A1F58D3D0B8DEB8E00073279 /* trace.threads.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = trace.threads.cpp; path = ../src/trace.threads.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F58D8B0B8DEFD900073279 /* trace.tbb1d.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = trace.tbb1d.cpp; path = ../src/trace.tbb1d.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F58D8C0B8DEFE900073279 /* trace.serial.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = trace.serial.cpp; path = ../src/trace.serial.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F58D920B8DF03600073279 /* tachyon-tbb1d.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tachyon-tbb1d.app"; sourceTree = BUILT_PRODUCTS_DIR; };\r
- A1F58D9C0B8DF06700073279 /* tachyon-serial.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tachyon-serial.app"; sourceTree = BUILT_PRODUCTS_DIR; };\r
- A1F590320B8DF7D100073279 /* api.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = api.h; path = ../src/api.h; sourceTree = SOURCE_ROOT; };\r
- A1F590330B8DF7D100073279 /* apitrigeom.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apitrigeom.h; path = ../src/apitrigeom.h; sourceTree = SOURCE_ROOT; };\r
- A1F590340B8DF7D100073279 /* bndbox.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = bndbox.h; path = ../src/bndbox.h; sourceTree = SOURCE_ROOT; };\r
- A1F590350B8DF7D100073279 /* box.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = box.h; path = ../src/box.h; sourceTree = SOURCE_ROOT; };\r
- A1F590360B8DF7D100073279 /* camera.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = camera.h; path = ../src/camera.h; sourceTree = SOURCE_ROOT; };\r
- A1F590370B8DF7D100073279 /* coordsys.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = coordsys.h; path = ../src/coordsys.h; sourceTree = SOURCE_ROOT; };\r
- A1F590380B8DF7D100073279 /* cylinder.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = cylinder.h; path = ../src/cylinder.h; sourceTree = SOURCE_ROOT; };\r
- A1F590390B8DF7D100073279 /* extvol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = extvol.h; path = ../src/extvol.h; sourceTree = SOURCE_ROOT; };\r
- A1F5903A0B8DF7D100073279 /* getargs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = getargs.h; path = ../src/getargs.h; sourceTree = SOURCE_ROOT; };\r
- A1F5903B0B8DF7D100073279 /* global.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = global.h; path = ../src/global.h; sourceTree = SOURCE_ROOT; };\r
- A1F5903C0B8DF7D100073279 /* grid.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = grid.h; path = ../src/grid.h; sourceTree = SOURCE_ROOT; };\r
- A1F5903D0B8DF7D100073279 /* imageio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = imageio.h; path = ../src/imageio.h; sourceTree = SOURCE_ROOT; };\r
- A1F5903E0B8DF7D100073279 /* imap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = imap.h; path = ../src/imap.h; sourceTree = SOURCE_ROOT; };\r
- A1F5903F0B8DF7D100073279 /* intersect.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = intersect.h; path = ../src/intersect.h; sourceTree = SOURCE_ROOT; };\r
- A1F590400B8DF7D100073279 /* jpeg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = jpeg.h; path = ../src/jpeg.h; sourceTree = SOURCE_ROOT; };\r
- A1F590410B8DF7D100073279 /* light.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = light.h; path = ../src/light.h; sourceTree = SOURCE_ROOT; };\r
- A1F590420B8DF7D100073279 /* machine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = machine.h; path = ../src/machine.h; sourceTree = SOURCE_ROOT; };\r
- A1F590430B8DF7D100073279 /* macros.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macros.h; path = ../src/macros.h; sourceTree = SOURCE_ROOT; };\r
- A1F590440B8DF7D100073279 /* objbound.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = objbound.h; path = ../src/objbound.h; sourceTree = SOURCE_ROOT; };\r
- A1F590450B8DF7D100073279 /* parse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = parse.h; path = ../src/parse.h; sourceTree = SOURCE_ROOT; };\r
- A1F590460B8DF7D100073279 /* plane.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = plane.h; path = ../src/plane.h; sourceTree = SOURCE_ROOT; };\r
- A1F590470B8DF7D100073279 /* ppm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ppm.h; path = ../src/ppm.h; sourceTree = SOURCE_ROOT; };\r
- A1F590480B8DF7D100073279 /* quadric.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = quadric.h; path = ../src/quadric.h; sourceTree = SOURCE_ROOT; };\r
- A1F590490B8DF7D100073279 /* render.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = render.h; path = ../src/render.h; sourceTree = SOURCE_ROOT; };\r
- A1F5904A0B8DF7D100073279 /* ring.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ring.h; path = ../src/ring.h; sourceTree = SOURCE_ROOT; };\r
- A1F5904B0B8DF7D100073279 /* shade.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = shade.h; path = ../src/shade.h; sourceTree = SOURCE_ROOT; };\r
- A1F5904C0B8DF7D100073279 /* sphere.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sphere.h; path = ../src/sphere.h; sourceTree = SOURCE_ROOT; };\r
- A1F5904D0B8DF7D100073279 /* texture.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = texture.h; path = ../src/texture.h; sourceTree = SOURCE_ROOT; };\r
- A1F5904E0B8DF7D100073279 /* tgafile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = tgafile.h; path = ../src/tgafile.h; sourceTree = SOURCE_ROOT; };\r
- A1F5904F0B8DF7D100073279 /* trace.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = trace.h; path = ../src/trace.h; sourceTree = SOURCE_ROOT; };\r
- A1F590500B8DF7D100073279 /* types.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = types.h; path = ../src/types.h; sourceTree = SOURCE_ROOT; };\r
- A1F590510B8DF7D100073279 /* ui.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ui.h; path = ../src/ui.h; sourceTree = SOURCE_ROOT; };\r
- A1F590520B8DF7D100073279 /* util.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = util.h; path = ../src/util.h; sourceTree = SOURCE_ROOT; };\r
- A1F590530B8DF7D100073279 /* vector.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = vector.h; path = ../src/vector.h; sourceTree = SOURCE_ROOT; };\r
- A1F590540B8DF7D100073279 /* video.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = video.h; path = ../src/video.h; sourceTree = SOURCE_ROOT; };\r
- A1F590550B8DF7D100073279 /* vol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = vol.h; path = ../src/vol.h; sourceTree = SOURCE_ROOT; };\r
- A1F5909E0B8DF81800073279 /* api.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = api.cpp; path = ../src/api.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F5909F0B8DF81800073279 /* apigeom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = apigeom.cpp; path = ../src/apigeom.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A00B8DF81800073279 /* apitrigeom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = apitrigeom.cpp; path = ../src/apitrigeom.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A10B8DF81800073279 /* bndbox.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = bndbox.cpp; path = ../src/bndbox.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A20B8DF81800073279 /* box.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = box.cpp; path = ../src/box.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A30B8DF81800073279 /* camera.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = camera.cpp; path = ../src/camera.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A40B8DF81800073279 /* coordsys.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = coordsys.cpp; path = ../src/coordsys.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A50B8DF81800073279 /* cylinder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = cylinder.cpp; path = ../src/cylinder.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A60B8DF81800073279 /* extvol.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = extvol.cpp; path = ../src/extvol.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A70B8DF81800073279 /* getargs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = getargs.cpp; path = ../src/getargs.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A80B8DF81800073279 /* global.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = global.cpp; path = ../src/global.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590A90B8DF81800073279 /* grid.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = grid.cpp; path = ../src/grid.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590AA0B8DF81800073279 /* imageio.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = imageio.cpp; path = ../src/imageio.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590AB0B8DF81800073279 /* imap.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = imap.cpp; path = ../src/imap.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590AC0B8DF81800073279 /* intersect.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = intersect.cpp; path = ../src/intersect.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590AD0B8DF81800073279 /* jpeg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = jpeg.cpp; path = ../src/jpeg.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590AE0B8DF81800073279 /* light.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = light.cpp; path = ../src/light.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590AF0B8DF81800073279 /* objbound.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = objbound.cpp; path = ../src/objbound.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B00B8DF81800073279 /* parse.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = parse.cpp; path = ../src/parse.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B10B8DF81800073279 /* plane.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = plane.cpp; path = ../src/plane.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B20B8DF81800073279 /* ppm.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ppm.cpp; path = ../src/ppm.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B30B8DF81800073279 /* quadric.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = quadric.cpp; path = ../src/quadric.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B40B8DF81800073279 /* render.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = render.cpp; path = ../src/render.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B50B8DF81800073279 /* ring.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ring.cpp; path = ../src/ring.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B60B8DF81800073279 /* shade.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = shade.cpp; path = ../src/shade.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B70B8DF81800073279 /* sphere.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = sphere.cpp; path = ../src/sphere.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B80B8DF81800073279 /* texture.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = texture.cpp; path = ../src/texture.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590B90B8DF81800073279 /* tgafile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = tgafile.cpp; path = ../src/tgafile.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590BA0B8DF81800073279 /* trace_rest.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = trace_rest.cpp; path = ../src/trace_rest.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590BD0B8DF81800073279 /* triangle.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = triangle.cpp; path = ../src/triangle.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590BE0B8DF81800073279 /* ui.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ui.cpp; path = ../src/ui.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590BF0B8DF81800073279 /* util.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = util.cpp; path = ../src/util.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590C00B8DF81800073279 /* vector.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = vector.cpp; path = ../src/vector.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590C10B8DF81800073279 /* video.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = video.cpp; path = ../src/video.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F590C20B8DF81800073279 /* vol.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = vol.cpp; path = ../src/vol.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F5915A0B8DF8FA00073279 /* triangle.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = triangle.h; path = ../src/triangle.h; sourceTree = SOURCE_ROOT; };\r
- A1F5915C0B8DF94400073279 /* macvideo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macvideo.cpp; path = ../../../common/gui/macvideo.cpp; sourceTree = SOURCE_ROOT; };\r
- A1F591610B8DF96500073279 /* video.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = video.h; path = ../../../common/gui/video.h; sourceTree = SOURCE_ROOT; };\r
-/* End PBXFileReference section */\r
-\r
-/* Begin PBXFrameworksBuildPhase section */\r
- 8D0C4E910486CD37000505A6 /* Frameworks */ = {\r
- isa = PBXFrameworksBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- 8D0C4E920486CD37000505A6 /* Carbon.framework in Frameworks */,\r
- A117DC7B0B8DC08100F62CED /* AGL.framework in Frameworks */,\r
- A117DC800B8DC09300F62CED /* OpenGL.framework in Frameworks */,\r
- A117DC850B8DC0EA00F62CED /* libtbb.dylib in Frameworks */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
- A1F58D900B8DF03600073279 /* Frameworks */ = {\r
- isa = PBXFrameworksBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F58E8C0B8DF25800073279 /* OpenGL.framework in Frameworks */,\r
- A1F58E8D0B8DF25900073279 /* libtbb.dylib in Frameworks */,\r
- A1F58E8E0B8DF25A00073279 /* Carbon.framework in Frameworks */,\r
- A1F58E8F0B8DF25A00073279 /* AGL.framework in Frameworks */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
- A1F58D9A0B8DF06700073279 /* Frameworks */ = {\r
- isa = PBXFrameworksBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F58E900B8DF25F00073279 /* AGL.framework in Frameworks */,\r
- A1F58E910B8DF26000073279 /* Carbon.framework in Frameworks */,\r
- A1F58E920B8DF26100073279 /* OpenGL.framework in Frameworks */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXFrameworksBuildPhase section */\r
-\r
-/* Begin PBXGroup section */\r
- 20286C29FDCF999611CA2CEA /* tachyon */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 20286C2AFDCF999611CA2CEA /* Sources */,\r
- 20286C2CFDCF999611CA2CEA /* Resources */,\r
- 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */,\r
- A1F58CD30B8DE85300073279 /* Products */,\r
- );\r
- name = tachyon;\r
- sourceTree = "<group>";\r
- };\r
- 20286C2AFDCF999611CA2CEA /* Sources */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1F590310B8DF75E00073279 /* Tachyon */,\r
- A1A8FB5F0B8CBB9E001C55B1 /* Render */,\r
- );\r
- name = Sources;\r
- sourceTree = "<group>";\r
- };\r
- 20286C2CFDCF999611CA2CEA /* Resources */ = {\r
- isa = PBXGroup;\r
- children = (\r
- 8D0C4E960486CD37000505A6 /* Info.plist */,\r
- 02345980000FD03B11CA0E72 /* main.nib */,\r
- );\r
- name = Resources;\r
- sourceTree = "<group>";\r
- };\r
- 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A117DC830B8DC0DE00F62CED /* libtbb.dylib */,\r
- A117DC7F0B8DC09300F62CED /* OpenGL.framework */,\r
- A117DC7A0B8DC08100F62CED /* AGL.framework */,\r
- 20286C33FDCF999611CA2CEA /* Carbon.framework */,\r
- );\r
- name = "External Frameworks and Libraries";\r
- sourceTree = "<group>";\r
- };\r
- A1A8FB5F0B8CBB9E001C55B1 /* Render */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1F5902F0B8DF71B00073279 /* Headers */,\r
- A1F5902E0B8DF71200073279 /* Sources */,\r
- );\r
- name = Render;\r
- sourceTree = "<group>";\r
- };\r
- A1F58CD30B8DE85300073279 /* Products */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1F58CD90B8DE90E00073279 /* tachyon-tbb.app */,\r
- A1F58D920B8DF03600073279 /* tachyon-tbb1d.app */,\r
- A1F58D9C0B8DF06700073279 /* tachyon-serial.app */,\r
- );\r
- name = Products;\r
- sourceTree = "<group>";\r
- };\r
- A1F5902E0B8DF71200073279 /* Sources */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1F5915C0B8DF94400073279 /* macvideo.cpp */,\r
- A1F5909E0B8DF81800073279 /* api.cpp */,\r
- A1F5909F0B8DF81800073279 /* apigeom.cpp */,\r
- A1F590A00B8DF81800073279 /* apitrigeom.cpp */,\r
- A1F590A10B8DF81800073279 /* bndbox.cpp */,\r
- A1F590A20B8DF81800073279 /* box.cpp */,\r
- A1F590A30B8DF81800073279 /* camera.cpp */,\r
- A1F590A40B8DF81800073279 /* coordsys.cpp */,\r
- A1F590A50B8DF81800073279 /* cylinder.cpp */,\r
- A1F590A60B8DF81800073279 /* extvol.cpp */,\r
- A1F590A70B8DF81800073279 /* getargs.cpp */,\r
- A1F590A80B8DF81800073279 /* global.cpp */,\r
- A1F590A90B8DF81800073279 /* grid.cpp */,\r
- A1F590AA0B8DF81800073279 /* imageio.cpp */,\r
- A1F590AB0B8DF81800073279 /* imap.cpp */,\r
- A1F590AC0B8DF81800073279 /* intersect.cpp */,\r
- A1F590AD0B8DF81800073279 /* jpeg.cpp */,\r
- A1F590AE0B8DF81800073279 /* light.cpp */,\r
- A1F590AF0B8DF81800073279 /* objbound.cpp */,\r
- A1F590B00B8DF81800073279 /* parse.cpp */,\r
- A1F590B10B8DF81800073279 /* plane.cpp */,\r
- A1F590B20B8DF81800073279 /* ppm.cpp */,\r
- A1F590B30B8DF81800073279 /* quadric.cpp */,\r
- A1F590B40B8DF81800073279 /* render.cpp */,\r
- A1F590B50B8DF81800073279 /* ring.cpp */,\r
- A1F590B60B8DF81800073279 /* shade.cpp */,\r
- A1F590B70B8DF81800073279 /* sphere.cpp */,\r
- A1F590B80B8DF81800073279 /* texture.cpp */,\r
- A1F590B90B8DF81800073279 /* tgafile.cpp */,\r
- A1F590BA0B8DF81800073279 /* trace_rest.cpp */,\r
- A1F590BD0B8DF81800073279 /* triangle.cpp */,\r
- A1F590BE0B8DF81800073279 /* ui.cpp */,\r
- A1F590BF0B8DF81800073279 /* util.cpp */,\r
- A1F590C00B8DF81800073279 /* vector.cpp */,\r
- A1F590C10B8DF81800073279 /* video.cpp */,\r
- A1F590C20B8DF81800073279 /* vol.cpp */,\r
- );\r
- name = Sources;\r
- sourceTree = "<group>";\r
- };\r
- A1F5902F0B8DF71B00073279 /* Headers */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1F591610B8DF96500073279 /* video.h */,\r
- A1F5915A0B8DF8FA00073279 /* triangle.h */,\r
- A1F590320B8DF7D100073279 /* api.h */,\r
- A1F590330B8DF7D100073279 /* apitrigeom.h */,\r
- A1F590340B8DF7D100073279 /* bndbox.h */,\r
- A1F590350B8DF7D100073279 /* box.h */,\r
- A1F590360B8DF7D100073279 /* camera.h */,\r
- A1F590370B8DF7D100073279 /* coordsys.h */,\r
- A1F590380B8DF7D100073279 /* cylinder.h */,\r
- A1F590390B8DF7D100073279 /* extvol.h */,\r
- A1F5903A0B8DF7D100073279 /* getargs.h */,\r
- A1F5903B0B8DF7D100073279 /* global.h */,\r
- A1F5903C0B8DF7D100073279 /* grid.h */,\r
- A1F5903D0B8DF7D100073279 /* imageio.h */,\r
- A1F5903E0B8DF7D100073279 /* imap.h */,\r
- A1F5903F0B8DF7D100073279 /* intersect.h */,\r
- A1F590400B8DF7D100073279 /* jpeg.h */,\r
- A1F590410B8DF7D100073279 /* light.h */,\r
- A1F590420B8DF7D100073279 /* machine.h */,\r
- A1F590430B8DF7D100073279 /* macros.h */,\r
- A1F590440B8DF7D100073279 /* objbound.h */,\r
- A1F590450B8DF7D100073279 /* parse.h */,\r
- A1F590460B8DF7D100073279 /* plane.h */,\r
- A1F590470B8DF7D100073279 /* ppm.h */,\r
- A1F590480B8DF7D100073279 /* quadric.h */,\r
- A1F590490B8DF7D100073279 /* render.h */,\r
- A1F5904A0B8DF7D100073279 /* ring.h */,\r
- A1F5904B0B8DF7D100073279 /* shade.h */,\r
- A1F5904C0B8DF7D100073279 /* sphere.h */,\r
- A1F5904D0B8DF7D100073279 /* texture.h */,\r
- A1F5904E0B8DF7D100073279 /* tgafile.h */,\r
- A1F5904F0B8DF7D100073279 /* trace.h */,\r
- A1F590500B8DF7D100073279 /* types.h */,\r
- A1F590510B8DF7D100073279 /* ui.h */,\r
- A1F590520B8DF7D100073279 /* util.h */,\r
- A1F590530B8DF7D100073279 /* vector.h */,\r
- A1F590540B8DF7D100073279 /* video.h */,\r
- A1F590550B8DF7D100073279 /* vol.h */,\r
- );\r
- name = Headers;\r
- sourceTree = "<group>";\r
- };\r
- A1F590310B8DF75E00073279 /* Tachyon */ = {\r
- isa = PBXGroup;\r
- children = (\r
- A1F58D8C0B8DEFE900073279 /* trace.serial.cpp */,\r
- A1F58D3D0B8DEB8E00073279 /* trace.threads.cpp */,\r
- A1F58D8B0B8DEFD900073279 /* trace.tbb1d.cpp */,\r
- A1A8FB5D0B8CBB8D001C55B1 /* trace.tbb.cpp */,\r
- 32DBCF6D0370B57F00C91783 /* tachyon.pch */,\r
- );\r
- name = Tachyon;\r
- sourceTree = "<group>";\r
- };\r
-/* End PBXGroup section */\r
-\r
-/* Begin PBXNativeTarget section */\r
- 8D0C4E890486CD37000505A6 /* tachyon-tbb */ = {\r
- isa = PBXNativeTarget;\r
- buildConfigurationList = C0E91AC508A95435008D54AB /* Build configuration list for PBXNativeTarget "tachyon-tbb" */;\r
- buildPhases = (\r
- 8D0C4E8C0486CD37000505A6 /* Resources */,\r
- 8D0C4E8F0486CD37000505A6 /* Sources */,\r
- 8D0C4E910486CD37000505A6 /* Frameworks */,\r
- A117DC910B8DC59A00F62CED /* Copy TBB lib */,\r
- );\r
- buildRules = (\r
- );\r
- dependencies = (\r
- );\r
- name = "tachyon-tbb";\r
- productInstallPath = "$(HOME)/Applications";\r
- productName = tachyon;\r
- productReference = A1F58CD90B8DE90E00073279 /* tachyon-tbb.app */;\r
- productType = "com.apple.product-type.application";\r
- };\r
- A1F58D910B8DF03600073279 /* tachyon-tbb1d */ = {\r
- isa = PBXNativeTarget;\r
- buildConfigurationList = A1F58D950B8DF03600073279 /* Build configuration list for PBXNativeTarget "tachyon-tbb1d" */;\r
- buildPhases = (\r
- A1F58D8E0B8DF03600073279 /* Resources */,\r
- A1F58D8F0B8DF03600073279 /* Sources */,\r
- A1F58D900B8DF03600073279 /* Frameworks */,\r
- A1F58EE60B8DF4E100073279 /* Copy TBB lib */,\r
- );\r
- buildRules = (\r
- );\r
- dependencies = (\r
- );\r
- name = "tachyon-tbb1d";\r
- productName = "tachyon-tbb1d";\r
- productReference = A1F58D920B8DF03600073279 /* tachyon-tbb1d.app */;\r
- productType = "com.apple.product-type.application";\r
- };\r
- A1F58D9B0B8DF06700073279 /* tachyon-serial */ = {\r
- isa = PBXNativeTarget;\r
- buildConfigurationList = A1F58D9F0B8DF06700073279 /* Build configuration list for PBXNativeTarget "tachyon-serial" */;\r
- buildPhases = (\r
- A1F58D980B8DF06700073279 /* Resources */,\r
- A1F58D990B8DF06700073279 /* Sources */,\r
- A1F58D9A0B8DF06700073279 /* Frameworks */,\r
- );\r
- buildRules = (\r
- );\r
- dependencies = (\r
- );\r
- name = "tachyon-serial";\r
- productName = "tachyon-serial";\r
- productReference = A1F58D9C0B8DF06700073279 /* tachyon-serial.app */;\r
- productType = "com.apple.product-type.application";\r
- };\r
-/* End PBXNativeTarget section */\r
-\r
-/* Begin PBXProject section */\r
- 20286C28FDCF999611CA2CEA /* Project object */ = {\r
- isa = PBXProject;\r
- buildConfigurationList = C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "tachyon" */;\r
- hasScannedForEncodings = 1;\r
- mainGroup = 20286C29FDCF999611CA2CEA /* tachyon */;\r
- productRefGroup = A1F58CD30B8DE85300073279 /* Products */;\r
- projectDirPath = "";\r
- targets = (\r
- A1F58D9B0B8DF06700073279 /* tachyon-serial */,\r
- A1F58D910B8DF03600073279 /* tachyon-tbb1d */,\r
- 8D0C4E890486CD37000505A6 /* tachyon-tbb */,\r
- );\r
- };\r
-/* End PBXProject section */\r
-\r
-/* Begin PBXResourcesBuildPhase section */\r
- 8D0C4E8C0486CD37000505A6 /* Resources */ = {\r
- isa = PBXResourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- 8D0C4E8E0486CD37000505A6 /* main.nib in Resources */,\r
- A1F58EA30B8DF32900073279 /* Info.plist in Resources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
- A1F58D8E0B8DF03600073279 /* Resources */ = {\r
- isa = PBXResourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F58DCD0B8DF19700073279 /* main.nib in Resources */,\r
- A1F58EA40B8DF32A00073279 /* Info.plist in Resources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
- A1F58D980B8DF06700073279 /* Resources */ = {\r
- isa = PBXResourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F58DCE0B8DF19800073279 /* main.nib in Resources */,\r
- A1F58EA60B8DF32B00073279 /* Info.plist in Resources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXResourcesBuildPhase section */\r
-\r
-/* Begin PBXSourcesBuildPhase section */\r
- 8D0C4E8F0486CD37000505A6 /* Sources */ = {\r
- isa = PBXSourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F58F960B8DF63C00073279 /* trace.tbb.cpp in Sources */,\r
- A1F591320B8DF81800073279 /* api.cpp in Sources */,\r
- A1F591330B8DF81800073279 /* apigeom.cpp in Sources */,\r
- A1F591340B8DF81800073279 /* apitrigeom.cpp in Sources */,\r
- A1F591350B8DF81800073279 /* bndbox.cpp in Sources */,\r
- A1F591360B8DF81800073279 /* box.cpp in Sources */,\r
- A1F591370B8DF81800073279 /* camera.cpp in Sources */,\r
- A1F591380B8DF81800073279 /* coordsys.cpp in Sources */,\r
- A1F591390B8DF81800073279 /* cylinder.cpp in Sources */,\r
- A1F5913A0B8DF81800073279 /* extvol.cpp in Sources */,\r
- A1F5913B0B8DF81800073279 /* getargs.cpp in Sources */,\r
- A1F5913C0B8DF81800073279 /* global.cpp in Sources */,\r
- A1F5913D0B8DF81800073279 /* grid.cpp in Sources */,\r
- A1F5913E0B8DF81800073279 /* imageio.cpp in Sources */,\r
- A1F5913F0B8DF81800073279 /* imap.cpp in Sources */,\r
- A1F591400B8DF81800073279 /* intersect.cpp in Sources */,\r
- A1F591410B8DF81800073279 /* jpeg.cpp in Sources */,\r
- A1F591420B8DF81800073279 /* light.cpp in Sources */,\r
- A1F591430B8DF81800073279 /* objbound.cpp in Sources */,\r
- A1F591440B8DF81800073279 /* parse.cpp in Sources */,\r
- A1F591450B8DF81800073279 /* plane.cpp in Sources */,\r
- A1F591460B8DF81800073279 /* ppm.cpp in Sources */,\r
- A1F591470B8DF81800073279 /* quadric.cpp in Sources */,\r
- A1F591480B8DF81800073279 /* render.cpp in Sources */,\r
- A1F591490B8DF81800073279 /* ring.cpp in Sources */,\r
- A1F5914A0B8DF81800073279 /* shade.cpp in Sources */,\r
- A1F5914B0B8DF81800073279 /* sphere.cpp in Sources */,\r
- A1F5914C0B8DF81800073279 /* texture.cpp in Sources */,\r
- A1F5914D0B8DF81800073279 /* tgafile.cpp in Sources */,\r
- A1F5914E0B8DF81800073279 /* trace_rest.cpp in Sources */,\r
- A1F591510B8DF81800073279 /* triangle.cpp in Sources */,\r
- A1F591520B8DF81800073279 /* ui.cpp in Sources */,\r
- A1F591530B8DF81800073279 /* util.cpp in Sources */,\r
- A1F591540B8DF81800073279 /* vector.cpp in Sources */,\r
- A1F591550B8DF81800073279 /* video.cpp in Sources */,\r
- A1F591560B8DF81800073279 /* vol.cpp in Sources */,\r
- A1F5915D0B8DF94400073279 /* macvideo.cpp in Sources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
- A1F58D8F0B8DF03600073279 /* Sources */ = {\r
- isa = PBXSourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F5902C0B8DF6A700073279 /* trace.tbb1d.cpp in Sources */,\r
- A1F5910D0B8DF81800073279 /* api.cpp in Sources */,\r
- A1F5910E0B8DF81800073279 /* apigeom.cpp in Sources */,\r
- A1F5910F0B8DF81800073279 /* apitrigeom.cpp in Sources */,\r
- A1F591100B8DF81800073279 /* bndbox.cpp in Sources */,\r
- A1F591110B8DF81800073279 /* box.cpp in Sources */,\r
- A1F591120B8DF81800073279 /* camera.cpp in Sources */,\r
- A1F591130B8DF81800073279 /* coordsys.cpp in Sources */,\r
- A1F591140B8DF81800073279 /* cylinder.cpp in Sources */,\r
- A1F591150B8DF81800073279 /* extvol.cpp in Sources */,\r
- A1F591160B8DF81800073279 /* getargs.cpp in Sources */,\r
- A1F591170B8DF81800073279 /* global.cpp in Sources */,\r
- A1F591180B8DF81800073279 /* grid.cpp in Sources */,\r
- A1F591190B8DF81800073279 /* imageio.cpp in Sources */,\r
- A1F5911A0B8DF81800073279 /* imap.cpp in Sources */,\r
- A1F5911B0B8DF81800073279 /* intersect.cpp in Sources */,\r
- A1F5911C0B8DF81800073279 /* jpeg.cpp in Sources */,\r
- A1F5911D0B8DF81800073279 /* light.cpp in Sources */,\r
- A1F5911E0B8DF81800073279 /* objbound.cpp in Sources */,\r
- A1F5911F0B8DF81800073279 /* parse.cpp in Sources */,\r
- A1F591200B8DF81800073279 /* plane.cpp in Sources */,\r
- A1F591210B8DF81800073279 /* ppm.cpp in Sources */,\r
- A1F591220B8DF81800073279 /* quadric.cpp in Sources */,\r
- A1F591230B8DF81800073279 /* render.cpp in Sources */,\r
- A1F591240B8DF81800073279 /* ring.cpp in Sources */,\r
- A1F591250B8DF81800073279 /* shade.cpp in Sources */,\r
- A1F591260B8DF81800073279 /* sphere.cpp in Sources */,\r
- A1F591270B8DF81800073279 /* texture.cpp in Sources */,\r
- A1F591280B8DF81800073279 /* tgafile.cpp in Sources */,\r
- A1F591290B8DF81800073279 /* trace_rest.cpp in Sources */,\r
- A1F5912C0B8DF81800073279 /* triangle.cpp in Sources */,\r
- A1F5912D0B8DF81800073279 /* ui.cpp in Sources */,\r
- A1F5912E0B8DF81800073279 /* util.cpp in Sources */,\r
- A1F5912F0B8DF81800073279 /* vector.cpp in Sources */,\r
- A1F591300B8DF81800073279 /* video.cpp in Sources */,\r
- A1F591310B8DF81800073279 /* vol.cpp in Sources */,\r
- A1F5915E0B8DF94400073279 /* macvideo.cpp in Sources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
- A1F58D990B8DF06700073279 /* Sources */ = {\r
- isa = PBXSourcesBuildPhase;\r
- buildActionMask = 2147483647;\r
- files = (\r
- A1F590300B8DF74600073279 /* trace.serial.cpp in Sources */,\r
- A1F590C30B8DF81800073279 /* api.cpp in Sources */,\r
- A1F590C40B8DF81800073279 /* apigeom.cpp in Sources */,\r
- A1F590C50B8DF81800073279 /* apitrigeom.cpp in Sources */,\r
- A1F590C60B8DF81800073279 /* bndbox.cpp in Sources */,\r
- A1F590C70B8DF81800073279 /* box.cpp in Sources */,\r
- A1F590C80B8DF81800073279 /* camera.cpp in Sources */,\r
- A1F590C90B8DF81800073279 /* coordsys.cpp in Sources */,\r
- A1F590CA0B8DF81800073279 /* cylinder.cpp in Sources */,\r
- A1F590CB0B8DF81800073279 /* extvol.cpp in Sources */,\r
- A1F590CC0B8DF81800073279 /* getargs.cpp in Sources */,\r
- A1F590CD0B8DF81800073279 /* global.cpp in Sources */,\r
- A1F590CE0B8DF81800073279 /* grid.cpp in Sources */,\r
- A1F590CF0B8DF81800073279 /* imageio.cpp in Sources */,\r
- A1F590D00B8DF81800073279 /* imap.cpp in Sources */,\r
- A1F590D10B8DF81800073279 /* intersect.cpp in Sources */,\r
- A1F590D20B8DF81800073279 /* jpeg.cpp in Sources */,\r
- A1F590D30B8DF81800073279 /* light.cpp in Sources */,\r
- A1F590D40B8DF81800073279 /* objbound.cpp in Sources */,\r
- A1F590D50B8DF81800073279 /* parse.cpp in Sources */,\r
- A1F590D60B8DF81800073279 /* plane.cpp in Sources */,\r
- A1F590D70B8DF81800073279 /* ppm.cpp in Sources */,\r
- A1F590D80B8DF81800073279 /* quadric.cpp in Sources */,\r
- A1F590D90B8DF81800073279 /* render.cpp in Sources */,\r
- A1F590DA0B8DF81800073279 /* ring.cpp in Sources */,\r
- A1F590DB0B8DF81800073279 /* shade.cpp in Sources */,\r
- A1F590DC0B8DF81800073279 /* sphere.cpp in Sources */,\r
- A1F590DD0B8DF81800073279 /* texture.cpp in Sources */,\r
- A1F590DE0B8DF81800073279 /* tgafile.cpp in Sources */,\r
- A1F590DF0B8DF81800073279 /* trace_rest.cpp in Sources */,\r
- A1F590E20B8DF81800073279 /* triangle.cpp in Sources */,\r
- A1F590E30B8DF81800073279 /* ui.cpp in Sources */,\r
- A1F590E40B8DF81800073279 /* util.cpp in Sources */,\r
- A1F590E50B8DF81800073279 /* vector.cpp in Sources */,\r
- A1F590E60B8DF81800073279 /* video.cpp in Sources */,\r
- A1F590E70B8DF81800073279 /* vol.cpp in Sources */,\r
- A1F591600B8DF94400073279 /* macvideo.cpp in Sources */,\r
- );\r
- runOnlyForDeploymentPostprocessing = 0;\r
- };\r
-/* End PBXSourcesBuildPhase section */\r
-\r
-/* Begin PBXVariantGroup section */\r
- 02345980000FD03B11CA0E72 /* main.nib */ = {\r
- isa = PBXVariantGroup;\r
- children = (\r
- 1870340FFE93FCAF11CA0CD7 /* English */,\r
- );\r
- name = main.nib;\r
- sourceTree = "<group>";\r
- };\r
-/* End PBXVariantGroup section */\r
-\r
-/* Begin XCBuildConfiguration section */\r
- A1F58D960B8DF03600073279 /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ALWAYS_SEARCH_USER_PATHS = NO;\r
- COPY_PHASE_STRIP = NO;\r
- GCC_DYNAMIC_NO_PIC = NO;\r
- GCC_ENABLE_FIX_AND_CONTINUE = YES;\r
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;\r
- GCC_OPTIMIZATION_LEVEL = 0;\r
- GCC_PRECOMPILE_PREFIX_HEADER = YES;\r
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";\r
- INFOPLIST_FILE = Info.plist;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PREBINDING = NO;\r
- PRODUCT_NAME = "tachyon-tbb1d";\r
- WRAPPER_EXTENSION = app;\r
- ZERO_LINK = NO;\r
- };\r
- name = Debug;\r
- };\r
- A1F58D970B8DF03600073279 /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ALWAYS_SEARCH_USER_PATHS = NO;\r
- COPY_PHASE_STRIP = YES;\r
- GCC_ENABLE_FIX_AND_CONTINUE = NO;\r
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;\r
- GCC_PRECOMPILE_PREFIX_HEADER = YES;\r
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";\r
- INFOPLIST_FILE = Info.plist;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PREBINDING = NO;\r
- PRODUCT_NAME = "tachyon-tbb1d";\r
- WRAPPER_EXTENSION = app;\r
- ZERO_LINK = NO;\r
- };\r
- name = Release;\r
- };\r
- A1F58DA00B8DF06700073279 /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ALWAYS_SEARCH_USER_PATHS = NO;\r
- COPY_PHASE_STRIP = NO;\r
- GCC_DYNAMIC_NO_PIC = NO;\r
- GCC_ENABLE_FIX_AND_CONTINUE = YES;\r
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;\r
- GCC_OPTIMIZATION_LEVEL = 0;\r
- GCC_PRECOMPILE_PREFIX_HEADER = YES;\r
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";\r
- INFOPLIST_FILE = Info.plist;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- PREBINDING = NO;\r
- PRODUCT_NAME = "tachyon-serial";\r
- WRAPPER_EXTENSION = app;\r
- ZERO_LINK = NO;\r
- };\r
- name = Debug;\r
- };\r
- A1F58DA10B8DF06700073279 /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ALWAYS_SEARCH_USER_PATHS = NO;\r
- COPY_PHASE_STRIP = YES;\r
- GCC_ENABLE_FIX_AND_CONTINUE = NO;\r
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;\r
- GCC_PRECOMPILE_PREFIX_HEADER = YES;\r
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";\r
- INFOPLIST_FILE = Info.plist;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- PREBINDING = NO;\r
- PRODUCT_NAME = "tachyon-serial";\r
- WRAPPER_EXTENSION = app;\r
- ZERO_LINK = NO;\r
- };\r
- name = Release;\r
- };\r
- C0E91AC608A95435008D54AB /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ALWAYS_SEARCH_USER_PATHS = NO;\r
- ARCHS = i386;\r
- COPY_PHASE_STRIP = NO;\r
- GCC_DYNAMIC_NO_PIC = NO;\r
- GCC_ENABLE_FIX_AND_CONTINUE = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_OPTIMIZATION_LEVEL = 0;\r
- GCC_PRECOMPILE_PREFIX_HEADER = YES;\r
- GCC_PREFIX_HEADER = tachyon.pch;\r
- INFOPLIST_FILE = Info.plist;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PRODUCT_NAME = "tachyon-tbb";\r
- WRAPPER_EXTENSION = app;\r
- ZERO_LINK = NO;\r
- };\r
- name = Debug;\r
- };\r
- C0E91AC708A95435008D54AB /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- ALWAYS_SEARCH_USER_PATHS = NO;\r
- ARCHS = i386;\r
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;\r
- GCC_MODEL_TUNING = "";\r
- GCC_PRECOMPILE_PREFIX_HEADER = YES;\r
- GCC_PREFIX_HEADER = tachyon.pch;\r
- INFOPLIST_FILE = Info.plist;\r
- INSTALL_PATH = "$(HOME)/Applications";\r
- LIBRARY_SEARCH_PATHS = (\r
- "$(inherited)",\r
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",\r
- );\r
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";\r
- PRODUCT_NAME = "tachyon-tbb";\r
- WRAPPER_EXTENSION = app;\r
- ZERO_LINK = NO;\r
- };\r
- name = Release;\r
- };\r
- C0E91ACA08A95435008D54AB /* Debug */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- GCC_AUTO_VECTORIZATION = YES;\r
- GCC_ENABLE_CPP_RTTI = YES;\r
- GCC_ENABLE_SSE3_EXTENSIONS = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_PREPROCESSOR_DEFINITIONS = "DEFAULT_MODELFILE=\"/Library/Frameworks/TBB.framework/Versions/Current/examples/parallel_for/tachyon/dat/balls.dat\"";\r
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\r
- GCC_WARN_ABOUT_RETURN_TYPE = YES;\r
- GCC_WARN_UNUSED_VARIABLE = YES;\r
- PREBINDING = NO;\r
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;\r
- SYMROOT = "/tmp/tbb-$(USER)";\r
- };\r
- name = Debug;\r
- };\r
- C0E91ACB08A95435008D54AB /* Release */ = {\r
- isa = XCBuildConfiguration;\r
- buildSettings = {\r
- GCC_AUTO_VECTORIZATION = YES;\r
- GCC_ENABLE_CPP_RTTI = YES;\r
- GCC_ENABLE_SSE3_EXTENSIONS = YES;\r
- GCC_MODEL_TUNING = "";\r
- GCC_PREPROCESSOR_DEFINITIONS = "DEFAULT_MODELFILE=\"/Library/Frameworks/TBB.framework/Versions/Current/examples/parallel_for/tachyon/dat/balls.dat\"";\r
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\r
- GCC_WARN_ABOUT_RETURN_TYPE = YES;\r
- GCC_WARN_UNUSED_VARIABLE = YES;\r
- PREBINDING = NO;\r
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;\r
- SYMROOT = "/tmp/tbb-$(USER)";\r
- };\r
- name = Release;\r
- };\r
-/* End XCBuildConfiguration section */\r
-\r
-/* Begin XCConfigurationList section */\r
- A1F58D950B8DF03600073279 /* Build configuration list for PBXNativeTarget "tachyon-tbb1d" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- A1F58D960B8DF03600073279 /* Debug */,\r
- A1F58D970B8DF03600073279 /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
- A1F58D9F0B8DF06700073279 /* Build configuration list for PBXNativeTarget "tachyon-serial" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- A1F58DA00B8DF06700073279 /* Debug */,\r
- A1F58DA10B8DF06700073279 /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
- C0E91AC508A95435008D54AB /* Build configuration list for PBXNativeTarget "tachyon-tbb" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- C0E91AC608A95435008D54AB /* Debug */,\r
- C0E91AC708A95435008D54AB /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
- C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "tachyon" */ = {\r
- isa = XCConfigurationList;\r
- buildConfigurations = (\r
- C0E91ACA08A95435008D54AB /* Debug */,\r
- C0E91ACB08A95435008D54AB /* Release */,\r
- );\r
- defaultConfigurationIsVisible = 0;\r
- defaultConfigurationName = Release;\r
- };\r
-/* End XCConfigurationList section */\r
- };\r
- rootObject = 20286C28FDCF999611CA2CEA /* Project object */;\r
-}\r
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=convex_hull_bench
-ARGS=
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o convex_hull_sample convex_hull_sample.cpp -ltbb $(LIBS)
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o convex_hull_bench convex_hull_bench.cpp -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o convex_hull_sample convex_hull_sample.cpp -ltbb_debug $(LIBS)
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o convex_hull_bench convex_hull_bench.cpp -ltbb_debug $(LIBS)
-
-clean:
- $(RM) convex_hull_bench convex_hull_sample *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-PROG=convex_hull_bench
-ARGS=
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) convex_hull_sample.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:convex_hull_sample.exe
- $(CXX) convex_hull_bench.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:convex_hull_bench.exe
-debug:
- $(CXX) convex_hull_sample.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:convex_hull_sample.exe
- $(CXX) convex_hull_bench.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:convex_hull_bench.exe
-clean:
- @cmd.exe /C del convex_hull*.exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef __CONVEX_HULL_H__
-#define __CONVEX_HULL_H__
-
-#define _SCL_SECURE_NO_DEPRECATE
-#include <cstdlib>
-#include <iostream>
-#include <iomanip>
-#include <sstream>
-#include <vector>
-#include <string>
-#include <cstring>
-#include <algorithm>
-#include <functional>
-#include <assert.h>
-#include "tbb/tick_count.h"
-
-using namespace std;
-
-namespace cfg {
- // convex hull problem parameter defaults
- const long NP = 5000000; // problem size
- const int SNT = 1; // minimal number of threads
- const int ENT = 8; // maximal number of threads
-
- // convex hull problem user set parameters
- long MAXPOINTS = NP;
- int NUM_THREADS_START = SNT;
- int NUM_THREADS_END = ENT;
-
- // convex hull grain sizes for 3 subproblems. Be sure 16*GS < 512Kb
- const size_t GENERATE_GS = 25000;
- const size_t FINDEXT_GS = 25000;
- const size_t DIVIDE_GS = 25000;
-};
-
-namespace util {
- bool VERBOSE = false;
- vector<string> OUTPUT;
-
- // utility functionality
- void ParseInputArgs(int argc, char* argv[]) {
- int numArgs = 1;
- if(argc>numArgs) {
- char delim = ':';
- if(!strcmp(argv[numArgs], "-h")) {
- cout << " Program usage is:" << endl
- << " " << argv[0] << " [NP] [SNT" << delim << "ENT] [-v]"
- << endl << endl
- << " where:" << endl
- << " NP - number of points" << endl
- << " SNT - start with this number of threads" << endl
- << " ENT - end with this number of threads" << endl
- << " -v - turns verbose ON" << endl;
- exit(0);
- } else {
- while(argc>numArgs) {
- char* endptr;
- if(!strcmp(argv[numArgs], "-v")) {
- VERBOSE = true;
- } else if(!strchr(argv[numArgs], delim)) {
- cfg::MAXPOINTS = strtol(argv[numArgs], &endptr, 0);
- if(*endptr!='\0') {
- cout << " wrong parameter format for Number of Points" << endl;
- exit(1);
- }
- if(cfg::MAXPOINTS<=0) {
- cout
- << " wrong value set for Number of Points" << endl
- << " using default value: " << endl
- << " Number of Points = " << cfg::NP << endl;
- cfg::MAXPOINTS = cfg::NP;
- }
- } else {
- cfg::NUM_THREADS_START=(int)strtol(argv[numArgs], &endptr, 0);
- if(*endptr==delim) {
- cfg::NUM_THREADS_END = (int)strtol(endptr+1, &endptr, 0);
- } else {
- cout << " wrong parameter format for Number of Threads" << endl;
- exit(1);
- }
- if(*endptr!='\0') {
- cout << " wrong parameter format for Number of Threads" << endl;
- exit(1);
- }
- if((cfg::NUM_THREADS_START<=0)
- || (cfg::NUM_THREADS_END<cfg::NUM_THREADS_START)) {
- cout
- << " wrong values set for Number of Threads" << endl
- << " using default values: " << endl
- << " start NT = " << cfg::SNT << endl
- << " end NT = " << cfg::ENT << endl;
- cfg::NUM_THREADS_START=cfg::SNT;
- cfg::NUM_THREADS_END =cfg::ENT;
- }
- }
- ++numArgs;
- }
- }
- }
- }
-
- template <typename T>
- struct point {
- T x;
- T y;
- point() : x(T()), y(T()) {}
- point(T _x, T _y) : x(_x), y(_y) {}
- //why do we need below line? it fails to compile with suncc
- //point(const point<T>& _P) : x(_P.x), y(_P.y) {}
- };
-
- int random(unsigned int& rseed) {
-#if __linux__ || __APPLE__ || __FreeBSD__
- return rand_r(&rseed);
-#elif _WIN32 || __sun
- return rand();
-#else
-#error Unknown/unsupported OS?
-#endif // __linux__ || __APPLE__ || __FreeBSD__
- }
-
- template < typename T >
- point<T> GenerateRNDPoint(size_t& count, unsigned int& rseed) {
- /* generates random points on 2D plane so that the cluster
- is somewhat circle shaped */
- const size_t maxsize=500;
- T x = random(rseed)*2.0/(double)RAND_MAX - 1;
- T y = random(rseed)*2.0/(double)RAND_MAX - 1;
- T r = (x*x + y*y);
- if(r>1) {
- count++;
- if(count>10) {
- if (random(rseed)/(double)RAND_MAX > 0.5)
- x /= r;
- if (random(rseed)/(double)RAND_MAX > 0.5)
- y /= r;
- count = 0;
- }
- else {
- x /= r;
- y /= r;
- }
- }
-
- x = (x+1)*0.5*maxsize;
- y = (y+1)*0.5*maxsize;
-
- return point<T>(x,y);
- }
-
- template <typename Index>
- struct edge {
- Index start;
- Index end;
- edge(Index _p1, Index _p2) : start(_p1), end(_p2) {};
- };
-
- template <typename T>
- ostream& operator <<(ostream& _ostr, point<T> _p) {
- return _ostr << '(' << _p.x << ',' << _p.y << ')';
- }
-
- template <typename T>
- istream& operator >>(istream& _istr, point<T> _p) {
- return _istr >> _p.x >> _p.y;
- }
-
- template <typename T>
- bool operator ==(point<T> p1, point<T> p2) {
- return (p1.x == p2.x && p1.y == p2.y);
- }
-
- template <typename T>
- bool operator !=(point<T> p1, point<T> p2) {
- return !(p1 == p2);
- }
-
- template <typename T>
- double cross_product(const point<T>& start, const point<T>& end1, const point<T>& end2) {
- return ((end1.x-start.x)*(end2.y-start.y)-(end2.x-start.x)*(end1.y-start.y));
- }
-
- // Timing functions are based on TBB to always obtain wall-clock time
- typedef tbb::tick_count my_time_t;
-
- my_time_t gettime() {
- return tbb::tick_count::now();
- }
-
- double time_diff(my_time_t start, my_time_t end) {
- return (end-start).seconds();
- }
-
- void WriteResults(int nthreads, double initTime, double calcTime) {
- if(VERBOSE) {
- cout << " Step by step hull construction:" << endl;
- for(size_t i = 0; i < OUTPUT.size(); ++i)
- cout << OUTPUT[i] << endl;
- }
-
- cout
- << " Number of nodes:" << cfg::MAXPOINTS
- << " Number of threads:" << nthreads
- << " Initialization time:" << setw(10) << setprecision(3) << initTime
- << " Calculation time:" << setw(10) << setprecision(3) << calcTime
- << endl;
- }
-};
-
-#endif // __CONVEX_HULL_H__
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "convex_hull.h"
-
-typedef util::point<double> point_t;
-
-#define USETBB 1
-#define USECONCVEC 1
-#define INIT_ONCE 1
-
-#if !USETBB // Serial implementation of Quick Hull algorithm
-
-typedef std::vector< point_t > pointVec_t;
-
-// C++ style serial code
-
-class FillRNDPointsVector : public std::unary_function<point_t&, void> {
- unsigned int rseed;
- size_t count;
-public:
- FillRNDPointsVector() : rseed(1), count(0) {}
-
- void operator()(point_t& p) {
- p = util::GenerateRNDPoint<double>(count, rseed);
- }
-};
-
-void initialize(pointVec_t &points) {
- points.clear();
- points.resize(cfg::MAXPOINTS);
-
- std::for_each(points.begin(), points.end(), FillRNDPointsVector());
-}
-
-class FindXExtremum : public std::unary_function<const point_t&, void> {
-public:
- typedef enum {
- minX, maxX
- } extremumType;
-
- FindXExtremum(const point_t& frstPoint, extremumType exType_)
- : extrXPoint(frstPoint), exType(exType_) {}
-
- void operator()(const point_t& p) {
- if(closerToExtremum(p))
- extrXPoint = p;
- }
-
- operator point_t () {
- return extrXPoint;
- }
-
-private:
- const extremumType exType;
- point_t extrXPoint;
-
- bool closerToExtremum(const point_t &p) const {
- switch(exType) {
- case minX:
- return p.x<extrXPoint.x; break;
- case maxX:
- return p.x>extrXPoint.x; break;
- }
- }
-};
-
-template <FindXExtremum::extremumType type>
-point_t extremum(const pointVec_t &points) {
- assert(!points.empty());
- return std::for_each(points.begin(), points.end(), FindXExtremum(points[0], type));
-}
-
-class SplitByCP : public std::unary_function<const point_t&, void> {
- pointVec_t &reducedSet;
- point_t p1, p2;
- point_t farPoint;
- double howFar;
-public:
-
- SplitByCP( point_t _p1, point_t _p2, pointVec_t &_reducedSet)
- : p1(_p1), p2(_p2), reducedSet(_reducedSet), howFar(0), farPoint(p1) {}
-
- void operator()(const point_t& p) {
- double cp;
- if( (p != p1) && (p != p2) ) {
- cp = util::cross_product(p1, p2, p);
- if(cp>0) {
- reducedSet.push_back(p);
- if(cp>howFar) {
- farPoint = p;
- howFar = cp;
- }
- }
- }
- }
-
- operator point_t (){
- return farPoint;
- }
-};
-
-point_t divide(const pointVec_t &P, pointVec_t &P_reduced, const point_t &p1, const point_t &p2) {
- SplitByCP splitByCP(p1, p2, P_reduced);
- point_t farPoint = std::for_each(P.begin(), P.end(), splitByCP);
-
- if(util::VERBOSE) {
- std::stringstream ss;
- ss << P.size() << " nodes in bucket"<< ", "
- << "dividing by: [ " << p1 << ", " << p2 << " ], "
- << "farthest node: " << farPoint;
- util::OUTPUT.push_back(ss.str());
- }
-
- return farPoint;
-}
-
-void divide_and_conquer(const pointVec_t &P, pointVec_t &H, point_t p1, point_t p2) {
- if (P.size()<2) {
- H.push_back(p1);
- H.insert(H.end(), P.begin(), P.end());
- }
- else {
- pointVec_t P_reduced;
- pointVec_t H1, H2;
- point_t p_far;
-
- p_far = divide(P, P_reduced, p1, p2);
-
- divide_and_conquer(P_reduced, H1, p1, p_far);
- divide_and_conquer(P_reduced, H2, p_far, p2);
-
- H.insert(H.end(), H1.begin(), H1.end());
- H.insert(H.end(), H2.begin(), H2.end());
- }
-}
-
-void quickhull(const pointVec_t &points, pointVec_t &hull) {
- hull.clear();
-
- point_t p_maxx = extremum<FindXExtremum::maxX>(points);
- point_t p_minx = extremum<FindXExtremum::minX>(points);
-
- pointVec_t H;
-
- divide_and_conquer(points, hull, p_maxx, p_minx);
- divide_and_conquer(points, H, p_minx, p_maxx);
- hull.insert(hull.end(), H.begin(), H.end());
-}
-
-
-int main(int argc, char* argv[]) {
- util::ParseInputArgs(argc, argv);
-
- pointVec_t points;
- pointVec_t hull;
- util::my_time_t tm_init, tm_start, tm_end;
-
- std::cout << "Starting serial version of QUICK HULL algorithm" << std::endl;
-
- tm_init = util::gettime();
- initialize(points);
- tm_start = util::gettime();
- quickhull(points, hull);
- tm_end = util::gettime();
-
- util::WriteResults(1, util::time_diff(tm_init, tm_start),
- util::time_diff(tm_start, tm_end));
-}
-
-#else // USETBB - parallel version of Quick Hull algorithm
-
-#include "tbb/task_scheduler_init.h"
-#include "tbb/parallel_for.h"
-#include "tbb/parallel_reduce.h"
-#include "tbb/blocked_range.h"
-
-typedef tbb::blocked_range<size_t> range_t;
-
-#if USECONCVEC
-#include "tbb/concurrent_vector.h"
-
-typedef tbb::concurrent_vector<point_t> pointVec_t;
-
-void appendVector(const point_t* src, size_t srcSize, pointVec_t& dest) {
- std::copy(src, src + srcSize, dest.grow_by(srcSize));
-}
-
-void appendVector(const pointVec_t& src, pointVec_t& dest) {
- std::copy(src.begin(), src.end(), dest.grow_by(src.size()));
-}
-
-#else // USE STD::VECTOR - include spin_mutex.h and lock vector operations
-#include "tbb/spin_mutex.h"
-
-typedef tbb::spin_mutex mutex_t;
-typedef std::vector<point_t> pointVec_t;
-
-void appendVector(mutex_t& insertMutex, const pointVec_t& src, pointVec_t& dest) {
- mutex_t::scoped_lock lock(insertMutex);
- dest.insert(dest.end(), src.begin(), src.end());
-}
-
-void appendVector(mutex_t& insertMutex, const point_t* src, size_t srcSize,
- pointVec_t& dest) {
- mutex_t::scoped_lock lock(insertMutex);
- dest.insert(dest.end(), src, src + srcSize);
-}
-
-#endif // USECONCVEC
-
-class FillRNDPointsVector {
- pointVec_t &points;
- mutable unsigned int rseed;
-public:
- static const size_t grainSize = cfg::GENERATE_GS;
-#if !USECONCVEC
- static mutex_t pushBackMutex;
-#endif // USECONCVEC
- FillRNDPointsVector(pointVec_t& _points)
- : points(_points), rseed(1) {}
-
- FillRNDPointsVector(const FillRNDPointsVector& other)
- : points(other.points), rseed(other.rseed+1) {}
-
- void operator()(const range_t& range) const {
- const size_t i_end = range.end();
- size_t count = 0;
- for(size_t i = range.begin(); i != i_end; ++i) {
-#if USECONCVEC
- points.push_back(util::GenerateRNDPoint<double>(count, rseed));
-#else // Locked push_back to a not thread-safe STD::VECTOR
- {
- mutex_t::scoped_lock lock(pushBackMutex);
- points.push_back(util::GenerateRNDPoint<double>(count, rseed));
- }
-#endif // USECONCVEC
- }
- }
-};
-
-class FillRNDPointsVector_buf {
- pointVec_t &points;
- mutable unsigned int rseed;
-public:
- static const size_t grainSize = cfg::GENERATE_GS;
-#if !USECONCVEC
- static mutex_t insertMutex;
-#endif // USECONCVEC
-
- FillRNDPointsVector_buf(pointVec_t& _points)
- : points(_points), rseed(1) {}
-
- FillRNDPointsVector_buf(const FillRNDPointsVector_buf& other)
- : points(other.points), rseed(other.rseed+1) {}
-
- void operator()(const range_t& range) const {
- const size_t i_end = range.end();
- size_t count = 0, j = 0;
- point_t tmp_vec[grainSize];
- for(size_t i=range.begin(); i!=i_end; ++i) {
- tmp_vec[j++] = util::GenerateRNDPoint<double>(count, rseed);
- }
-#if USECONCVEC
- appendVector(tmp_vec, j, points);
-#else // USE STD::VECTOR
- appendVector(insertMutex, tmp_vec, j, points);
-#endif // USECONCVEC
- }
-};
-
-#if !USECONCVEC
-mutex_t FillRNDPointsVector::pushBackMutex = mutex_t();
-mutex_t FillRNDPointsVector_buf::insertMutex = mutex_t();
-#endif
-
-template<typename BodyType>
-void initialize(pointVec_t &points) {
- points.clear();
-
- tbb::parallel_for(range_t(0, cfg::MAXPOINTS, BodyType::grainSize),
- BodyType(points), tbb::simple_partitioner());
-}
-
-class FindXExtremum {
-public:
- typedef enum {
- minX, maxX
- } extremumType;
-
- static const size_t grainSize = cfg::FINDEXT_GS;
-
- FindXExtremum(const pointVec_t& points_, extremumType exType_)
- : points(points_), exType(exType_), extrXPoint(points[0]) {}
-
- FindXExtremum(const FindXExtremum& fxex, tbb::split)
- : points(fxex.points), exType(fxex.exType), extrXPoint(fxex.extrXPoint) {}
-
- void operator()(const range_t& range) {
- const size_t i_end = range.end();
- if(!range.empty()) {
- for(size_t i = range.begin(); i != i_end; ++i) {
- if(closerToExtremum(points[i])) {
- extrXPoint = points[i];
- }
- }
- }
- }
-
- void join(const FindXExtremum &rhs) {
- if(closerToExtremum(rhs.extrXPoint)) {
- extrXPoint = rhs.extrXPoint;
- }
- }
-
- point_t extremeXPoint() {
- return extrXPoint;
- }
-
-private:
- const pointVec_t &points;
- const extremumType exType;
- point_t extrXPoint;
- bool closerToExtremum(const point_t &p) const {
- switch(exType) {
- case minX:
- return p.x<extrXPoint.x; break;
- case maxX:
- return p.x>extrXPoint.x; break;
- }
- return false; // avoid warning
- }
-};
-
-template <FindXExtremum::extremumType type>
-point_t extremum(const pointVec_t &P) {
- FindXExtremum fxBody(P, type);
- tbb::parallel_reduce(range_t(0, P.size(), FindXExtremum::grainSize), fxBody);
- return fxBody.extremeXPoint();
-}
-
-class SplitByCP {
- const pointVec_t &initialSet;
- pointVec_t &reducedSet;
- point_t p1, p2;
- point_t farPoint;
- double howFar;
-public:
- static const size_t grainSize = cfg::DIVIDE_GS;
-#if !USECONCVEC
- static mutex_t pushBackMutex;
-#endif // USECONCVEC
-
- SplitByCP( point_t _p1, point_t _p2,
- const pointVec_t &_initialSet, pointVec_t &_reducedSet)
- : p1(_p1), p2(_p2),
- initialSet(_initialSet), reducedSet(_reducedSet),
- howFar(0), farPoint(p1) {
- }
-
- SplitByCP( SplitByCP& sbcp, tbb::split )
- : p1(sbcp.p1), p2(sbcp.p2),
- initialSet(sbcp.initialSet), reducedSet(sbcp.reducedSet),
- howFar(0), farPoint(p1) {}
-
- void operator()( const range_t& range ) {
- const size_t i_end = range.end();
- double cp;
- for(size_t i=range.begin(); i!=i_end; ++i) {
- if( (initialSet[i] != p1) && (initialSet[i] != p2) ) {
- cp = util::cross_product(p1, p2, initialSet[i]);
- if(cp>0) {
-#if USECONCVEC
- reducedSet.push_back(initialSet[i]);
-#else // Locked push_back to a not thread-safe STD::VECTOR
- {
- mutex_t::scoped_lock lock(pushBackMutex);
- reducedSet.push_back(initialSet[i]);
- }
-#endif // USECONCVEC
- if(cp>howFar) {
- farPoint = initialSet[i];
- howFar = cp;
- }
- }
- }
- }
- }
-
- void join(const SplitByCP& rhs) {
- if(rhs.howFar>howFar) {
- howFar = rhs.howFar;
- farPoint = rhs.farPoint;
- }
- }
-
- point_t farthestPoint() const {
- return farPoint;
- }
-};
-
-class SplitByCP_buf {
- const pointVec_t &initialSet;
- pointVec_t &reducedSet;
- point_t p1, p2;
- point_t farPoint;
- double howFar;
-public:
- static const size_t grainSize = cfg::DIVIDE_GS;
-#if !USECONCVEC
- static mutex_t insertMutex;
-#endif // USECONCVEC
-
- SplitByCP_buf( point_t _p1, point_t _p2,
- const pointVec_t &_initialSet, pointVec_t &_reducedSet)
- : p1(_p1), p2(_p2),
- initialSet(_initialSet), reducedSet(_reducedSet),
- howFar(0), farPoint(p1) {}
-
- SplitByCP_buf(SplitByCP_buf& sbcp, tbb::split)
- : p1(sbcp.p1), p2(sbcp.p2),
- initialSet(sbcp.initialSet), reducedSet(sbcp.reducedSet),
- howFar(0), farPoint(p1) {}
-
- void operator()(const range_t& range) {
- const size_t i_end = range.end();
- size_t j = 0;
- double cp;
- point_t tmp_vec[grainSize];
- for(size_t i = range.begin(); i != i_end; ++i) {
- if( (initialSet[i] != p1) && (initialSet[i] != p2) ) {
- cp = util::cross_product(p1, p2, initialSet[i]);
- if(cp>0) {
- tmp_vec[j++] = initialSet[i];
- if(cp>howFar) {
- farPoint = initialSet[i];
- howFar = cp;
- }
- }
- }
- }
-
-#if USECONCVEC
- appendVector(tmp_vec, j, reducedSet);
-#else // USE STD::VECTOR
- appendVector(insertMutex, tmp_vec, j, reducedSet);
-#endif // USECONCVEC
- }
-
- void join(const SplitByCP_buf& rhs) {
- if(rhs.howFar>howFar) {
- howFar = rhs.howFar;
- farPoint = rhs.farPoint;
- }
- }
-
- point_t farthestPoint() const {
- return farPoint;
- }
-};
-
-#if !USECONCVEC
-mutex_t SplitByCP::pushBackMutex = mutex_t();
-mutex_t SplitByCP_buf::insertMutex = mutex_t();
-#endif
-
-template <typename BodyType>
-point_t divide(const pointVec_t &P, pointVec_t &P_reduced,
- const point_t &p1, const point_t &p2) {
- BodyType body(p1, p2, P, P_reduced);
- tbb::parallel_reduce(range_t(0, P.size(), BodyType::grainSize),
- body, tbb::simple_partitioner() );
-
- if(util::VERBOSE) {
- std::stringstream ss;
- ss << P.size() << " nodes in bucket"<< ", "
- << "dividing by: [ " << p1 << ", " << p2 << " ], "
- << "farthest node: " << body.farthestPoint();
- util::OUTPUT.push_back(ss.str());
- }
-
- return body.farthestPoint();
-}
-
-void divide_and_conquer(const pointVec_t &P, pointVec_t &H,
- point_t p1, point_t p2, bool buffered) {
- if (P.size()<2) {
- H.push_back(p1);
-#if USECONCVEC
- appendVector(P, H);
-#else // insert into STD::VECTOR
- H.insert(H.end(), P.begin(), P.end());
-#endif
- }
- else {
- pointVec_t P_reduced;
- pointVec_t H1, H2;
- point_t p_far;
-
- if(buffered) {
- p_far = divide<SplitByCP_buf>(P, P_reduced, p1, p2);
- } else {
- p_far = divide<SplitByCP>(P, P_reduced, p1, p2);
- }
-
- divide_and_conquer(P_reduced, H1, p1, p_far, buffered);
- divide_and_conquer(P_reduced, H2, p_far, p2, buffered);
-
-#if USECONCVEC
- appendVector(H1, H);
- appendVector(H2, H);
-#else // insert into STD::VECTOR
- H.insert(H.end(), H1.begin(), H1.end());
- H.insert(H.end(), H2.begin(), H2.end());
-#endif
- }
-}
-
-void quickhull(const pointVec_t &points, pointVec_t &hull, bool buffered) {
- hull.clear();
-
- point_t p_maxx = extremum<FindXExtremum::maxX>(points);
- point_t p_minx = extremum<FindXExtremum::minX>(points);
-
- pointVec_t H;
-
- divide_and_conquer(points, hull, p_maxx, p_minx, buffered);
- divide_and_conquer(points, H, p_minx, p_maxx, buffered);
-#if USECONCVEC
- appendVector(H, hull);
-#else // STD::VECTOR
- hull.insert(hull.end(), H.begin(), H.end());
-#endif // USECONCVEC
-}
-
-int main(int argc, char* argv[]) {
- util::ParseInputArgs(argc, argv);
-
- pointVec_t points;
- pointVec_t hull;
- int nthreads;
- util::my_time_t tm_init, tm_start, tm_end;
- pointVec_t tmp_points;
-
-#if USECONCVEC
- std::cout << "Starting TBB unbufferred push_back version of QUICK HULL algorithm" << std::endl;
-#else
- std::cout << "Starting STL locked unbufferred push_back version of QUICK HULL algorithm" << std::endl;
-#endif // USECONCVEC
-
- for(nthreads=cfg::NUM_THREADS_START; nthreads<=cfg::NUM_THREADS_END;
- ++nthreads) {
- tbb::task_scheduler_init init(nthreads);
-#if INIT_ONCE
- if(nthreads==cfg::NUM_THREADS_START) {
- tm_init = util::gettime();
- initialize<FillRNDPointsVector>(points);
- }
- else /* timing generation for stats, but use original data set */ {
- tm_init = util::gettime();
- initialize<FillRNDPointsVector>(tmp_points);
- }
-#else
- tm_init = util::gettime();
- initialize<FillRNDPointsVector>(points);
-#endif // INIT_ONCE
- tm_start = util::gettime();
- quickhull(points, hull, false);
- tm_end = util::gettime();
-
- util::WriteResults(nthreads, util::time_diff(tm_init, tm_start),
- util::time_diff(tm_start, tm_end));
- }
-
-#if USECONCVEC
- std::cout << "Starting TBB bufferred version of QUICK HULL algorithm" << std::endl;
-#else
- std::cout << "Starting STL locked bufferred version of QUICK HULL algorithm" << std::endl;
-#endif
-
- for(nthreads=cfg::NUM_THREADS_START; nthreads<=cfg::NUM_THREADS_END;
- ++nthreads) {
- tbb::task_scheduler_init init(nthreads);
-#if INIT_ONCE
- if(nthreads==cfg::NUM_THREADS_START) {
- tm_init = util::gettime();
- initialize<FillRNDPointsVector_buf>(points);
- }
- else /* timing generation for stats, but use original data set */ {
- tm_init = util::gettime();
- initialize<FillRNDPointsVector_buf>(tmp_points);
- }
-#else
- tm_init = util::gettime();
- initialize<FillRNDPointsVector_buf>(points);
-#endif // INIT_ONCE
- tm_start = util::gettime();
- quickhull(points, hull, true);
- tm_end = util::gettime();
-
- util::WriteResults(nthreads, util::time_diff(tm_init, tm_start),
- util::time_diff(tm_start, tm_end));
- }
-
- return 0;
-}
-
-#endif // USETBB
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "convex_hull.h"
-
-#include "tbb/task_scheduler_init.h"
-#include "tbb/blocked_range.h"
-#include "tbb/parallel_for.h"
-#include "tbb/parallel_reduce.h"
-#include "tbb/tick_count.h"
-#include "tbb/concurrent_vector.h"
-
-typedef util::point<double> point_t;
-typedef tbb::concurrent_vector< point_t > pointVec_t;
-typedef tbb::blocked_range<size_t> range_t;
-
-void appendVector(const point_t* src, size_t srcSize, pointVec_t& dest) {
- std::copy(src, src + srcSize, dest.grow_by(srcSize));
-}
-
-void appendVector(const pointVec_t& src, pointVec_t& dest) {
- std::copy(src.begin(), src.end(), dest.grow_by(src.size()));
-}
-
-class FillRNDPointsVector_buf {
- pointVec_t &points;
- mutable unsigned int rseed;
-public:
- static const size_t grainSize = cfg::GENERATE_GS;
-
- FillRNDPointsVector_buf(pointVec_t& _points)
- : points(_points), rseed(1) {}
-
- FillRNDPointsVector_buf(const FillRNDPointsVector_buf& other)
- : points(other.points), rseed(other.rseed+1) {}
-
- void operator()(const range_t& range) const {
- const size_t i_end = range.end();
- size_t count = 0, j = 0;
- point_t tmp_vec[grainSize];
- for(size_t i=range.begin(); i!=i_end; ++i) {
- tmp_vec[j++] = util::GenerateRNDPoint<double>(count, rseed);
- }
- appendVector(tmp_vec, j, points);
- }
-};
-
-void initialize_buf(pointVec_t &points) {
- points.clear();
-
- tbb::parallel_for(range_t(0, cfg::MAXPOINTS,
- FillRNDPointsVector_buf::grainSize), FillRNDPointsVector_buf(points));
-}
-
-class FindXExtremum {
-public:
- typedef enum {
- minX, maxX
- } extremumType;
-
- static const size_t grainSize = cfg::FINDEXT_GS;
-
- FindXExtremum(const pointVec_t& points_, extremumType exType_)
- : points(points_), exType(exType_), extrXPoint(points[0]) {}
-
- FindXExtremum(const FindXExtremum& fxex, tbb::split)
- : points(fxex.points), exType(fxex.exType), extrXPoint(fxex.extrXPoint) {}
-
- void operator()(const range_t& range) {
- const size_t i_end = range.end();
- if(!range.empty()) {
- for(size_t i = range.begin(); i != i_end; ++i) {
- if(closerToExtremum(points[i])) {
- extrXPoint = points[i];
- }
- }
- }
- }
-
- void join(const FindXExtremum &rhs) {
- if(closerToExtremum(rhs.extrXPoint)) {
- extrXPoint = rhs.extrXPoint;
- }
- }
-
- point_t extremeXPoint() {
- return extrXPoint;
- }
-
-private:
- const pointVec_t &points;
- const extremumType exType;
- point_t extrXPoint;
- bool closerToExtremum(const point_t &p) const {
- switch(exType) {
- case minX:
- return p.x<extrXPoint.x; break;
- case maxX:
- return p.x>extrXPoint.x; break;
- }
- return false; // avoid warning
- }
-};
-
-template <FindXExtremum::extremumType type>
-point_t extremum(const pointVec_t &P) {
- FindXExtremum fxBody(P, type);
- tbb::parallel_reduce(range_t(0, P.size(), FindXExtremum::grainSize), fxBody);
- return fxBody.extremeXPoint();
-}
-
-class SplitByCP_buf {
- const pointVec_t &initialSet;
- pointVec_t &reducedSet;
- point_t p1, p2;
- point_t farPoint;
- double howFar;
-public:
- static const size_t grainSize = cfg::DIVIDE_GS;
-
- SplitByCP_buf( point_t _p1, point_t _p2,
- const pointVec_t &_initialSet, pointVec_t &_reducedSet)
- : p1(_p1), p2(_p2),
- initialSet(_initialSet), reducedSet(_reducedSet),
- howFar(0), farPoint(p1) {}
-
- SplitByCP_buf(SplitByCP_buf& sbcp, tbb::split)
- : p1(sbcp.p1), p2(sbcp.p2),
- initialSet(sbcp.initialSet), reducedSet(sbcp.reducedSet),
- howFar(0), farPoint(p1) {}
-
- void operator()(const range_t& range) {
- const size_t i_end = range.end();
- size_t j = 0;
- double cp;
- point_t tmp_vec[grainSize];
- for(size_t i = range.begin(); i != i_end; ++i) {
- if( (initialSet[i] != p1) && (initialSet[i] != p2) ) {
- cp = util::cross_product(p1, p2, initialSet[i]);
- if(cp>0) {
- tmp_vec[j++] = initialSet[i];
- if(cp>howFar) {
- farPoint = initialSet[i];
- howFar = cp;
- }
- }
- }
- }
-
- appendVector(tmp_vec, j, reducedSet);
- }
-
- void join(const SplitByCP_buf& rhs) {
- if(rhs.howFar>howFar) {
- howFar = rhs.howFar;
- farPoint = rhs.farPoint;
- }
- }
-
- point_t farthestPoint() const {
- return farPoint;
- }
-};
-
-point_t divide_buf(const pointVec_t &P, pointVec_t &P_reduced,
- const point_t &p1, const point_t &p2) {
- SplitByCP_buf sbcpb(p1, p2, P, P_reduced);
- tbb::parallel_reduce(range_t(0, P.size(), SplitByCP_buf::grainSize), sbcpb);
-
- if(util::VERBOSE) {
- std::stringstream ss;
- ss << P.size() << " nodes in bucket"<< ", "
- << "dividing by: [ " << p1 << ", " << p2 << " ], "
- << "farthest node: " << sbcpb.farthestPoint();
- util::OUTPUT.push_back(ss.str());
- }
-
- return sbcpb.farthestPoint();
-}
-
-void divide_and_conquer_buf(const pointVec_t &P, pointVec_t &H,
- point_t p1, point_t p2) {
- if (P.size()<2) {
- H.push_back(p1);
- appendVector(P, H);
- }
- else {
- pointVec_t P_reduced;
- pointVec_t H1, H2;
-
- point_t p_far = divide_buf(P, P_reduced, p1, p2);
-
- divide_and_conquer_buf(P_reduced, H1, p1, p_far);
- divide_and_conquer_buf(P_reduced, H2, p_far, p2);
-
- appendVector(H1, H);
- appendVector(H2, H);
- }
-}
-
-void quickhull_buf(const pointVec_t &points, pointVec_t &hull) {
- hull.clear();
-
- point_t p_maxx = extremum<FindXExtremum::maxX>(points);
- point_t p_minx = extremum<FindXExtremum::minX>(points);
-
- pointVec_t H;
-
- divide_and_conquer_buf(points, hull, p_maxx, p_minx);
- divide_and_conquer_buf(points, H, p_minx, p_maxx);
-
- appendVector(H, hull);
-}
-
-int main(int argc, char* argv[]) {
- util::ParseInputArgs(argc, argv);
-
- pointVec_t points;
- pointVec_t hull;
- int nthreads;
- util::my_time_t tm_init, tm_start, tm_end;
-
- std::cout << " Starting TBB-bufferred version of QUICK HULL algorithm" << std::endl;
-
- for(nthreads=cfg::NUM_THREADS_START; nthreads<=cfg::NUM_THREADS_END;
- ++nthreads) {
- tbb::task_scheduler_init init(nthreads);
- tm_init = util::gettime();
- initialize_buf(points);
- tm_start = util::gettime();
- quickhull_buf(points, hull);
- tm_end = util::gettime();
-
- util::WriteResults(nthreads, util::time_diff(tm_init, tm_start),
- util::time_diff(tm_start, tm_end));
- }
-
- return 0;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Parallel version of convex hull algorithm (quick hull).
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="convex_hull_sample.cpp">convex_hull_sample.cpp</A>
-<DD>Source code for TBB version of example.
-<DT><A HREF="convex_hull_bench.cpp">convex_hull_bench.cpp</A>
-<DD>Source code for version of example that compares serial and TBB buffered and unbuffered implementations.
-<DT><A HREF="convex_hull.h">convex_hull.h</A>
-<DD>Include file for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>convex_hull_sample [<I>S</I>] [<I>M</I>[:<I>N</I>]] [-v]</TT>
-<DD><I>S</I> is the number of points (problem size).
- <I>M:N</I> are a range of numbers of threads to be used.
- Use the -v option to turn on verbose output.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with a small problem size and the desired number of threads, e.g., <TT>convex_hull_sample 500000 4</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex_hull_bench", "convex_hull_bench.vcproj", "{6DF21C04-95F4-4FF0-89F3-3688888E10D5}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex_hull_sample", "convex_hull_sample.vcproj", "{B4A47D64-981B-4167-AE3D-CDAA8E18D2B3}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {6DF21C04-95F4-4FF0-89F3-3688888E10D5}.Debug.ActiveCfg = Debug|Win32
- {6DF21C04-95F4-4FF0-89F3-3688888E10D5}.Debug.Build.0 = Debug|Win32
- {6DF21C04-95F4-4FF0-89F3-3688888E10D5}.Release.ActiveCfg = Release|Win32
- {6DF21C04-95F4-4FF0-89F3-3688888E10D5}.Release.Build.0 = Release|Win32
- {B4A47D64-981B-4167-AE3D-CDAA8E18D2B3}.Debug.ActiveCfg = Debug|Win32
- {B4A47D64-981B-4167-AE3D-CDAA8E18D2B3}.Debug.Build.0 = Debug|Win32
- {B4A47D64-981B-4167-AE3D-CDAA8E18D2B3}.Release.ActiveCfg = Release|Win32
- {B4A47D64-981B-4167-AE3D-CDAA8E18D2B3}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionItems) = postSolution
- ..\index.html = ..\index.html
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="convex_hull_bench"
- ProjectGUID="{6DF21C04-95F4-4FF0-89F3-3688888E10D5}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\convex_hull_bench.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\convex_hull.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="convex_hull_sample"
- ProjectGUID="{B4A47D64-981B-4167-AE3D-CDAA8E18D2B3}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\convex_hull_sample.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\convex_hull.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex_hull_benchmark", "convex_hull_benchmark.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex_hull_sample", "convex_hull_sample.vcproj", "{5F897A77-EBD9-4462-94D4-06E2ADE47F3B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.Build.0 = Release|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|Win32.ActiveCfg = Debug|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|Win32.Build.0 = Debug|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|x64.ActiveCfg = Debug|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|x64.Build.0 = Debug|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|Win32.ActiveCfg = Release|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|Win32.Build.0 = Release|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|x64.ActiveCfg = Release|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="convex_hull_benchmark"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252A}"
- RootNamespace="convex_hull_benchmark"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\convex_hull_bench.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header files"
- >
- <File
- RelativePath="..\convex_hull.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="convex_hull_sample"
- ProjectGUID="{5F897A77-EBD9-4462-94D4-06E2ADE47F3B}"
- RootNamespace="convex_hull_sample"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\convex_hull_sample.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\convex_hull.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex_hull_benchmark", "convex_hull_benchmark.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex_hull_sample", "convex_hull_sample.vcproj", "{5F897A77-EBD9-4462-94D4-06E2ADE47F3B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.Build.0 = Release|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|Win32.ActiveCfg = Debug|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|Win32.Build.0 = Debug|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|x64.ActiveCfg = Debug|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Debug|x64.Build.0 = Debug|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|Win32.ActiveCfg = Release|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|Win32.Build.0 = Release|Win32
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|x64.ActiveCfg = Release|x64
- {5F897A77-EBD9-4462-94D4-06E2ADE47F3B}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="convex_hull_benchmark"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252A}"
- RootNamespace="convex_hull_benchmark"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\convex_hull_bench.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header files"
- >
- <File
- RelativePath="..\convex_hull.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="convex_hull_sample"
- ProjectGUID="{5F897A77-EBD9-4462-94D4-06E2ADE47F3B}"
- RootNamespace="convex_hull_sample"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy /Y "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\convex_hull_sample.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\convex_hull.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- A146114A0B94631F000C6B18 /* convex_hull_bench.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A14611490B94631F000C6B18 /* convex_hull_bench.cpp */; };
- A1F593A60B8F042A00073279 /* convex_hull_sample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* convex_hull_sample.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F594FC0B8F4F1000073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F594FD0B8F4F1800073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594F40B8F4E7700073279 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F594FD0B8F4F1800073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- A14611490B94631F000C6B18 /* convex_hull_bench.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = convex_hull_bench.cpp; path = ../convex_hull_bench.cpp; sourceTree = SOURCE_ROOT; };
- A146114C0B9463CB000C6B18 /* convex_hull.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = convex_hull.h; path = ../convex_hull.h; sourceTree = SOURCE_ROOT; };
- A1F593A50B8F042A00073279 /* convex_hull_sample.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = convex_hull_sample.cpp; path = ../convex_hull_sample.cpp; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
- A1F594EB0B8F4B5600073279 /* convex_hull_bench */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = convex_hull_bench; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F594FA0B8F4EE000073279 /* convex_hull_sample */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = convex_hull_sample; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594E90B8F4B5600073279 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F594FC0B8F4F1000073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* convex_hull */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = convex_hull;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- A146114C0B9463CB000C6B18 /* convex_hull.h */,
- A14611490B94631F000C6B18 /* convex_hull_bench.cpp */,
- A1F593A50B8F042A00073279 /* convex_hull_sample.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- A1F594EB0B8F4B5600073279 /* convex_hull_bench */,
- A1F594FA0B8F4EE000073279 /* convex_hull_sample */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* convex_hull_sample */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "convex_hull_sample" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = convex_hull_sample;
- productInstallPath = "$(HOME)/bin";
- productName = convex_hull;
- productReference = A1F594FA0B8F4EE000073279 /* convex_hull_sample */;
- productType = "com.apple.product-type.tool";
- };
- A1F594EA0B8F4B5600073279 /* convex_hull_bench */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = A1F594EE0B8F4B8200073279 /* Build configuration list for PBXNativeTarget "convex_hull_bench" */;
- buildPhases = (
- A1F594E80B8F4B5600073279 /* Sources */,
- A1F594E90B8F4B5600073279 /* Frameworks */,
- A1F594F40B8F4E7700073279 /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = convex_hull_bench;
- productName = convex_hull_bench;
- productReference = A1F594EB0B8F4B5600073279 /* convex_hull_bench */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "convex_hull" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* convex_hull */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* convex_hull_sample */,
- A1F594EA0B8F4B5600073279 /* convex_hull_bench */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593A60B8F042A00073279 /* convex_hull_sample.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A1F594E80B8F4B5600073279 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A146114A0B94631F000C6B18 /* convex_hull_bench.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = convex_hull_sample;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = convex_hull_sample;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = convex_hull_sample;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = convex_hull_sample;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
- A1F594EF0B8F4B8200073279 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = convex_hull_bench;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- A1F594F00B8F4B8200073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = convex_hull_bench;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F594F10B8F4B8200073279 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = convex_hull_bench;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- A1F594F20B8F4B8200073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PREBINDING = NO;
- PRODUCT_NAME = convex_hull_bench;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "convex_hull_sample" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "convex_hull" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- A1F594EE0B8F4B8200073279 /* Build configuration list for PBXNativeTarget "convex_hull_bench" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- A1F594EF0B8F4B8200073279 /* Debug */,
- A1F594F00B8F4B8200073279 /* Debug64 */,
- A1F594F10B8F4B8200073279 /* Release */,
- A1F594F20B8F4B8200073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has examples of the template <code>parallel_reduce</code>.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="convex_hull/index.html">convex_hull</A>
-<DD>Parallel version of convex hull algorithm (quick hull).
-<DT><A HREF="primes/index.html">primes</A>
-<DD>Parallel version of the Sieve of Eratosthenes.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=primes
-ARGS=100000000 0:4
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(PROG) *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Primes
-ARGS=100000000 0:4
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) *.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) *.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Parallel version of the Sieve of Eratosthenes.
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="primes.cpp">primes.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>primes [<I>S</I>] [<I>M</I>[:<I>N</I>]] [<I>G</I>]</TT>
-<DD><I>S</I> is the problem size (number of primes).
- <I>M</I> and <I>N</I> are a range of numbers of threads to be used.
- <I>G</I> is an optional grain size.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with a small problem size and the desired number of threads, e.g., <TT>primes 100000 4</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Example program that computes number of prime numbers up to n,
-// where n is a command line argument. The algorithm here is a
-// fairly efficient version of the sieve of Eratosthenes.
-// The parallel version demonstrates how to use parallel_reduce,
-// and in particular how to exploit lazy splitting.
-
-#include <cassert>
-#include <cstdio>
-#include <cstring>
-#include <math.h>
-#include <cstdlib>
-#include <cctype>
-#include "tbb/parallel_reduce.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tick_count.h"
-
-using namespace std;
-using namespace tbb;
-
-typedef unsigned long Number;
-
-//! If true, then print primes on stdout.
-static bool PrintPrimes = false;
-
-//! Grainsize parameter
-static Number GrainSize = 1000;
-
-class Multiples {
- inline Number strike( Number start, Number limit, Number stride ) {
- // Hoist "my_is_composite" into register for sake of speed.
- bool* is_composite = my_is_composite;
- assert( stride>=2 );
- for( ;start<limit; start+=stride )
- is_composite[start] = true;
- return start;
- }
- //! Window into conceptual sieve
- bool* my_is_composite;
-
- //! Indexes into window
- /** my_striker[k] is an index into my_composite corresponding to
- an odd multiple multiple of my_factor[k]. */
- Number* my_striker;
-
- //! Prime numbers less than m.
- Number* my_factor;
-public:
- //! Number of factors in my_factor.
- Number n_factor;
- Number m;
- Multiples( Number n ) :
- is_forked_copy(false)
- {
- m = Number(sqrt(double(n)));
- // Round up to even
- m += m&1;
- my_is_composite = new bool[m/2];
- my_striker = new Number[m/2];
- my_factor = new Number[m/2];
- n_factor = 0;
- memset( my_is_composite, 0, m/2 );
- for( Number i=3; i<m; i+=2 ) {
- if( !my_is_composite[i/2] ) {
- if( PrintPrimes )
- printf("%d\n",(int)i);
- my_striker[n_factor] = strike( i/2, m/2, i );
- my_factor[n_factor++] = i;
- }
- }
- }
-
- //! Find primes in range [start,window_size), advancing my_striker as we go.
- /** Returns number of primes found. */
- Number find_primes_in_window( Number start, Number window_size ) {
- bool* is_composite = my_is_composite;
- memset( is_composite, 0, window_size/2 );
- for( size_t k=0; k<n_factor; ++k )
- my_striker[k] = strike( my_striker[k]-m/2, window_size/2, my_factor[k] );
- Number count = 0;
- for( Number k=0; k<window_size/2; ++k ) {
- if( !is_composite[k] ) {
- if( PrintPrimes )
- printf("%ld\n",long(start+2*k+1));
- ++count;
- }
- }
- return count;
- }
-
- ~Multiples() {
- if( !is_forked_copy )
- delete[] my_factor;
- delete[] my_striker;
- delete[] my_is_composite;
- }
-
- //------------------------------------------------------------------------
- // Begin extra members required by parallel version
- //------------------------------------------------------------------------
-
- //! True if this instance was forked from another instance.
- const bool is_forked_copy;
-
- Multiples( const Multiples& f, split ) :
- n_factor(f.n_factor),
- m(f.m),
- my_is_composite(NULL),
- my_striker(NULL),
- my_factor(f.my_factor),
- is_forked_copy(true)
- {}
-
- bool is_initialized() const {
- return my_is_composite!=NULL;
- }
-
- void initialize( Number start ) {
- assert( start>=1 );
- my_is_composite = new bool[m/2];
- my_striker = new Number[m/2];
- for( size_t k=0; k<n_factor; ++k ) {
- Number f = my_factor[k];
- Number p = (start-1)/f*f % m;
- my_striker[k] = (p&1 ? p+2*f : p+f)/2;
- assert( m/2<=my_striker[k] );
- }
- }
- //------------------------------------------------------------------------
- // End extra methods required by parallel version
- //------------------------------------------------------------------------
-};
-
-//! Count number of primes between 0 and n
-/** This is the serial version. */
-Number SerialCountPrimes( Number n ) {
- // Two is special case
- Number count = n>=2;
- if( n>=3 ) {
- Multiples multiples(n);
- count += multiples.n_factor;
- if( PrintPrimes )
- printf("---\n");
- Number window_size = multiples.m;
- for( Number j=multiples.m; j<=n; j+=window_size ) {
- if( j+window_size>n+1 )
- window_size = n+1-j;
- count += multiples.find_primes_in_window( j, window_size );
- }
- }
- return count;
-}
-
-//! Range of a sieve window.
-class SieveRange {
- //! Width of full-size window into sieve.
- const Number my_stride;
-
- //! Always multiple of my_stride
- Number my_begin;
-
- //! One past last number in window.
- Number my_end;
-
- //! Width above which it is worth forking.
- const Number my_grainsize;
-
- bool assert_okay() const {
- assert( my_begin%my_stride==0 );
- assert( my_begin<=my_end );
- assert( my_stride<=my_grainsize );
- return true;
- }
-public:
- //------------------------------------------------------------------------
- // Begin signatures required by parallel_reduce
- //------------------------------------------------------------------------
- bool is_divisible() const {return my_end-my_begin>my_grainsize;}
- bool empty() const {return my_end<=my_begin;}
- SieveRange( SieveRange& r, split ) :
- my_stride(r.my_stride),
- my_grainsize(r.my_grainsize),
- my_end(r.my_end)
- {
- assert( r.is_divisible() );
- assert( r.assert_okay() );
- Number middle = r.my_begin + (r.my_end-r.my_begin+r.my_stride-1)/2;
- middle = middle/my_stride*my_stride;
- my_begin = middle;
- r.my_end = middle;
- assert( assert_okay() );
- assert( r.assert_okay() );
- }
- //------------------------------------------------------------------------
- // End of signatures required by parallel_reduce
- //------------------------------------------------------------------------
- Number begin() const {return my_begin;}
- Number end() const {return my_end;}
- SieveRange( Number begin, Number end, Number stride, Number grainsize ) :
- my_begin(begin),
- my_end(end),
- my_stride(stride),
- my_grainsize(grainsize<stride?stride:grainsize)
- {
- assert( assert_okay() );
- }
-};
-
-//! Loop body for parallel_reduce.
-/** parallel_reduce splits the sieve into subsieves.
- Each subsieve handles a subrange of [0..n]. */
-class Sieve {
-public:
- //! Prime multiples to consider, and working storage for this subsieve.
- Multiples multiples;
-
- //! Number of primes found so far by this subsieve.
- Number count;
-
- //! Construct Sieve for counting primes in [0..n].
- Sieve( Number n ) :
- multiples(n),
- count(0)
- {}
-
- //------------------------------------------------------------------------
- // Begin signatures required by parallel_reduce
- //------------------------------------------------------------------------
- void operator()( const SieveRange& r ) {
- Number m = multiples.m;
- if( multiples.is_initialized() ) {
- // Simply reuse "multiples" structure from previous window
- // This works because parallel_reduce always applies
- // *this from left to right.
- } else {
- // Need to initialize "multiples" because *this is a forked copy
- // that needs to be set up to start at r.begin().
- multiples.initialize( r.begin() );
- }
- Number window_size = m;
- for( Number j=r.begin(); j<r.end(); j+=window_size ) {
- assert( j%multiples.m==0 );
- if( j+window_size>r.end() )
- window_size = r.end()-j;
- count += multiples.find_primes_in_window( j, window_size );
- }
- }
- void join( Sieve& other ) {
- count += other.count;
- }
- Sieve( Sieve& other, split ) :
- multiples(other.multiples,split()),
- count(0)
- {}
- //------------------------------------------------------------------------
- // End of signatures required by parallel_reduce
- //------------------------------------------------------------------------
-};
-
-//! Count number of primes between 0 and n
-/** This is the parallel version. */
-Number ParallelCountPrimes( Number n ) {
- // Two is special case
- Number count = n>=2;
- if( n>=3 ) {
- Sieve s(n);
- count += s.multiples.n_factor;
- if( PrintPrimes )
- printf("---\n");
- // Explicit grain size and simple_partitioner() used here instead of automatic grainsize
- // determination becase we want SieveRange to be decomposed down to GrainSize or smaller.
- // Doing so improves odds that the working set fits in cache when evaluating Sieve::operator().
- parallel_reduce( SieveRange( s.multiples.m, n, s.multiples.m, GrainSize ), s, simple_partitioner() );
- count += s.count;
- }
- return count;
-}
-
-//------------------------------------------------------------------------
-// Code below this line constitutes the driver that calls SerialCountPrimes
-// and ParallelCountPrimes.
-//------------------------------------------------------------------------
-
-//! A closed range of Number.
-struct NumberRange {
- Number low;
- Number high;
- void set_from_string( const char* s );
- NumberRange( Number low_, Number high_ ) : low(low_), high(high_) {}
-};
-
-void NumberRange::set_from_string( const char* s ) {
- char* end;
- high = low = strtol(s,&end,0);
- switch( *end ) {
- case ':':
- high = strtol(end+1,0,0);
- break;
- case '\0':
- break;
- default:
- printf("unexpected character = %c\n",*end);
- }
-
-}
-
-//! Number of threads to use.
-static NumberRange NThread(0,4);
-
-//! If true, then at end wait for user to hit return
-static bool PauseFlag = false;
-
-//! Parse the command line.
-static Number ParseCommandLine( int argc, char* argv[] ) {
- Number n = 100000000;
- int i = 1;
- if( i<argc && strcmp( argv[i], "pause" )==0 ) {
- PauseFlag = true;
- ++i;
- }
- if( i<argc && !isdigit(argv[i][0]) ) {
- // Command line is garbled.
- fprintf(stderr,"Usage: %s [['pause'] n [nthread [grainsize]]]\n", argv[0]);
- fprintf(stderr,"where n is a positive integer [%lu]\n",n);
- fprintf(stderr," nthread is a non-negative integer, or range of the form low:high [%ld:%lu]\n",NThread.low,NThread.high);
- fprintf(stderr," grainsize is an optional postive integer [%lu]\n",GrainSize);
- exit(1);
- }
- if( i<argc )
- n = strtol(argv[i++],0,0);
- if( i<argc )
- NThread.set_from_string(argv[i++]);
- if( i<argc )
- GrainSize = strtol(argv[i++],0,0);
- return n;
-}
-
-static void WaitForUser() {
- char c;
- printf("Press return to continue\n");
- do {
- c = getchar();
- } while( c!='\n' );
-}
-
-int main( int argc, char* argv[] ) {
- Number n = ParseCommandLine(argc,argv);
-
- // Try different numbers of threads
- for( Number p=NThread.low; p<=NThread.high; ++p ) {
- task_scheduler_init init(task_scheduler_init::deferred);
- // If p!=0, we are doing a parallel run
- if( p )
- init.initialize(p);
-
- Number count;
- tick_count t0 = tick_count::now();
- if( p==0 ) {
- count = SerialCountPrimes(n);
- } else {
- count = ParallelCountPrimes(n);
- }
- tick_count t1 = tick_count::now();
-
- printf("#primes from [2..%lu] = %lu (%.2f sec with ",
- (unsigned long)n, (unsigned long)count, (t1-t0).seconds());
- if( p )
- printf("%lu-way parallelism)\n", p );
- else
- printf("serial code)\n");
- }
- if( PauseFlag ) {
- WaitForUser();
- }
- return 0;
-}
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "primes", "primes.vcproj", "{519446A2-AF27-429B-A5DF-625B8F034024}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {519446A2-AF27-429B-A5DF-625B8F034024}.Debug.ActiveCfg = Debug|Win32
- {519446A2-AF27-429B-A5DF-625B8F034024}.Debug.Build.0 = Debug|Win32
- {519446A2-AF27-429B-A5DF-625B8F034024}.Release.ActiveCfg = Release|Win32
- {519446A2-AF27-429B-A5DF-625B8F034024}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="primes"
- ProjectGUID="{519446A2-AF27-429B-A5DF-625B8F034024}"
- RootNamespace="primes"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\primes.cpp">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "primes", "primes.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252A}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="primes"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252A}"
- RootNamespace="primes"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\primes.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "primes", "primes.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252A}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252A}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="primes"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252A}"
- RootNamespace="primes"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\primes.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- A1F593A60B8F042A00073279 /* primes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* primes.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8DD76F6C0486A84900D96B5E /* primes */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = primes; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F593A50B8F042A00073279 /* primes.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = primes.cpp; path = ../primes.cpp; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* primes */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = primes;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- A1F593A50B8F042A00073279 /* primes.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* primes */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* primes */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "primes" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = primes;
- productInstallPath = "$(HOME)/bin";
- productName = primes;
- productReference = 8DD76F6C0486A84900D96B5E /* primes */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "primes" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* primes */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* primes */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593A60B8F042A00073279 /* primes.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = primes;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = primes;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = primes;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = primes;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "primes" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "primes" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has examples of the template <code>parallel_while</code>.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="parallel_preorder/index.html">parallel_preorder</A>
-<DD>Parallel preorder traversal of a graph.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <cstdio>
-#include <cstdlib>
-#include "Graph.h"
-
-using namespace std;
-
-void Graph::create_random_dag( size_t number_of_nodes ) {
- my_vertex_set.resize(number_of_nodes);
- for( size_t k=0; k<number_of_nodes; ++k ) {
- Cell& c = my_vertex_set[k];
- int op = int((rand()>>8)%5u);
- if( op>int(k) ) op = int(k);
- switch( op ) {
- default:
- c.op = OP_VALUE;
- c.value = Cell::value_type((float)k);
- break;
- case 1:
- c.op = OP_NEGATE;
- break;
- case 2:
- c.op = OP_SUB;
- break;
- case 3:
- c.op = OP_ADD;
- break;
- case 4:
- c.op = OP_MUL;
- break;
- }
- for( int j=0; j<ArityOfOp[c.op]; ++j ) {
- Cell& input = my_vertex_set[rand()%k];
- c.input[j] = &input;
- }
- }
-}
-
-void Graph::print() {
- for( size_t k=0; k<my_vertex_set.size(); ++k ) {
- printf("Cell %d:",int(k));
- for( size_t j=0; j<my_vertex_set[k].successor.size(); ++j )
- printf(" %d",int(my_vertex_set[k].successor[j] - &my_vertex_set[0]));
- printf("\n");
- }
-}
-
-void Graph::get_root_set( vector<Cell*>& root_set ) {
- for( size_t k=0; k<my_vertex_set.size(); ++k ) {
- my_vertex_set[k].successor.clear();
- }
- root_set.clear();
- for( size_t k=0; k<my_vertex_set.size(); ++k ) {
- Cell& c = my_vertex_set[k];
- c.ref_count = ArityOfOp[c.op];
- for( int j=0; j<ArityOfOp[c.op]; ++j ) {
- c.input[j]->successor.push_back(&c);
- }
- if( ArityOfOp[c.op]==0 )
- root_set.push_back(&my_vertex_set[k]);
- }
-}
-
-void Cell::update() {
- switch( op ) {
- case OP_VALUE:
- break;
- case OP_NEGATE:
- value = -(input[0]->value);
- break;
- case OP_ADD:
- value = input[0]->value + input[1]->value;
- break;
- case OP_SUB:
- value = input[0]->value - input[1]->value;
- break;
- case OP_MUL:
- value = input[0]->value * input[1]->value;
- break;
- }
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "Matrix.h"
-#include "tbb/atomic.h"
-#include <vector>
-
-namespace TBB = tbb;
-
-enum OpKind {
- // Use Cell's value
- OP_VALUE,
- // Unary negation
- OP_NEGATE,
- // Addition
- OP_ADD,
- // Subtraction
- OP_SUB,
- // Multiplication
- OP_MUL
-};
-
-static const int ArityOfOp[] = {0,1,2,2,2};
-
-class Cell {
-public:
- //! Operation for this cell
- OpKind op;
-
- //! Inputs to this cell
- Cell* input[2];
-
- //! Type of value stored in a Cell
- typedef Matrix value_type;
-
- //! Value associated with this Cell
- value_type value;
-
- //! Set of cells that use this Cell as an input
- std::vector<Cell*> successor;
-
- //! Reference count of number of inputs that are not yet updated.
- TBB::atomic<int> ref_count;
-
- //! Update the Cell's value.
- void update();
-
- //! Default construtor
- Cell() {}
-};
-
-//! A directed graph where the vertices are Cells.
-class Graph {
- std::vector<Cell> my_vertex_set;
-public:
- //! Create a random acyclic directed graph
- void create_random_dag( size_t number_of_nodes );
-
- //! Print the graph
- void print();
-
- //! Get set of cells that have no inputs.
- void get_root_set( std::vector<Cell*>& root_set );
-};
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=parallel_preorder
-ARGS=1:4
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- rm -f $(PROG) *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Parallel_Preorder
-ARGS=1:4
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) *.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) *.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-class Matrix {
- static const int n = 10;
- float array[n][n];
-public:
- Matrix() {}
- Matrix( float z ) {
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- array[i][j] = i==j ? z : 0;
- }
- friend Matrix operator-( const Matrix& x ) {
- Matrix result;
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- result.array[i][j] = -x.array[i][j];
- return result;
- }
- friend Matrix operator+( const Matrix& x, const Matrix& y ) {
- Matrix result;
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- result.array[i][j] = x.array[i][j] + y.array[i][j];
- return result;
- }
- friend Matrix operator-( const Matrix& x, const Matrix& y ) {
- Matrix result;
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- result.array[i][j] = x.array[i][j] - y.array[i][j];
- return result;
- }
- friend Matrix operator*( const Matrix& x, const Matrix& y ) {
- Matrix result(0);
- for( int i=0; i<n; ++i )
- for( int k=0; k<n; ++k )
- for( int j=0; j<n; ++j )
- result.array[i][j] += x.array[i][k] * y.array[k][j];
- return result;
- }
-};
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Example that uses parallel_while to do parallel preorder traversal of a sparse graph.
-<P>
-Each vertex in the graph is called a "cell".
-Each cell has a value.
-The value is a matrix.
-Some of the cells have operators
-that compute the cell's value, using other cell's values as input.
-A cell that uses the value of cell x is called a successor of x.
-</P><P>
-The algorithm works as follows.
-<OL>
-<LI> Compute the set of cells that have no inputs. This set is called <TT>root_set</TT>.
-<LI> Each cell has an associated field <TT>ref_count</TT> that is an atomic integer.
- Initialize <TT>ref_count</TT> to the number of inputs for the Cell.
-<LI> Update each cell in <TT>root_set</TT>, by applying a <TT>parallel_while</TT> to a stream
- that iterates over <TT>root_set</TT>
-<LI> After updating a cell, for each of its successors
-<OL>
-<LI> Atomically decrement the successor's <TT>ref_count</TT>
-<LI> If the count became zero, add the cell to the set of cells to be updated,
- by calling <TT>parallel_while::add</TT>.
-</OL>
-</OL>
-</P><P>
-The times printed are for the traversal and update,
-and do not include time for computing the root_set.
-</P>
-<B>NOTE: </B>It is important to understand that this example is unlikely to show speedup
-if the cell values are changed to type "float". The reason is twofold.
-<UL>
-<LI> The smaller value type causes each Cell to be significantly smaller than a cache line,
- which leads to false sharing conflicts.
-<LI> The time to update the cells becomes very small, and consequently the overhead of
- parallel_while swamps the useful work.
-</UL>
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="parallel_preorder.cpp">parallel_preorder.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Graph.cpp">Graph.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Graph.h">Graph.h</A>
-<DD>Source code for example.
-<DT><A HREF="Matrix.h">Matrix.h</A>
-<DD>Source code for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>parallel_preorder [<I>M</I>[:<I>N</I>] [<I>Rounds</I> [<I>'pause'</I>]]]</TT>
-<DD><I>M</I> and <I>N</I> are a range of numbers of threads to be used.
-<DD><I>Rounds</I> is the number of rounds the example runs internally. Default value
- is 50; reduce it to shorten example run time.
-<DD>If 'pause' is specified, the application will wait for a user to hit return before it exits.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with the desired number of threads and smaller number of rounds, e.g., <TT>parallel_preorder 4 5</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/* Example program that shows how to use parallel_while to do parallel preorder
- traversal of a directed acyclic graph. */
-
-#include "tbb/parallel_while.h"
-#include "tbb/atomic.h"
-#include <vector>
-#include <algorithm>
-#include <cstring>
-#include <cstdio>
-#include "Graph.h"
-
-using namespace std;
-
-//! Number of trials. Can be changed from command line
-int ntrial = 50;
-
-class Body {
- tbb::parallel_while<Body>& my_while;
-public:
- Body( tbb::parallel_while<Body>& w ) : my_while(w) {};
-
- //------------------------------------------------------------------------
- // Following signatures required by parallel_while
- //------------------------------------------------------------------------
- typedef Cell* argument_type;
- void operator()( Cell* c ) const {
- c->update();
- // Restore ref_count in preparation for subsequent traversal.
- c->ref_count = ArityOfOp[c->op];
- for( size_t k=0; k<c->successor.size(); ++k ) {
- Cell* successor = c->successor[k];
- if( 0 == --(successor->ref_count) ) {
- my_while.add( successor );
- }
- }
- }
-};
-
-class Stream {
- size_t k;
- const vector<Cell*>& my_roots;
-public:
- Stream( const vector<Cell*>& root_set ) : my_roots(root_set), k(0) {}
- bool pop_if_present( Cell*& item ) {
- bool result = k<my_roots.size();
- if( result )
- item = my_roots[k++];
- return result;
- }
-};
-
-void ParallelPreorderTraversal( const vector<Cell*>& root_set ) {
- tbb::parallel_while<Body> w;
- Stream s(root_set);
- w.run(s,Body(w));
-}
-
-//------------------------------------------------------------------------
-// Test driver
-//------------------------------------------------------------------------
-
-#include <cctype>
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tick_count.h"
-
-//! A closed range of int.
-struct IntRange {
- int low;
- int high;
- void set_from_string( const char* s );
- IntRange( int low_, int high_ ) : low(low_), high(high_) {}
-};
-
-void IntRange::set_from_string( const char* s ) {
- char* end;
- high = low = strtol(s,&end,0);
- switch( *end ) {
- case ':':
- high = strtol(end+1,0,0);
- break;
- case '\0':
- break;
- default:
- printf("unexpected character = %c\n",*end);
- }
-}
-
-//! Number of threads to use.
-static IntRange NThread(1,4);
-
-//! If true, then at end wait for user to hit return
-static bool PauseFlag = false;
-
-//! Displays usage message
-void Usage(char * argv0) {
- fprintf(stderr, "Usage: %s [nthread [ntrials ['pause']]]\n", argv0);
- fprintf(stderr, "where nthread is a non-negative integer, or range of the form low:high [%d:%d]\n", NThread.low, NThread.high);
- fprintf(stderr, "ntrials is a positive integer. Default value is 50, reduce it (e.g. to 5) to shorten example run time\n");
- fprintf(stderr, "The application waits for user to hit return if 'pause' is specified\n");
-}
-
-//! Parse the command line.
-static void ParseCommandLine( int argc, char* argv[] ) {
- int i = 1;
- if( i<argc && !isdigit(argv[i][0]) ) {
- // Command line is garbled.
- Usage(argv[0]);
- exit(1);
- }
- if( i<argc )
- NThread.set_from_string(argv[i++]);
- if( i<argc && !isdigit(argv[i][0]) ) {
- // Command line is garbled.
- Usage(argv[0]);
- exit(1);
- }
- if (i<argc) {
- ntrial = strtol(argv[i++], 0, 0);
- }
- if (ntrial == 0) {
- // Command line is garbled.
- Usage(argv[0]);
- exit(1);
- }
- if (i<argc && strcmp( argv[i], "pause" )==0 ) {
- PauseFlag = true;
- }
-}
-
-int main( int argc, char* argv[] ) {
- ParseCommandLine(argc,argv);
-
- // Start scheduler with given number of threads.
- for( int p=NThread.low; p<=NThread.high; ++p ) {
- tbb::task_scheduler_init init(p);
- srand(2);
- tbb::tick_count::interval_t interval;
- size_t total_root_set_size = 0;
- for( int trial=0; trial<ntrial; ++trial ) {
- Graph g;
- g.create_random_dag(1000);
- vector<Cell*> root_set;
- g.get_root_set(root_set);
- total_root_set_size += root_set.size();
-
- tbb::tick_count t0 = tbb::tick_count::now();
- for( int i=0; i<10; ++i ) {
- ParallelPreorderTraversal(root_set);
- }
- tbb::tick_count t1 = tbb::tick_count::now();
-
- interval += t1-t0;
- }
- printf("%g seconds using %d threads (average of %g nodes in root_set)\n",interval.seconds(),p,(double)total_root_set_size/ntrial);
- }
-
- if (PauseFlag) {
- printf ("Press return key to exit");
- char c;
- int n = scanf("%c", &c);
- if( n!=1 ) {
- fprintf(stderr,"Fatal error: unexpected end of input\n");
- exit(1);
- }
- }
-
- return 0;
-}
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parallel_preorder", "parallel_preorder.vcproj", "{519446A2-AF27-429B-A5DF-625B8F034021}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {519446A2-AF27-429B-A5DF-625B8F034021}.Debug.ActiveCfg = Debug|Win32
- {519446A2-AF27-429B-A5DF-625B8F034021}.Debug.Build.0 = Debug|Win32
- {519446A2-AF27-429B-A5DF-625B8F034021}.Release.ActiveCfg = Release|Win32
- {519446A2-AF27-429B-A5DF-625B8F034021}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="parallel_preorder"
- ProjectGUID="{519446A2-AF27-429B-A5DF-625B8F034021}"
- RootNamespace="parallel_preorder"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\Graph.cpp">
- </File>
- <File
- RelativePath="..\parallel_preorder.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\Graph.h">
- </File>
- <File
- RelativePath="..\Matrix.h">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parallel_preorder", "parallel_preorder.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="parallel_preorder"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252B}"
- RootNamespace="parallel_preorder"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\Graph.cpp"
- >
- </File>
- <File
- RelativePath="..\parallel_preorder.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\Graph.h"
- >
- </File>
- <File
- RelativePath="..\Matrix.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parallel_preorder", "parallel_preorder.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252B}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="parallel_preorder"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252B}"
- RootNamespace="parallel_preorder"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\Graph.cpp"
- >
- </File>
- <File
- RelativePath="..\parallel_preorder.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\Graph.h"
- >
- </File>
- <File
- RelativePath="..\Matrix.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- 05593AAB0B8F55D500DE73AB /* parallel_preorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593AA70B8F55D500DE73AB /* parallel_preorder.cpp */; };
- 05593AA80B8F55D500DE73AB /* Graph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593AA40B8F55D500DE73AB /* Graph.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8DD76F6C0486A84900D96B5E /* parallel_preorder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = parallel_preorder; sourceTree = BUILT_PRODUCTS_DIR; };
- 05593AA70B8F55D500DE73AB /* parallel_preorder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = parallel_preorder.cpp; path = ../parallel_preorder.cpp; sourceTree = SOURCE_ROOT; };
- 05593AA40B8F55D500DE73AB /* Graph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Graph.cpp; path = ../Graph.cpp; sourceTree = SOURCE_ROOT; };
- 05593AA50B8F55D500DE73AB /* Graph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Graph.h; path = ../Graph.h; sourceTree = SOURCE_ROOT; };
- 05593AA60B8F55D500DE73AB /* Matrix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Matrix.h; path = ../Matrix.h; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* parallel_preorder */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = parallel_preorder;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- 05593AA70B8F55D500DE73AB /* parallel_preorder.cpp */,
- 05593AA40B8F55D500DE73AB /* Graph.cpp */,
- 05593AA50B8F55D500DE73AB /* Graph.h */,
- 05593AA60B8F55D500DE73AB /* Matrix.h */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* parallel_preorder */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* parallel_preorder */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "parallel_preorder" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = parallel_preorder;
- productInstallPath = "$(HOME)/bin";
- productName = parallel_preorder;
- productReference = 8DD76F6C0486A84900D96B5E /* parallel_preorder */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "parallel_preorder" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* parallel_preorder */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* parallel_preorder */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 05593AA80B8F55D500DE73AB /* Graph.cpp in Sources */,
- 05593AAB0B8F55D500DE73AB /* parallel_preorder.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = parallel_preorder;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "parallel_preorder" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "parallel_preorder" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has examples of the template <code>pipeline</code>.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="text_filter/index.html">text_filter</A>
-<DD>A simple text filter that capitalizes words in a text.
-<DT><A HREF="square/index.html">square</A>
-<DD>Another simple string transformation example that squares numbers read from a file.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=square
-ARGS=input.txt output.txt
-GEN=gen_input
-
-# The C++ compiler
-#CXX=g++
-
-SQUARE = square.cpp
-
-all: release test
-
-release: $(SQUARE)
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: $(SQUARE)
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(PROG) $(GEN) *.o *.d input.txt output.txt
-
-$(GEN): gen_input.cpp
- $(CXX) -O2 $(CXXFLAGS) -o $(GEN) $^ $(LIBS)
-
-input.txt: $(GEN)
- ./$(GEN) >input.txt
-
-test: input.txt
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=square
-ARGS=input.txt output.txt
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 $(CXXFLAGS) /D _CRT_SECURE_NO_DEPRECATE
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-SQUARE = square.cpp
-
-all: release test
-release:
- $(CXX) $(SQUARE) /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) $(SQUARE) /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe input.txt output.txt *.obj *.?db *.manifest gen_input.exe
-gen_input.exe: gen_input.cpp
- $(CXX) gen_input.cpp
-input.txt: gen_input.exe
- gen_input.exe > input.txt
-test: input.txt
- $(PROG) $(ARGS)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-
-//! Generates sample input for square.cpp
-int main( int argc, char* argv[] ) {
- long num = argc>1 ? atol(argv[1]) : 1000000;
- int a=0;
- int b=1;
- for( long j=0; j<num; ++j ) {
- printf("%u\n",a);
- b+=a;
- a=(b-a)%10000;
- }
- return 0;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Text filter that demonstrates class pipeline. Example program reads a file
-containing decimal integers in text format, and changes each to its square.
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="square.cpp">square.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="gen_input.cpp">gen_input.cpp </A>
-<DD>Source code for sample input generation.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-<P></P>
-Two additional targets for this example:
-<DL>
- <DT><TT>make gen_input</TT>
- <DD>Create an input generator program that prints out a sequence of integers.
- <DT><TT>make input.txt</TT>
- <DD>Create an input file for the example (with help of <TT>gen_input</TT>).
-</DL>
-<P></P>
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>square <I>inputfile</I> <I>outputfile</I> <I>N</I></TT>
-<DD>Run the example on the named <I>inputfile</I> (optional, default value is "input.txt") and produce the named <I>outputfile</I> (optional, default value is "output.txt").
- <I>N</I> is the number of threads to be used (optional).
-
-<DT><TT>gen_input [<I>LN</I>] > <I>inputfile</I></TT>
-<DD>Generate a file named <I>inputfile</I> consisting of <I>LN</I> lines each containing one integer.
- If not specified, <I>LN</I> is assumed to be 1000000.
-
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Prepare an <I>inputfile</I> with about 5,000 lines of text (see the instruction above).
- <BR>Run it with this <I>inputfile</I> and the desired number of threads,
- e.g., <TT>square <I>inputfile</I> <I>outputfile</I> 4</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-//
-// Example program that reads a file of decimal integers in text format
-// and changes each to its square.
-//
-#include "tbb/pipeline.h"
-#include "tbb/tick_count.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tbb_allocator.h"
-#include <cstring>
-#include <cstdlib>
-#include <cstdio>
-#include <cctype>
-
-using namespace std;
-
-//! Holds a slice of text.
-/** Instances *must* be allocated/freed using methods herein, because the C++ declaration
- represents only the header of a much larger object in memory. */
-class TextSlice {
- //! Pointer to one past last character in slice
- char* logical_end;
- //! Pionter to one past last available byte in slice.
- char* physical_end;
-public:
- //! Allocate a TextSlice object that can hold up to max_size characters.
- static TextSlice* allocate( size_t max_size ) {
- // +1 leaves room for a terminating null character.
- TextSlice* t = (TextSlice*)tbb::tbb_allocator<char>().allocate( sizeof(TextSlice)+max_size+1 );
- t->logical_end = t->begin();
- t->physical_end = t->begin()+max_size;
- return t;
- }
- //! Free a TextSlice object
- void free() {
- tbb::tbb_allocator<char>().deallocate((char*)this,size());
- }
- //! Pointer to beginning of sequence
- char* begin() {return (char*)(this+1);}
- //! Pointer to one past last character in sequence
- char* end() {return logical_end;}
- //! Length of sequence
- size_t size() const {return logical_end-(char*)(this+1);}
- //! Maximum number of characters that can be appended to sequkence
- size_t avail() const {return physical_end-logical_end;}
- //! Append sequence [first,last) to this sequence.
- void append( char* first, char* last ) {
- memcpy( logical_end, first, last-first );
- logical_end += last-first;
- }
- //! Set end to given value.
- void set_end( char* p ) {logical_end=p;}
-};
-
-const size_t MAX_CHAR_PER_INPUT_SLICE = 4000;
-static const char* InputFileName = "input.txt";
-static const char* OutputFileName = "output.txt";
-
-class MyInputFilter: public tbb::filter {
-public:
- MyInputFilter( FILE* input_file_ );
- ~MyInputFilter();
-private:
- FILE* input_file;
- TextSlice* next_slice;
- /*override*/ void* operator()(void*);
-};
-
-MyInputFilter::MyInputFilter( FILE* input_file_ ) :
- filter(/*is_serial=*/true),
- input_file(input_file_),
- next_slice( TextSlice::allocate( MAX_CHAR_PER_INPUT_SLICE ) )
-{
-}
-
-MyInputFilter::~MyInputFilter() {
- next_slice->free();
-}
-
-void* MyInputFilter::operator()(void*) {
- // Read characters into space that is available in the next slice.
- size_t m = next_slice->avail();
- size_t n = fread( next_slice->end(), 1, m, input_file );
- if( !n && next_slice->size()==0 ) {
- // No more characters to process
- return NULL;
- } else {
- // Have more characters to process.
- TextSlice& t = *next_slice;
- next_slice = TextSlice::allocate( MAX_CHAR_PER_INPUT_SLICE );
- char* p = t.end()+n;
- if( n==m ) {
- // Might have read partial number. If so, transfer characters of partial number to next slice.
- while( p>t.begin() && isdigit(p[-1]) )
- --p;
- next_slice->append( p, t.end()+n );
- }
- t.set_end(p);
- return &t;
- }
-}
-
-//! Filter that changes each decimal number to its square.
-class MyTransformFilter: public tbb::filter {
-public:
- MyTransformFilter();
- /*override*/void* operator()( void* item );
-};
-
-MyTransformFilter::MyTransformFilter() :
- tbb::filter(/*ordered=*/false)
-{}
-
-/*override*/void* MyTransformFilter::operator()( void* item ) {
- TextSlice& input = *static_cast<TextSlice*>(item);
- // Add terminating NULL so that strtol works right even if number is at end of the input.
- *input.end() = '\0';
- char* p = input.begin();
- TextSlice& output = *TextSlice::allocate( 2*MAX_CHAR_PER_INPUT_SLICE );
- char* q = output.begin();
- for(;;) {
- while( p<input.end() && !isdigit(*p) )
- *q++ = *p++;
- if( p==input.end() )
- break;
- long x = strtol( p, &p, 10 );
- // Note: no overflow checking is needed here, as we have twice the
- // input string length, but the square of a non-negative integer n
- // cannot have more than twice as many digits as n.
- long y = x*x;
- sprintf(q,"%ld",y);
- q = strchr(q,0);
- }
- output.set_end(q);
- input.free();
- return &output;
-}
-
-//! Filter that writes each buffer to a file.
-class MyOutputFilter: public tbb::filter {
- FILE* my_output_file;
-public:
- MyOutputFilter( FILE* output_file );
- /*override*/void* operator()( void* item );
-};
-
-MyOutputFilter::MyOutputFilter( FILE* output_file ) :
- tbb::filter(/*is_serial=*/true),
- my_output_file(output_file)
-{
-}
-
-void* MyOutputFilter::operator()( void* item ) {
- TextSlice& output = *static_cast<TextSlice*>(item);
- size_t n = fwrite( output.begin(), 1, output.size(), my_output_file );
- if( n!=output.size() ) {
- fprintf(stderr,"Can't write into %s file\n", OutputFileName);
- exit(1);
- }
- output.free();
- return NULL;
-}
-
-static int NThread = tbb::task_scheduler_init::automatic;
-static bool is_number_of_threads_set = false;
-
-void Usage()
-{
- fprintf( stderr, "Usage:\tsquare [input-file [output-file [nthread]]]\n");
-}
-
-int ParseCommandLine( int argc, char* argv[] ) {
- // Parse command line
- if( argc> 4 ){
- Usage();
- return 0;
- }
- if( argc>=2 ) InputFileName = argv[1];
- if( argc>=3 ) OutputFileName = argv[2];
- if( argc>=4 ) {
- NThread = strtol(argv[3],0,0);
- if( NThread<1 ) {
- fprintf(stderr,"nthread set to %d, but must be at least 1\n",NThread);
- return 0;
- }
- is_number_of_threads_set = true; //Number of threads is set explicitly
- }
- return 1;
-}
-
-int run_pipeline( int nthreads )
-{
- FILE* input_file = fopen(InputFileName,"r");
- if( !input_file ) {
- perror( InputFileName );
- Usage();
- return 0;
- }
- FILE* output_file = fopen(OutputFileName,"w");
- if( !output_file ) {
- perror( OutputFileName );
- return 0;
- }
-
- // Create the pipeline
- tbb::pipeline pipeline;
-
- // Create file-reading writing stage and add it to the pipeline
- MyInputFilter input_filter( input_file );
- pipeline.add_filter( input_filter );
-
- // Create capitalization stage and add it to the pipeline
- MyTransformFilter transform_filter;
- pipeline.add_filter( transform_filter );
-
- // Create file-writing stage and add it to the pipeline
- MyOutputFilter output_filter( output_file );
- pipeline.add_filter( output_filter );
-
- // Run the pipeline
- tbb::tick_count t0 = tbb::tick_count::now();
- // Need more than one token in flight per thread to keep all threads
- // busy; 2-4 works
- pipeline.run( nthreads*4 );
- tbb::tick_count t1 = tbb::tick_count::now();
-
- // Remove filters from pipeline before they are implicitly destroyed.
- pipeline.clear();
-
- fclose( output_file );
- fclose( input_file );
-
- if (is_number_of_threads_set) {
- printf("threads = %d time = %g\n", nthreads, (t1-t0).seconds());
- } else {
- if ( nthreads == 1 ){
- printf("serial run time = %g\n", (t1-t0).seconds());
- } else {
- printf("parallel run time = %g\n", (t1-t0).seconds());
- }
- }
- return 1;
-}
-
-int main( int argc, char* argv[] ) {
- if(!ParseCommandLine( argc, argv ))
- return 1;
- if (is_number_of_threads_set) {
- // Start task scheduler
- tbb::task_scheduler_init init( NThread );
- if(!run_pipeline (NThread))
- return 1;
- } else { // Number of threads wasn't set explicitly. Run serial and parallel version
- { // serial run
- tbb::task_scheduler_init init_serial(1);
- if(!run_pipeline (1))
- return 1;
- }
- { // parallel run (number of threads is selected automatically)
- tbb::task_scheduler_init init_parallel;
- if(!run_pipeline (init_parallel.default_num_threads()))
- return 1;
- }
- }
- return 0;
-}
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gen_input"
- ProjectGUID="{9B2DC020-BBF7-463B-AD0B-0D4ACF49100B}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/gen_input.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/gen_input.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/gen_input.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\gen_input.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "square", "square.vcproj", "{4A021AFA-E254-4BCE-918D-377DF1C0BEEF}"
- ProjectSection(ProjectDependencies) = postProject
- {9B2DC020-BBF7-463B-AD0B-0D4ACF49100B} = {9B2DC020-BBF7-463B-AD0B-0D4ACF49100B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_input", "gen_input.vcproj", "{9B2DC020-BBF7-463B-AD0B-0D4ACF49100B}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Debug.ActiveCfg = Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Debug.Build.0 = Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Release.ActiveCfg = Release|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Release.Build.0 = Release|Win32
- {9B2DC020-BBF7-463B-AD0B-0D4ACF49100B}.Debug.ActiveCfg = Debug|Win32
- {9B2DC020-BBF7-463B-AD0B-0D4ACF49100B}.Debug.Build.0 = Debug|Win32
- {9B2DC020-BBF7-463B-AD0B-0D4ACF49100B}.Release.ActiveCfg = Release|Win32
- {9B2DC020-BBF7-463B-AD0B-0D4ACF49100B}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="square"
- ProjectGUID="{4A021AFA-E254-4BCE-918D-377DF1C0BEEF}"
- RootNamespace="square"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- AdditionalDependencies="gen_input.exe"
- Outputs=""$(OutDir)\input.txt""/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- Outputs=""$(OutDir)\input.txt""/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\square.cpp">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="gen_input"
- ProjectGUID="{25A46A49-406F-4681-8AC9-5FE46F38E5A7}"
- RootNamespace="gen_input"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\gen_input.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "square", "square.vcproj", "{A21C0AEE-ADDC-45F0-A668-58FF10351D23}"
- ProjectSection(ProjectDependencies) = postProject
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7} = {25A46A49-406F-4681-8AC9-5FE46F38E5A7}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_input", "gen_input.vcproj", "{25A46A49-406F-4681-8AC9-5FE46F38E5A7}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|Win32.ActiveCfg = Debug|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|Win32.Build.0 = Debug|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|x64.ActiveCfg = Debug|x64
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|x64.Build.0 = Debug|x64
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|Win32.ActiveCfg = Release|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|Win32.Build.0 = Release|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|x64.ActiveCfg = Release|x64
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|x64.Build.0 = Release|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|Win32.ActiveCfg = Debug|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|Win32.Build.0 = Debug|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|x64.ActiveCfg = Debug|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|x64.Build.0 = Debug|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|Win32.ActiveCfg = Release|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|Win32.Build.0 = Release|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|x64.ActiveCfg = Release|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="square"
- ProjectGUID="{A21C0AEE-ADDC-45F0-A668-58FF10351D23}"
- RootNamespace="square"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\square.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9,00"
- Name="gen_input"
- ProjectGUID="{25A46A49-406F-4681-8AC9-5FE46F38E5A7}"
- RootNamespace="gen_input"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- SuppressStartupBanner="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\gen_input.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "square", "square.vcproj", "{A21C0AEE-ADDC-45F0-A668-58FF10351D23}"
- ProjectSection(ProjectDependencies) = postProject
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7} = {25A46A49-406F-4681-8AC9-5FE46F38E5A7}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_input", "gen_input.vcproj", "{25A46A49-406F-4681-8AC9-5FE46F38E5A7}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|Win32.ActiveCfg = Debug|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|Win32.Build.0 = Debug|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|x64.ActiveCfg = Debug|x64
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Debug|x64.Build.0 = Debug|x64
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|Win32.ActiveCfg = Release|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|Win32.Build.0 = Release|Win32
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|x64.ActiveCfg = Release|x64
- {A21C0AEE-ADDC-45F0-A668-58FF10351D23}.Release|x64.Build.0 = Release|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|Win32.ActiveCfg = Debug|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|Win32.Build.0 = Debug|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|x64.ActiveCfg = Debug|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Debug|x64.Build.0 = Debug|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|Win32.ActiveCfg = Release|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|Win32.Build.0 = Release|Win32
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|x64.ActiveCfg = Release|x64
- {25A46A49-406F-4681-8AC9-5FE46F38E5A7}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9,00"
- Name="square"
- ProjectGUID="{A21C0AEE-ADDC-45F0-A668-58FF10351D23}"
- RootNamespace="square"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="$(OutDir)\gen_input >input.txt
copy input.txt $(OutDir)"
- AdditionalDependencies="gen_input.exe"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\square.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- 6DA3F3EC0DE5D3D80039CADE /* gen_input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D0FC7170DE5BA4D0026B02B /* gen_input.cpp */; };
- A1F593A60B8F042A00073279 /* square.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* square.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
- 6DA3F3ED0DE5D4090039CADE /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 6DA3F3E10DE5D34A0039CADE;
- remoteInfo = "gen-input";
- };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 6D0FC7170DE5BA4D0026B02B /* gen_input.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = gen_input.cpp; path = ../gen_input.cpp; sourceTree = SOURCE_ROOT; };
- 6DA3F3E20DE5D34A0039CADE /* gen-input */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "gen-input"; sourceTree = BUILT_PRODUCTS_DIR; };
- 8DD76F6C0486A84900D96B5E /* square */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = square; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F593A50B8F042A00073279 /* square.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = square.cpp; path = ../square.cpp; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 6DA3F3E00DE5D34A0039CADE /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* square */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = square;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- 6D0FC7170DE5BA4D0026B02B /* gen_input.cpp */,
- A1F593A50B8F042A00073279 /* square.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* square */,
- 6DA3F3E20DE5D34A0039CADE /* gen-input */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 6DA3F3E10DE5D34A0039CADE /* gen-input */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 6DA3F3E40DE5D36B0039CADE /* Build configuration list for PBXNativeTarget "gen-input" */;
- buildPhases = (
- 6DA3F3DF0DE5D34A0039CADE /* Sources */,
- 6DA3F3E00DE5D34A0039CADE /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "gen-input";
- productName = "gen-input";
- productReference = 6DA3F3E20DE5D34A0039CADE /* gen-input */;
- productType = "com.apple.product-type.tool";
- };
- 8DD76F620486A84900D96B5E /* square */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "square" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- 6D3576C90DE5C7A500C03B6D /* ShellScript */,
- );
- buildRules = (
- );
- dependencies = (
- 6DA3F3EE0DE5D4090039CADE /* PBXTargetDependency */,
- );
- name = square;
- productInstallPath = "$(HOME)/bin";
- productName = square;
- productReference = 8DD76F6C0486A84900D96B5E /* square */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "square" */;
- compatibilityVersion = "Xcode 2.4";
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* square */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 8DD76F620486A84900D96B5E /* square */,
- 6DA3F3E10DE5D34A0039CADE /* gen-input */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 6D3576C90DE5C7A500C03B6D /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- outputPaths = (
- "$(TARGET_BUILD_DIR)/input.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "$TARGET_BUILD_DIR/gen-input >$TARGET_BUILD_DIR/input.txt";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 6DA3F3DF0DE5D34A0039CADE /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 6DA3F3EC0DE5D3D80039CADE /* gen_input.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593A60B8F042A00073279 /* square.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
- 6DA3F3EE0DE5D4090039CADE /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = 6DA3F3E10DE5D34A0039CADE /* gen-input */;
- targetProxy = 6DA3F3ED0DE5D4090039CADE /* PBXContainerItemProxy */;
- };
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = square;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = square;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- 6DA3F3E50DE5D36B0039CADE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_MODEL_TUNING = G5;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- PREBINDING = NO;
- PRODUCT_NAME = "gen-input";
- ZERO_LINK = YES;
- };
- name = Debug;
- };
- 6DA3F3E60DE5D36B0039CADE /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_MODEL_TUNING = G5;
- INSTALL_PATH = "$(HOME)/bin";
- PREBINDING = NO;
- PRODUCT_NAME = "gen-input";
- ZERO_LINK = YES;
- };
- name = Debug64;
- };
- 6DA3F3E70DE5D36B0039CADE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_MODEL_TUNING = G5;
- INSTALL_PATH = "$(HOME)/bin";
- PREBINDING = NO;
- PRODUCT_NAME = "gen-input";
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 6DA3F3E80DE5D36B0039CADE /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_MODEL_TUNING = G5;
- INSTALL_PATH = "$(HOME)/bin";
- PREBINDING = NO;
- PRODUCT_NAME = "gen-input";
- ZERO_LINK = YES;
- };
- name = Release64;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = square;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = square;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "square" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "square" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 6DA3F3E40DE5D36B0039CADE /* Build configuration list for PBXNativeTarget "gen-input" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 6DA3F3E50DE5D36B0039CADE /* Debug */,
- 6DA3F3E60DE5D36B0039CADE /* Debug64 */,
- 6DA3F3E70DE5D36B0039CADE /* Release */,
- 6DA3F3E80DE5D36B0039CADE /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=text_filter
-ARGS=input.txt output.txt
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(PROG) *.o *.d input.txt output.txt
-
-test:
- @echo Constructing input.txt
- @cat index.html > input.txt
- @-csh -c "repeat 500 cat index.html >> input.txt" 2>/dev/null
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Text_Filter
-ARGS=input.txt output.txt
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) *.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) *.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe input.txt output.txt *.obj *.?db *.manifest
-input.txt:
- @echo Constructing input.txt
- @cmd.exe /C "@type index.html >input.txt"
- @-cmd.exe /C "for /L %%a in (1,1,500) do @type index.html >> input.txt"
-test: input.txt
- $(PROG) $(ARGS)
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-Text filter that demonstrates class pipeline.
-The <A href=" ../../../doc/Tutorial.pdf">Tutorial</A> explains this example in detail.
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="text_filter.cpp">text_filter.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-<P></P>
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>text_filter <I>inputfile</I> <I>outputfile</I> <I>N</I></TT>
-<DD>Run the example on the named <I>inputfile</I> and produce the named <I>outputfile</I>.
- <I>N</I> is the number of threads to be used.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Prepare an <I>inputfile</I> with about 5,000 lines of text (e.g., by concatenating all the index.html
- files in the examples/ directory tree).
- <BR>Run it with this <I>inputfile</I> and the desired number of threads,
- e.g., <TT>text_filter <I>inputfile</I> <I>outputfile</I> 4</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-//
-// Example program that reads a file of text and changes the first letter
-// of each word to upper case.
-//
-#include "tbb/pipeline.h"
-#include "tbb/tick_count.h"
-#include "tbb/task_scheduler_init.h"
-#include <cstring>
-#include <cstdlib>
-#include <cstdio>
-#include <cctype>
-
-using namespace std;
-
-//! Buffer that holds block of characters and last character of previous buffer.
-class MyBuffer {
- static const size_t buffer_size = 10000;
- char* my_end;
- //! storage[0] holds the last character of the previous buffer.
- char storage[1+buffer_size];
-public:
- //! Pointer to first character in the buffer
- char* begin() {return storage+1;}
- const char* begin() const {return storage+1;}
- //! Pointer to one past last character in the buffer
- char* end() const {return my_end;}
- //! Set end of buffer.
- void set_end( char* new_ptr ) {my_end=new_ptr;}
- //! Number of bytes a buffer can hold
- size_t max_size() const {return buffer_size;}
- //! Number of bytes appended to buffer.
- size_t size() const {return my_end-begin();}
-};
-
-static const char* InputFileName = "input.txt";
-static const char* OutputFileName = "output.txt";
-
-class MyInputFilter: public tbb::filter {
-public:
- static const size_t n_buffer = 8;
- MyInputFilter( FILE* input_file_ );
-private:
- FILE* input_file;
- size_t next_buffer;
- char last_char_of_previous_buffer;
- MyBuffer buffer[n_buffer];
- /*override*/ void* operator()(void*);
-};
-
-MyInputFilter::MyInputFilter( FILE* input_file_ ) :
- filter(serial_in_order),
- next_buffer(0),
- input_file(input_file_),
- last_char_of_previous_buffer(' ')
-{
-}
-
-void* MyInputFilter::operator()(void*) {
- MyBuffer& b = buffer[next_buffer];
- next_buffer = (next_buffer+1) % n_buffer;
- size_t n = fread( b.begin(), 1, b.max_size(), input_file );
- if( !n ) {
- // end of file
- return NULL;
- } else {
- b.begin()[-1] = last_char_of_previous_buffer;
- last_char_of_previous_buffer = b.begin()[n-1];
- b.set_end( b.begin()+n );
- return &b;
- }
-}
-
-//! Filter that changes the first letter of each word from lower case to upper case.
-class MyTransformFilter: public tbb::filter {
-public:
- MyTransformFilter();
- /*override*/void* operator()( void* item );
-};
-
-MyTransformFilter::MyTransformFilter() :
- tbb::filter(parallel)
-{}
-
-/*override*/void* MyTransformFilter::operator()( void* item ) {
- MyBuffer& b = *static_cast<MyBuffer*>(item);
- int prev_char_is_space = b.begin()[-1]==' ';
- for( char* s=b.begin(); s!=b.end(); ++s ) {
- if( prev_char_is_space && islower((unsigned char)*s) )
- *s = toupper(*s);
- prev_char_is_space = isspace((unsigned char)*s);
- }
- return &b;
-}
-
-//! Filter that writes each buffer to a file.
-class MyOutputFilter: public tbb::filter {
- FILE* my_output_file;
-public:
- MyOutputFilter( FILE* output_file );
- /*override*/void* operator()( void* item );
-};
-
-MyOutputFilter::MyOutputFilter( FILE* output_file ) :
- tbb::filter(serial_in_order),
- my_output_file(output_file)
-{
-}
-
-void* MyOutputFilter::operator()( void* item ) {
- MyBuffer& b = *static_cast<MyBuffer*>(item);
- int n = (int) fwrite( b.begin(), 1, b.size(), my_output_file );
- if( n<=0 ) {
- fprintf(stderr,"Can't write into %s file\n", OutputFileName);
- exit(1);
- }
- return NULL;
-}
-
-static int NThread = tbb::task_scheduler_init::automatic;
-static bool is_number_of_threads_set = false;
-
-void Usage()
-{
- fprintf( stderr, "Usage:\ttext_filter [input-file [output-file [nthread]]]\n");
-}
-
-int ParseCommandLine( int argc, char* argv[] ) {
- // Parse command line
- if( argc> 4 ){
- Usage();
- return 0;
- }
- if( argc>=2 ) InputFileName = argv[1];
- if( argc>=3 ) OutputFileName = argv[2];
- if( argc>=4 ) {
- NThread = strtol(argv[3],0,0);
- if( NThread<1 ) {
- fprintf(stderr,"nthread set to %d, but must be at least 1\n",NThread);
- return 0;
- }
- is_number_of_threads_set = true; //Number of threads is set explicitly
- }
- return 1;
-}
-
-int run_pipeline( int nthreads )
-{
- FILE* input_file = fopen(InputFileName,"r");
- if( !input_file ) {
- perror( InputFileName );
- Usage();
- return 0;
- }
- FILE* output_file = fopen(OutputFileName,"w");
- if( !output_file ) {
- perror( OutputFileName );
- return 0;
- }
-
- // Create the pipeline
- tbb::pipeline pipeline;
-
- // Create file-reading writing stage and add it to the pipeline
- MyInputFilter input_filter( input_file );
- pipeline.add_filter( input_filter );
-
- // Create capitalization stage and add it to the pipeline
- MyTransformFilter transform_filter;
- pipeline.add_filter( transform_filter );
-
- // Create file-writing stage and add it to the pipeline
- MyOutputFilter output_filter( output_file );
- pipeline.add_filter( output_filter );
-
- // Run the pipeline
- tbb::tick_count t0 = tbb::tick_count::now();
- pipeline.run( MyInputFilter::n_buffer );
- tbb::tick_count t1 = tbb::tick_count::now();
-
- // Remove filters from pipeline before they are implicitly destroyed.
- pipeline.clear();
-
- fclose( output_file );
- fclose( input_file );
-
- if (is_number_of_threads_set) {
- printf("threads = %d time = %g\n", nthreads, (t1-t0).seconds());
- } else {
- if ( nthreads == 1 ){
- printf("single thread run time = %g\n", (t1-t0).seconds());
- } else {
- printf("parallel run time = %g\n", (t1-t0).seconds());
- }
- }
- return 1;
-}
-
-int main( int argc, char* argv[] ) {
- if(!ParseCommandLine( argc, argv ))
- return 1;
- if (is_number_of_threads_set) {
- // Start task scheduler
- tbb::task_scheduler_init init( NThread );
- if(!run_pipeline (NThread))
- return 1;
- } else { // Number of threads wasn't set explicitly. Run single-thread and fully subscribed parallel versions
- { // single-threaded run
- tbb::task_scheduler_init init_serial(1);
- if(!run_pipeline (1))
- return 1;
- }
- { // parallel run (number of threads is selected automatically)
- tbb::task_scheduler_init init_parallel;
- if(!run_pipeline (0))
- return 1;
- }
- }
- return 0;
-}
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_filter", "text_filter.vcproj", "{4A021AFA-E254-4BCE-918D-377DF1C0BEEF}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Debug.ActiveCfg = Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Debug.Build.0 = Debug|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Release.ActiveCfg = Release|Win32
- {4A021AFA-E254-4BCE-918D-377DF1C0BEEF}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="text_filter"
- ProjectGUID="{4A021AFA-E254-4BCE-918D-377DF1C0BEEF}"
- RootNamespace="text_filter"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs=""$(OutDir)\input.txt""/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs=""$(OutDir)\input.txt""/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\text_filter.cpp">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_filter", "text_filter.vcproj", "{C931C7A2-074E-4150-9E7A-39A03250411D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|Win32.ActiveCfg = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|Win32.Build.0 = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|x64.ActiveCfg = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|x64.Build.0 = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|Win32.ActiveCfg = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|Win32.Build.0 = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|x64.ActiveCfg = Release|x64
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="text_filter"
- ProjectGUID="{C931C7A2-074E-4150-9E7A-39A03250411D}"
- RootNamespace="text_filter"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\text_filter.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "text_filter", "text_filter.vcproj", "{C931C7A2-074E-4150-9E7A-39A03250411D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|Win32.ActiveCfg = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|Win32.Build.0 = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|x64.ActiveCfg = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug|x64.Build.0 = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|Win32.ActiveCfg = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|Win32.Build.0 = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|x64.ActiveCfg = Release|x64
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="text_filter"
- ProjectGUID="{C931C7A2-074E-4150-9E7A-39A03250411D}"
- RootNamespace="text_filter"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- Description="Constructing input.txt"
- CommandLine="type ..\index.html >input.txt
for /L %%a in (1,1,500) do type ..\index.html >> input.txt"
- Outputs="input.txt"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\text_filter.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- A1F593A60B8F042A00073279 /* text_filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* text_filter.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8DD76F6C0486A84900D96B5E /* text_filter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = text_filter; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F593A50B8F042A00073279 /* text_filter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = text_filter.cpp; path = ../text_filter.cpp; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* text_filter */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = text_filter;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- A1F593A50B8F042A00073279 /* text_filter.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* text_filter */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* text_filter */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "text_filter" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- A1F594850B8F293800073279 /* ShellScript */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = text_filter;
- productInstallPath = "$(HOME)/bin";
- productName = text_filter;
- productReference = 8DD76F6C0486A84900D96B5E /* text_filter */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "text_filter" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* text_filter */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* text_filter */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
- A1F594850B8F293800073279 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- outputPaths = (
- "$(TARGET_BUILD_DIR)/input.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "cat ../../index.html >$TARGET_BUILD_DIR/input.txt; for ((a=1; a <= 500 ; a++)); do cat ../../index.html >>$TARGET_BUILD_DIR/input.txt; done";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593A60B8F042A00073279 /* text_filter.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = text_filter;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = text_filter;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = text_filter;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = text_filter;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "text_filter" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "text_filter" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory has examples of how to use the raw task scheduler.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="tree_sum/index.html">tree_sum</A>
-<DD>Sum values in a tree.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=tree_sum
-ARGS=
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbbmalloc -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbbmalloc_debug -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(PROG) *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
- ./$(PROG) -stdmalloc $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Tree_sum
-ARGS=
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) *.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbbmalloc.lib tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) *.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbbmalloc_debug.lib tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
- $(PROG) -stdmalloc $(ARGS)
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "common.h"
-#include "tbb/task.h"
-
-class OptimizedSumTask: public tbb::task {
- Value* const sum;
- TreeNode* root;
- bool is_continuation;
- Value x, y;
-public:
- OptimizedSumTask( TreeNode* root_, Value* sum_ ) : root(root_), sum(sum_), is_continuation(false) {
- }
- tbb::task* execute() {
- tbb::task* next = NULL;
- if( !is_continuation ) {
- if( root->node_count<1000 ) {
- *sum = SerialSumTree(root);
- } else {
- // Create tasks before spawning any of them.
- tbb::task* a = NULL;
- tbb::task* b = NULL;
- if( root->left )
- a = new( allocate_child() ) OptimizedSumTask(root->left,&x);
- if( root->right )
- b = new( allocate_child() ) OptimizedSumTask(root->right,&y);
- recycle_as_continuation();
- is_continuation = true;
- set_ref_count( (a!=NULL)+(b!=NULL) );
- if( a )
- if( b ) spawn(*b);
- else
- a = b;
- next = a;
- }
- } else {
- *sum = root->value;
- if( root->left ) *sum += x;
- if( root->right ) *sum += y;
- }
- return next;
- }
-};
-
-Value OptimizedParallelSumTree( TreeNode* root ) {
- Value sum;
- OptimizedSumTask& a = *new(tbb::task::allocate_root()) OptimizedSumTask(root,&sum);
- tbb::task::spawn_root_and_wait(a);
- return sum;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "common.h"
-
-Value SerialSumTree( TreeNode* root ) {
- Value result = root->value;
- if( root->left )
- result += SerialSumTree(root->left);
- if( root->right )
- result += SerialSumTree(root->right);
- return result;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "common.h"
-#include "tbb/task.h"
-
-class SimpleSumTask: public tbb::task {
- Value* const sum;
- TreeNode* root;
-public:
- SimpleSumTask( TreeNode* root_, Value* sum_ ) : root(root_), sum(sum_) {}
- task* execute() {
- if( root->node_count<1000 ) {
- *sum = SerialSumTree(root);
- } else {
- Value x, y;
- int count = 1;
- tbb::task_list list;
- if( root->left ) {
- ++count;
- list.push_back( *new( allocate_child() ) SimpleSumTask(root->left,&x) );
- }
- if( root->right ) {
- ++count;
- list.push_back( *new( allocate_child() ) SimpleSumTask(root->right,&y) );
- }
- // Argument to set_ref_count is one more than size of the list,
- // because spawn_and_wait_for_all expects an augmented ref_count.
- set_ref_count(count);
- spawn_and_wait_for_all(list);
- *sum = root->value;
- if( root->left ) *sum += x;
- if( root->right ) *sum += y;
- }
- return NULL;
- }
-};
-
-Value SimpleParallelSumTree( TreeNode* root ) {
- Value sum;
- SimpleSumTask& a = *new(tbb::task::allocate_root()) SimpleSumTask(root,&sum);
- tbb::task::spawn_root_and_wait(a);
- return sum;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-typedef float Value;
-
-struct TreeNode {
- //! Pointer to left subtree
- TreeNode* left;
- //! Pointer to right subtree
- TreeNode* right;
- //! Number of nodes in this subtree, including this node.
- long node_count;
- //! Value associated with the node.
- Value value;
-};
-
-Value SerialSumTree( TreeNode* root );
-Value SimpleParallelSumTree( TreeNode* root );
-Value OptimizedParallelSumTree( TreeNode* root );
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory contains a simple example that sums values in a tree.
-The example exhibits some speedup, but not a lot, because it quickly saturates
-the system bus on a multiprocessor. For good speedup, there needs to be
-more computation cycles per memory reference. The point of the example
-is to teach how to use the raw task interface, so the computation is
-deliberately trivial.
-<P>
-The performance of this example is better when objects are allocated
-by the Threading Building Blocks scalable_allocator instead of
-the default "operator new". The reason is that the scalable_allocator typically
-packs small objects more tightly than the default "operator new", resulting in
-a smaller memory footprint, and thus more efficient use of cache and virtual memory.
-In addition, the scalable_allocator performs better for multi-threaded allocations.
-</P>
-<H2>Files</H2>
-<DL>
-<DT><A HREF="SerialSumTree.cpp">SerialSumTree.cpp</A>
-<DD>Sums sequentially.
-<DT><A HREF="SimpleParallelSumTree.cpp">SimpleParallelSumTree.cpp</A><DT>
-<DD>Sums in parallel without any fancy tricks.
-<DT><A HREF="OptimizedParallelSumTree.cpp">OptimizedParallelSumTree.cpp</A><DT>
-<DD>Sums in parallel, using "recycling" and "continuation-passing" tricks.
- In this case, it is only slightly faster than the simple version.
-<DT><A HREF="common.h">common.h</A>
-<DD>Shared declarations.
-<DT><A HREF="main.cpp">main.cpp</A>
-<DD>Driver.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-<P></P>
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>tree_sum [-stdmalloc] <I>S</I> <I>N</I></TT>
-<DD><I>S</I> is the problem size (the number of nodes in the tree).
- <I>N</I> is the number of threads to be used.
- <BR>
- Passing "-stdmalloc" as the 1st parameter causes the default "operator new"
- to be used for memory allocations instead of the TBB scalable_allocator.
-
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with a small problem size and the desired number of threads, e.g., <TT>tree_sum 100000 4</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "common.h"
-#include "tbb/tick_count.h"
-#include "tbb/task.h"
-#include "tbb/task_scheduler_init.h"
-#include <cstdlib>
-#include <cstdio>
-#include <cstring>
-
-// The performance of this example can be significantly better when
-// the objects are allocated by the scalable_allocator instead of the
-// default "operator new". The reason is that the scalable_allocator
-// typically packs small objects more tightly than the default "operator new",
-// resulting in a smaller memory footprint, and thus more efficient use of
-// cache and virtual memory. Also the scalable_allocator works faster for
-// multi-threaded allocations.
-//
-// Pass -stdmalloc as the 1st command line parameter to use the default "operator new"
-// and see the performance difference.
-
-#include "tbb/scalable_allocator.h"
-
-using namespace std;
-
-static double Pi = 3.14159265358979;
-
-const bool tbbmalloc = true;
-const bool stdmalloc = false;
-
-template<bool use_tbbmalloc>
-class TreeMaker {
-
- class SubTreeCreationTask: public tbb::task {
- TreeNode*& my_root;
- bool is_continuation;
- typedef TreeMaker<use_tbbmalloc> MyTreeMaker;
-
- public:
- SubTreeCreationTask( TreeNode*& root, long number_of_nodes ) : my_root(root), is_continuation(false) {
- my_root = MyTreeMaker::allocate_node();
- my_root->node_count = number_of_nodes;
- my_root->value = Value(Pi*number_of_nodes);
- }
-
- tbb::task* execute() {
- tbb::task* next = NULL;
- if( !is_continuation ) {
- long subtree_size = my_root->node_count - 1;
- if( subtree_size<1000 ) { /* grainsize */
- my_root->left = MyTreeMaker::do_in_one_thread(subtree_size/2);
- my_root->right = MyTreeMaker::do_in_one_thread(subtree_size - subtree_size/2);
- } else {
- // Create tasks before spawning any of them.
- tbb::task* a = new( allocate_child() ) SubTreeCreationTask(my_root->left,subtree_size/2);
- tbb::task* b = new( allocate_child() ) SubTreeCreationTask(my_root->right,subtree_size - subtree_size/2);
- recycle_as_continuation();
- is_continuation = true;
- set_ref_count(2);
- spawn(*b);
- next = a;
- }
- }
- return next;
- }
- };
-
-public:
- static TreeNode* allocate_node() {
- return use_tbbmalloc? tbb::scalable_allocator<TreeNode>().allocate(1) : new TreeNode;
- }
-
- static TreeNode* do_in_one_thread( long number_of_nodes ) {
- if( number_of_nodes==0 ) {
- return NULL;
- } else {
- TreeNode* n = allocate_node();
- n->node_count = number_of_nodes;
- n->value = Value(Pi*number_of_nodes);
- --number_of_nodes;
- n->left = do_in_one_thread( number_of_nodes/2 );
- n->right = do_in_one_thread( number_of_nodes - number_of_nodes/2 );
- return n;
- }
- }
-
- static TreeNode* do_in_parallel( long number_of_nodes ) {
- TreeNode* root_node;
- SubTreeCreationTask& a = *new(tbb::task::allocate_root()) SubTreeCreationTask(root_node, number_of_nodes);
- tbb::task::spawn_root_and_wait(a);
- return root_node;
- }
-
- static TreeNode* create_and_time( long number_of_nodes ) {
- tbb::tick_count t0, t1;
- TreeNode* root = allocate_node();
- root->node_count = number_of_nodes;
- root->value = Value(Pi*number_of_nodes);
- --number_of_nodes;
-
- t0 = tbb::tick_count::now();
- root->left = do_in_one_thread( number_of_nodes/2 );
- t1 = tbb::tick_count::now();
- printf ("%24s: time = %.1f msec\n", "half created serially", (t1-t0).seconds()*1000);
-
- t0 = tbb::tick_count::now();
- root->right = do_in_parallel( number_of_nodes - number_of_nodes/2 );
- t1 = tbb::tick_count::now();
- printf ("%24s: time = %.1f msec\n", "half done in parallel", (t1-t0).seconds()*1000);
-
- return root;
- }
-};
-
-int main( int argc, char *argv[] ) {
- // Parse command line parameters
- // The format is: <exe_name> [-stdmalloc] [num_of_nodes [num_of_threads]]
- bool use_tbbmalloc = true;
- int arg_idx = 1;
- if( argc>1 && strcmp(argv[1], "-stdmalloc")==0 ) {
- use_tbbmalloc = false;
- arg_idx = 2;
- }
- long number_of_nodes = argc>arg_idx ? strtol(argv[arg_idx],0,0) : 10000000;
- ++arg_idx;
- int nthread = argc>arg_idx ? strtol(argv[arg_idx],0,0) : tbb::task_scheduler_init::automatic;
-
- // Start up scheduler
- // For production, no argument should be provided to the constructor, so that
- // the application gets the number of threads that are physically available.
- tbb::task_scheduler_init init(nthread);
-
- TreeNode* root;
- if( use_tbbmalloc ) {
- printf("Tree creation using TBB scalable allocator\n");
- root = TreeMaker<tbbmalloc>::create_and_time( number_of_nodes );
- } else {
- printf("Tree creation using standard operator new\n");
- root = TreeMaker<stdmalloc>::create_and_time( number_of_nodes );
- }
-
- // Warm up caches
- SerialSumTree(root);
- printf("Calculations:\n");
- const char* which;
- for( int i=0; i<3; ++i ) {
- tbb::tick_count t0 = tbb::tick_count::now();
- Value result;
- switch( i ) {
- case 0:
- which = "SerialSumTree";
- result = SerialSumTree(root);
- break;
- case 1:
- which = "SimpleParallelSumTree";
- result = SimpleParallelSumTree(root);
- break;
- case 2:
- which = "OptimizedParallelSumTree";
- result = OptimizedParallelSumTree(root);
- break;
- }
- tbb::tick_count t1 = tbb::tick_count::now();
- printf ("%24s: time = %.1f msec, sum=%g\n", which, (t1-t0).seconds()*1000, result);
- }
- return 0;
-}
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree_sum", "tree_sum.vcproj", "{C931C7A2-074E-4150-9E7A-39A03250411D}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug.ActiveCfg = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Debug.Build.0 = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release.ActiveCfg = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411D}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="tree_sum"
- ProjectGUID="{C931C7A2-074E-4150-9E7A-39A03250411D}"
- RootNamespace="tree_sum"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbbmalloc.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\main.cpp">
- </File>
- <File
- RelativePath="..\OptimizedParallelSumTree.cpp">
- </File>
- <File
- RelativePath="..\SerialSumTree.cpp">
- </File>
- <File
- RelativePath="..\SimpleParallelSumTree.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="">
- <File
- RelativePath="..\common.h">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree_sum", "tree_sum.vcproj", "{C931C7A2-074E-4150-9E7A-39A03250411E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|Win32.Build.0 = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|x64.ActiveCfg = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|x64.Build.0 = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|Win32.ActiveCfg = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|Win32.Build.0 = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|x64.ActiveCfg = Release|x64
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="tree_sum"
- ProjectGUID="{C931C7A2-074E-4150-9E7A-39A03250411E}"
- RootNamespace="tree_sum"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\common.h"
- >
- </File>
- <File
- RelativePath="..\main.cpp"
- >
- </File>
- <File
- RelativePath="..\OptimizedParallelSumTree.cpp"
- >
- </File>
- <File
- RelativePath="..\SerialSumTree.cpp"
- >
- </File>
- <File
- RelativePath="..\SimpleParallelSumTree.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree_sum", "tree_sum.vcproj", "{C931C7A2-074E-4150-9E7A-39A03250411E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|Win32.Build.0 = Debug|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|x64.ActiveCfg = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Debug|x64.Build.0 = Debug|x64
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|Win32.ActiveCfg = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|Win32.Build.0 = Release|Win32
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|x64.ActiveCfg = Release|x64
- {C931C7A2-074E-4150-9E7A-39A03250411E}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="tree_sum"
- ProjectGUID="{C931C7A2-074E-4150-9E7A-39A03250411E}"
- RootNamespace="tree_sum"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib tbbmalloc_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib tbbmalloc.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)" && copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbbmalloc.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\common.h"
- >
- </File>
- <File
- RelativePath="..\main.cpp"
- >
- </File>
- <File
- RelativePath="..\OptimizedParallelSumTree.cpp"
- >
- </File>
- <File
- RelativePath="..\SerialSumTree.cpp"
- >
- </File>
- <File
- RelativePath="..\SimpleParallelSumTree.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- 05593A100B8F4F4500DE73AB /* common.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 05593A0B0B8F4F4500DE73AB /* common.h */; };
- 05593A110B8F4F4500DE73AB /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593A0C0B8F4F4500DE73AB /* main.cpp */; };
- 05593A120B8F4F4500DE73AB /* OptimizedParallelSumTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593A0D0B8F4F4500DE73AB /* OptimizedParallelSumTree.cpp */; };
- 05593A130B8F4F4500DE73AB /* SerialSumTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593A0E0B8F4F4500DE73AB /* SerialSumTree.cpp */; };
- 05593A140B8F4F4500DE73AB /* SimpleParallelSumTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 05593A0F0B8F4F4500DE73AB /* SimpleParallelSumTree.cpp */; };
- 05593A160B8F4F5D00DE73AB /* libtbbmalloc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 05593A150B8F4F5D00DE73AB /* libtbbmalloc.dylib */; };
- 05593A170B8F4F6E00DE73AB /* libtbbmalloc.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 05593A150B8F4F5D00DE73AB /* libtbbmalloc.dylib */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- 05593A170B8F4F6E00DE73AB /* libtbbmalloc.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 05593A4A0B8F51E000DE73AB /* tree_sum */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = tree_sum; sourceTree = BUILT_PRODUCTS_DIR; };
- 05593A0B0B8F4F4500DE73AB /* common.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = common.h; path = ../common.h; sourceTree = SOURCE_ROOT; };
- 05593A0C0B8F4F4500DE73AB /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../main.cpp; sourceTree = SOURCE_ROOT; };
- 05593A0D0B8F4F4500DE73AB /* OptimizedParallelSumTree.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = OptimizedParallelSumTree.cpp; path = ../OptimizedParallelSumTree.cpp; sourceTree = SOURCE_ROOT; };
- 05593A0E0B8F4F4500DE73AB /* SerialSumTree.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SerialSumTree.cpp; path = ../SerialSumTree.cpp; sourceTree = SOURCE_ROOT; };
- 05593A0F0B8F4F4500DE73AB /* SimpleParallelSumTree.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SimpleParallelSumTree.cpp; path = ../SimpleParallelSumTree.cpp; sourceTree = SOURCE_ROOT; };
- 05593A150B8F4F5D00DE73AB /* libtbbmalloc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbbmalloc.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbbmalloc.dylib; sourceTree = "<absolute>"; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- 05593A160B8F4F5D00DE73AB /* libtbbmalloc.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* tree_sum */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = tree_sum;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- 05593A0B0B8F4F4500DE73AB /* common.h */,
- 05593A0C0B8F4F4500DE73AB /* main.cpp */,
- 05593A0D0B8F4F4500DE73AB /* OptimizedParallelSumTree.cpp */,
- 05593A0E0B8F4F4500DE73AB /* SerialSumTree.cpp */,
- 05593A0F0B8F4F4500DE73AB /* SimpleParallelSumTree.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 05593A4A0B8F51E000DE73AB /* tree_sum */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- 05593A150B8F4F5D00DE73AB /* libtbbmalloc.dylib */,
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* tree_sum */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "tree_sum" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = tree_sum;
- productInstallPath = "$(HOME)/bin";
- productName = tree_sum;
- productReference = 05593A4A0B8F51E000DE73AB /* tree_sum */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "tree_sum" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* tree_sum */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* tree_sum */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 05593A110B8F4F4500DE73AB /* main.cpp in Sources */,
- 05593A120B8F4F4500DE73AB /* OptimizedParallelSumTree.cpp in Sources */,
- 05593A130B8F4F4500DE73AB /* SerialSumTree.cpp in Sources */,
- 05593A140B8F4F4500DE73AB /* SimpleParallelSumTree.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_2)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = tree_sum;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_2)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = tree_sum;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_2)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = tree_sum;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_2)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = tree_sum;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "tree_sum" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "tree_sum" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/* Example program that computes Fibonacci numbers in different ways.
- Arguments are: [ Number [Threads [Repeats]]]
- The defaults are Number=500 Threads=1:4 Repeats=1.
-
- The point of this program is to check that the library is working properly.
- Most of the computations are deliberately silly and not expected to
- show any speedup on multiprocessors.
-*/
-
-// enable assertions
-#ifdef NDEBUG
-#undef NDEBUG
-#endif
-
-#include <cstdio>
-#include <cstdlib>
-#include <cassert>
-#include <utility>
-#include "tbb/task.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tick_count.h"
-#include "tbb/blocked_range.h"
-#include "tbb/concurrent_vector.h"
-#include "tbb/concurrent_queue.h"
-#include "tbb/concurrent_hash_map.h"
-#include "tbb/parallel_while.h"
-#include "tbb/parallel_for.h"
-#include "tbb/parallel_reduce.h"
-#include "tbb/parallel_scan.h"
-#include "tbb/pipeline.h"
-#include "tbb/atomic.h"
-#include "tbb/mutex.h"
-#include "tbb/spin_mutex.h"
-#include "tbb/queuing_mutex.h"
-#include "tbb/tbb_thread.h"
-
-using namespace std;
-using namespace tbb;
-
-//! type used for Fibonacci number computations
-typedef long long value;
-
-//! Matrix 2x2 class
-struct Matrix2x2
-{
- //! Array of values
- value v[2][2];
- Matrix2x2() {}
- Matrix2x2(value v00, value v01, value v10, value v11) {
- v[0][0] = v00; v[0][1] = v01; v[1][0] = v10; v[1][1] = v11;
- }
- Matrix2x2 operator * (const Matrix2x2 &to) const; //< Multiply two Matrices
-};
-//! Default matrix to multiply
-static const Matrix2x2 Matrix1110(1, 1, 1, 0);
-//! Raw arrays matrices multiply
-void Matrix2x2Multiply(const value a[2][2], const value b[2][2], value c[2][2]);
-
-/////////////////////// Serial methods ////////////////////////
-
-//! Plain serial sum
-value SerialFib(int n)
-{
- if(n < 2)
- return n;
- value a = 0, b = 1, sum; int i;
- for( i = 2; i <= n; i++ )
- { // n is really index of Fibonacci number
- sum = a + b; a = b; b = sum;
- }
- return sum;
-}
-//! Serial n-1 matrices multiplication
-value SerialMatrixFib(int n)
-{
- value c[2][2], a[2][2] = {{1, 1}, {1, 0}}, b[2][2] = {{1, 1}, {1, 0}}; int i;
- for(i = 2; i < n; i++)
- { // Using condition to prevent copying of values
- if(i & 1) Matrix2x2Multiply(a, c, b);
- else Matrix2x2Multiply(a, b, c);
- }
- return (i & 1) ? c[0][0] : b[0][0]; // get result from upper left cell
-}
-//! Recursive summing. Just for complete list of serial algorithms, not used
-value SerialRecursiveFib(int n)
-{
- value result;
- if(n < 2)
- result = n;
- else
- result = SerialRecursiveFib(n - 1) + SerialRecursiveFib(n - 2);
- return result;
-}
-//! Introducing of queue method in serial
-value SerialQueueFib(int n)
-{
- concurrent_queue<Matrix2x2> Q;
- for(int i = 1; i < n; i++)
- Q.push(Matrix1110);
- Matrix2x2 A, B;
- while(true) {
- while( !Q.try_pop(A) ) this_tbb_thread::yield();
- if(Q.empty()) break;
- while( !Q.try_pop(B) ) this_tbb_thread::yield();
- Q.push(A * B);
- }
- return A.v[0][0];
-}
-//! Trying to use concurrent_vector
-value SerialVectorFib(int n)
-{
- concurrent_vector<value> A;
- A.grow_by(2);
- A[0] = 0; A[1] = 1;
- for( int i = 2; i <= n; i++)
- {
- A.grow_to_at_least(i+1);
- A[i] = A[i-1] + A[i-2];
- }
- return A[n];
-}
-
-///////////////////// Parallel methods ////////////////////////
-
-// *** Serial shared by mutexes *** //
-
-//! Shared glabals
-value SharedA = 0, SharedB = 1; int SharedI = 1, SharedN;
-
-//! Template task class which computes Fibonacci numbers with shared globals
-template<typename M>
-class SharedSerialFibBody {
- M &mutex;
-public:
- SharedSerialFibBody( M &m ) : mutex( m ) {}
- //! main loop
- void operator()( const blocked_range<int>& range ) const {
- for(;;) {
- typename M::scoped_lock lock( mutex );
- if(SharedI >= SharedN) break;
- value sum = SharedA + SharedB;
- SharedA = SharedB; SharedB = sum;
- ++SharedI;
- }
- }
-};
-
-//! Root function
-template<class M>
-value SharedSerialFib(int n)
-{
- SharedA = 0; SharedB = 1; SharedI = 1; SharedN = n; M mutex;
- parallel_for( blocked_range<int>(0,4,1), SharedSerialFibBody<M>( mutex ) );
- return SharedB;
-}
-
-// *** Serial shared by concurrent hash map *** //
-
-//! Hash comparer
-struct IntHashCompare {
- bool equal( const int j, const int k ) const { return j == k; }
- unsigned long hash( const int k ) const { return (unsigned long)k; }
-};
-//! NumbersTable type based on concurrent_hash_map
-typedef concurrent_hash_map<int, value, IntHashCompare> NumbersTable;
-//! task for serial method using shared concurrent_hash_map
-class ConcurrentHashSerialFibTask: public task {
- NumbersTable &Fib;
- int my_n;
-public:
- //! constructor
- ConcurrentHashSerialFibTask( NumbersTable &cht, int n ) : Fib(cht), my_n(n) { }
- //! executing task
- /*override*/ task* execute()
- {
- for( int i = 2; i <= my_n; ++i ) { // there is no difference in to recycle or to make loop
- NumbersTable::const_accessor f1, f2; // same as iterators
- if( !Fib.find(f1, i-1) || !Fib.find(f2, i-2) ) {
- // Something is seriously wrong, because i-1 and i-2 must have been inserted
- // earlier by this thread or another thread.
- assert(0);
- }
- value sum = f1->second + f2->second;
- NumbersTable::const_accessor fsum;
- Fib.insert(fsum, make_pair(i, sum)); // inserting
- assert( fsum->second == sum ); // check value
- }
- return 0;
- }
-};
-
-//! Root function
-value ConcurrentHashSerialFib(int n)
-{
- NumbersTable Fib;
- bool okay;
- okay = Fib.insert( make_pair(0, 0) ); assert(okay); // assign initial values
- okay = Fib.insert( make_pair(1, 1) ); assert(okay);
-
- task_list list;
- // allocate tasks
- list.push_back(*new(task::allocate_root()) ConcurrentHashSerialFibTask(Fib, n));
- list.push_back(*new(task::allocate_root()) ConcurrentHashSerialFibTask(Fib, n));
- task::spawn_root_and_wait(list);
- NumbersTable::const_accessor fresult;
- okay = Fib.find( fresult, n );
- assert(okay);
- return fresult->second;
-}
-
-// *** Queue with parallel_for and parallel_while *** //
-
-//! Stream of matrices
-struct QueueStream {
- volatile bool producer_is_done;
- concurrent_queue<Matrix2x2> Queue;
- //! Get pair of matricies if present
- bool pop_if_present( pair<Matrix2x2, Matrix2x2> &mm ) {
- // get first matrix if present
- if(!Queue.try_pop(mm.first)) return false;
- // get second matrix if present
- if(!Queue.try_pop(mm.second)) {
- // if not, then push back first matrix
- Queue.push(mm.first); return false;
- }
- return true;
- }
-};
-
-//! Functor for parallel_for which fills the queue
-struct parallel_forFibBody {
- QueueStream &my_stream;
- //! fill functor arguments
- parallel_forFibBody(QueueStream &s) : my_stream(s) { }
- //! iterate thorough range
- void operator()( const blocked_range<int> &range ) const {
- int i_end = range.end();
- for( int i = range.begin(); i != i_end; ++i ) {
- my_stream.Queue.push( Matrix1110 ); // push initial matrix
- }
- }
-};
-//! Functor for parallel_while which process the queue
-class parallel_whileFibBody
-{
- QueueStream &my_stream;
- parallel_while<parallel_whileFibBody> &my_while;
-public:
- typedef pair<Matrix2x2, Matrix2x2> argument_type;
- //! fill functor arguments
- parallel_whileFibBody(parallel_while<parallel_whileFibBody> &w, QueueStream &s)
- : my_while(w), my_stream(s) { }
- //! process pair of matrices
- void operator() (argument_type mm) const {
- mm.first = mm.first * mm.second;
- // note: it can run concurrently with QueueStream::pop_if_present()
- if(my_stream.Queue.try_pop(mm.second))
- my_while.add( mm ); // now, two matrices available. Add next iteration.
- else my_stream.Queue.push( mm.first ); // or push back calculated value if queue is empty
- }
-};
-
-//! Parallel queue's filling task
-struct QueueInsertTask: public task {
- QueueStream &my_stream;
- int my_n;
- //! fill task arguments
- QueueInsertTask( int n, QueueStream &s ) : my_n(n), my_stream(s) { }
- //! executing task
- /*override*/ task* execute() {
- // Execute of parallel pushing of n-1 initial matrices
- parallel_for( blocked_range<int>( 1, my_n, 10 ), parallel_forFibBody(my_stream) );
- my_stream.producer_is_done = true;
- return 0;
- }
-};
-//! Parallel queue's processing task
-struct QueueProcessTask: public task {
- QueueStream &my_stream;
- //! fill task argument
- QueueProcessTask( QueueStream &s ) : my_stream(s) { }
- //! executing task
- /*override*/ task* execute() {
- while( !my_stream.producer_is_done || my_stream.Queue.unsafe_size()>1 ) {
- parallel_while<parallel_whileFibBody> w; // run while loop in parallel
- w.run( my_stream, parallel_whileFibBody( w, my_stream ) );
- }
- return 0;
- }
-};
-//! Root function
-value ParallelQueueFib(int n)
-{
- QueueStream stream;
- stream.producer_is_done = false;
- task_list list;
- list.push_back(*new(task::allocate_root()) QueueInsertTask( n, stream ));
- list.push_back(*new(task::allocate_root()) QueueProcessTask( stream ));
- // If there is only a single thread, the first task in the list runs to completion
- // before the second task in the list starts.
- task::spawn_root_and_wait(list);
- assert(stream.Queue.unsafe_size() == 1); // it is easy to lose some work
- Matrix2x2 M;
- bool result = stream.Queue.try_pop( M ); // get last matrix
- assert( result );
- return M.v[0][0]; // and result number
-}
-
-// *** Queue with pipeline *** //
-
-//! filter to fills queue
-class InputFilter: public filter {
- atomic<int> N; //< index of Fibonacci number minus 1
-public:
- concurrent_queue<Matrix2x2> Queue;
- //! fill filter arguments
- InputFilter( int n ) : filter(false /*is not serial*/) { N = n; }
- //! executing filter
- /*override*/ void* operator()(void*)
- {
- int n = --N;
- if(n <= 0) return 0;
- Queue.push( Matrix1110 );
- return &Queue;
- }
-};
-//! filter to process queue
-class MultiplyFilter: public filter {
-public:
- MultiplyFilter( ) : filter(false /*is not serial*/) { }
- //! executing filter
- /*override*/ void* operator()(void*p)
- {
- concurrent_queue<Matrix2x2> &Queue = *static_cast<concurrent_queue<Matrix2x2> *>(p);
- Matrix2x2 m1, m2;
- // get two elements
- while( !Queue.try_pop( m1 ) ) this_tbb_thread::yield();
- while( !Queue.try_pop( m2 ) ) this_tbb_thread::yield();
- m1 = m1 * m2; // process them
- Queue.push( m1 ); // and push back
- return this; // just nothing
- }
-};
-//! Root function
-value ParallelPipeFib(int n)
-{
- InputFilter input( n-1 );
- MultiplyFilter process;
- // Create the pipeline
- pipeline pipeline;
- // add filters
- pipeline.add_filter( input ); // first
- pipeline.add_filter( process ); // second
-
- input.Queue.push( Matrix1110 );
- // Run the pipeline
- pipeline.run( n ); // must be larger then max threads number
- pipeline.clear(); // do not forget clear the pipeline
-
- assert( input.Queue.unsafe_size()==1 );
- Matrix2x2 M;
- bool result = input.Queue.try_pop( M ); // get last element
- assert( result );
- return M.v[0][0]; // get value
-}
-
-// *** parallel_reduce *** //
-
-//! Functor for parallel_reduce
-struct parallel_reduceFibBody {
- Matrix2x2 sum;
- int splitted; //< flag to make one less operation for splitted bodies
- //! Constructor fills sum with initial matrix
- parallel_reduceFibBody() : sum( Matrix1110 ), splitted(0) { }
- //! Splitting constructor
- parallel_reduceFibBody( parallel_reduceFibBody& other, split ) : sum( Matrix1110 ), splitted(1/*note that it is splitted*/) {}
- //! Join point
- void join( parallel_reduceFibBody &s ) {
- sum = sum * s.sum;
- }
- //! Process multiplications
- void operator()( const blocked_range<int> &r ) {
- for( int k = r.begin() + splitted; k < r.end(); ++k )
- sum = sum * Matrix1110;
- splitted = 0; // reset flag, because this method can be reused for next range
- }
-};
-//! Root function
-value parallel_reduceFib(int n)
-{
- parallel_reduceFibBody b;
- parallel_reduce(blocked_range<int>(2, n, 3), b); // do parallel reduce on range [2, n) for b
- return b.sum.v[0][0];
-}
-
-// *** parallel_scan *** //
-
-//! Functor for parallel_scan
-struct parallel_scanFibBody {
- Matrix2x2 sum;
- int first; // flag to make one less operation for first range
- //! Constructor fills sum with initial matrix
- parallel_scanFibBody() : sum( Matrix1110 ), first(1) {}
- //! Splitting constructor
- parallel_scanFibBody( parallel_scanFibBody &b, split) : sum( Matrix1110 ), first(1) {}
- //! Join point
- void reverse_join( parallel_scanFibBody &a ) {
- sum = sum * a.sum;
- }
- //! Assign point
- void assign( parallel_scanFibBody &b ) {
- sum = b.sum;
- }
- //! Process multiplications. For two tags
- template<typename T>
- void operator()( const blocked_range<int> &r, T) {
- // see tag.is_final_scan() for what tag is used
- for( int k = r.begin() + first; k < r.end(); ++k )
- sum = sum * Matrix1110;
- first = 0; // reset flag, because this method can be reused for next range
- }
-};
-//! Root function
-value parallel_scanFib(int n)
-{
- parallel_scanFibBody b;
- parallel_scan(blocked_range<int>(1/*one less, because body skip first*/, n, 3), b);
- return b.sum.v[0][0];
-}
-
-// *** Raw tasks *** //
-
-//! task class which computes Fibonacci numbers by Lucas formula
-struct FibTask: public task {
- const int n;
- value& sum;
- value x, y;
- bool second_phase; //< flag of continuation
- // task arguments
- FibTask( int n_, value& sum_ ) :
- n(n_), sum(sum_), second_phase(false)
- {}
- //! Execute task
- /*override*/ task* execute() {
- // Using Lucas' formula here
- if( second_phase ) { // children finished
- sum = n&1 ? x*x + y*y : x*x - y*y;
- return NULL;
- }
- if( n <= 2 ) {
- sum = n!=0;
- return NULL;
- } else {
- recycle_as_continuation(); // repeat this task when children finish
- second_phase = true; // mark second phase
- FibTask& a = *new( allocate_child() ) FibTask( n/2 + 1, x );
- FibTask& b = *new( allocate_child() ) FibTask( n/2 - 1 + (n&1), y );
- set_ref_count(2);
- spawn( a );
- return &b;
- }
- }
-};
-//! Root function
-value ParallelTaskFib(int n) {
- value sum;
- FibTask& a = *new(task::allocate_root()) FibTask(n, sum);
- task::spawn_root_and_wait(a);
- return sum;
-}
-
-/////////////////////////// Main ////////////////////////////////////////////////////
-
-//! A closed range of int.
-struct IntRange {
- int low;
- int high;
- void set_from_string( const char* s );
- IntRange( int low_, int high_ ) : low(low_), high(high_) {}
-};
-
-void IntRange::set_from_string( const char* s ) {
- char* end;
- high = low = strtol(s,&end,0);
- switch( *end ) {
- case ':':
- high = strtol(end+1,0,0);
- break;
- case '\0':
- break;
- default:
- printf("unexpected character = %c\n",*end);
- }
-}
-
-//! Tick count for start
-static tick_count t0;
-
-//! Verbose output flag
-static bool Verbose = false;
-
-typedef value (*MeasureFunc)(int);
-//! Measure ticks count in loop [2..n]
-value Measure(const char *name, MeasureFunc func, int n)
-{
- value result;
- if(Verbose) printf("%s",name);
- t0 = tick_count::now();
- for(int number = 2; number <= n; number++)
- result = func(number);
- if(Verbose) printf("\t- in %f msec\n", (tick_count::now() - t0).seconds()*1000);
- return result;
-}
-
-//! program entry
-int main(int argc, char* argv[])
-{
- if(argc>1) Verbose = true;
- int NumbersCount = argc>1 ? strtol(argv[1],0,0) : 500;
- IntRange NThread(1,4);// Number of threads to use.
- if(argc>2) NThread.set_from_string(argv[2]);
- unsigned long ntrial = argc>3? (unsigned long)strtoul(argv[3],0,0) : 1;
- value result, sum;
-
- if(Verbose) printf("Fibonacci numbers example. Generating %d numbers..\n", NumbersCount);
-
- result = Measure("Serial loop", SerialFib, NumbersCount);
- sum = Measure("Serial matrix", SerialMatrixFib, NumbersCount); assert(result == sum);
- sum = Measure("Serial vector", SerialVectorFib, NumbersCount); assert(result == sum);
- sum = Measure("Serial queue", SerialQueueFib, NumbersCount); assert(result == sum);
- // now in parallel
- for( unsigned long i=0; i<ntrial; ++i ) {
- for(int threads = NThread.low; threads <= NThread.high; threads *= 2)
- {
- task_scheduler_init scheduler_init(threads);
- if(Verbose) printf("\nThreads number is %d\n", threads);
-
- sum = Measure("Shared serial (mutex)\t", SharedSerialFib<mutex>, NumbersCount); assert(result == sum);
- sum = Measure("Shared serial (spin_mutex)", SharedSerialFib<spin_mutex>, NumbersCount); assert(result == sum);
- sum = Measure("Shared serial (queuing_mutex)", SharedSerialFib<queuing_mutex>, NumbersCount); assert(result == sum);
- sum = Measure("Shared serial (Conc.HashTable)", ConcurrentHashSerialFib, NumbersCount); assert(result == sum);
- sum = Measure("Parallel while+for/queue", ParallelQueueFib, NumbersCount); assert(result == sum);
- sum = Measure("Parallel pipe/queue\t", ParallelPipeFib, NumbersCount); assert(result == sum);
- sum = Measure("Parallel reduce\t\t", parallel_reduceFib, NumbersCount); assert(result == sum);
- sum = Measure("Parallel scan\t\t", parallel_scanFib, NumbersCount); assert(result == sum);
- sum = Measure("Parallel tasks\t\t", ParallelTaskFib, NumbersCount); assert(result == sum);
- }
-
- #ifdef __GNUC__
- if(Verbose) printf("Fibonacci number #%d modulo 2^64 is %lld\n\n", NumbersCount, result);
- #else
- if(Verbose) printf("Fibonacci number #%d modulo 2^64 is %I64d\n\n", NumbersCount, result);
- #endif
- }
- if(!Verbose) printf("TEST PASSED\n");
- return 0;
-}
-
-// Utils
-
-void Matrix2x2Multiply(const value a[2][2], const value b[2][2], value c[2][2])
-{
- for( int i = 0; i <= 1; i++)
- for( int j = 0; j <= 1; j++)
- c[i][j] = a[i][0]*b[0][j] + a[i][1]*b[1][j];
-}
-
-Matrix2x2 Matrix2x2::operator *(const Matrix2x2 &to) const
-{
- Matrix2x2 result;
- Matrix2x2Multiply(v, to.v, result.v);
- return result;
-}
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# GNU Makefile that builds and runs example.
-PROG=fibonacci
-ARGS=
-
-# The C++ compiler
-#CXX=g++
-
-all: release test
-
-release: *.cpp
- $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
-
-debug: *.cpp
- $(CXX) -O0 -g -DTBB_USE_DEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb_debug $(LIBS)
-
-clean:
- $(RM) $(PROG) *.o *.d
-
-test:
- ./$(PROG) $(ARGS)
+++ /dev/null
-# Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-#
-# This file is part of Threading Building Blocks.
-#
-# Threading Building Blocks is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# version 2 as published by the Free Software Foundation.
-#
-# Threading Building Blocks is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Threading Building Blocks; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# As a special exception, you may use this file as part of a free software
-# library without restriction. Specifically, if other files instantiate
-# templates or use macros or inline functions from this file, or you compile
-# this file and link it with other files to produce an executable, this
-# file does not by itself cause the resulting executable to be covered by
-# the GNU General Public License. This exception does not however
-# invalidate any other reasons why the executable file might be covered by
-# the GNU General Public License.
-
-# Common Makefile that builds and runs example.
-
-# Just specify your program basename
-PROG=Fibonacci
-ARGS=
-
-# The C++ compiler options
-CXX = cl.exe
-MYCXXFLAGS = /TP /EHsc /W3 /nologo $(TBB_SECURITY_SWITCH) /D _CONSOLE /D _MBCS /D WIN32 $(CXXFLAGS)
-MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
-
-all: release test
-release:
- $(CXX) *.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-debug:
- $(CXX) *.cpp /MDd /Od /Zi /D TBB_USE_DEBUG /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
-clean:
- @cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
-test:
- $(PROG) $(ARGS)
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory contains an example that computes Fibonacci numbers in several
-different ways. The purpose of the example is to exercise every include file
-and class in Threading Building Blocks.
-Most of the computations are deliberately silly and not expected to
-show any speedup on multiprocessors.
-<H2>Files</H2>
-<DL>
-<DT><A HREF="Fibonacci.cpp">Fibonacci.cpp</A>
-<DD>Source code for example.
-<DT><A HREF="Makefile">Makefile</A>
-<DD>Makefile for building example.
-</DL>
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="vc7.1">vc7.1</A>
-<DD>Contains Microsoft* Visual Studio* .NET 2003 workspace for building and running the example.
-<DT><A HREF="vc8">vc8</A>
-<DD>Contains Microsoft* Visual Studio* 2005 workspace for building and running the example.
-<DT><A HREF="vc9">vc9</A>
-<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the example.
-<DT><A HREF="xcode">xcode</A>
-<DD>Contains Xcode* IDE workspace for building and running the example.
-</DL>
-
-<H2>To Build</H2>
-General build directions can be found <A HREF=../../index.html#build>here</A>.
-
-<H2>Usage</H2>
-<DL>
-<DT><TT>fibonacci <I>K</I> [<I>M</I>[:<I>N</I>]] [<I>R</I>]</TT>
-<DD>Calculates the <I>K</I>-th fibonacci number.
- <I>M</I> and <I>N</I> are a range of numbers of threads to be used.
- <I>R</I> is the number of times to repeat the calculation.
-<DT>To run a short version of this example, e.g., for use with Intel® Threading Tools:
-<DD>Build a <I>debug</I> version of the example
- (see the <A HREF=../../index.html#build>build directions</A>).
- <BR>Run it with a small fibonacci number and the desired number of threads, e.g., <TT>fibonacci 100 4</TT>.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Fibonacci", "Fibonacci.vcproj", "{D3A5A89E-2165-45AD-97D4-1AB22D852826}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {D3A5A89E-2165-45AD-97D4-1AB22D852826}.Debug.ActiveCfg = Debug|Win32
- {D3A5A89E-2165-45AD-97D4-1AB22D852826}.Debug.Build.0 = Debug|Win32
- {D3A5A89E-2165-45AD-97D4-1AB22D852826}.Release.ActiveCfg = Release|Win32
- {D3A5A89E-2165-45AD-97D4-1AB22D852826}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="fibonacci"
- ProjectGUID="{D3A5A89E-2165-45AD-97D4-1AB22D852826}"
- RootNamespace="fibonacci"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb_debug.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc7.1\lib"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc7.1\bin\tbb.pdb" "$(OutDir)""/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx">
- <File
- RelativePath="..\fibonacci.cpp">
- </File>
- </Filter>
- <File
- RelativePath="..\index.html">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fibonacci", "fibonacci.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8,00"
- Name="fibonacci"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252E}"
- RootNamespace="fibonacci"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc8\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc8\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\Fibonacci.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fibonacci", "fibonacci.vcproj", "{3AA40693-F93D-4D4B-B32E-068F511A252E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|Win32.ActiveCfg = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|Win32.Build.0 = Debug|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|x64.ActiveCfg = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Debug|x64.Build.0 = Debug|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|Win32.ActiveCfg = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|Win32.Build.0 = Release|Win32
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|x64.ActiveCfg = Release|x64
- {3AA40693-F93D-4D4B-B32E-068F511A252E}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="fibonacci"
- ProjectGUID="{3AA40693-F93D-4D4B-B32E-068F511A252E}"
- RootNamespace="fibonacci"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\ia32\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- FixedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\ia32\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb_debug.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb_debug.pdb" "$(OutDir)""
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(TBB22_INSTALL_DIR)\include"
- PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="tbb.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="$(TBB22_INSTALL_DIR)\intel64\vc9\lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- FixedBaseAddress="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- Description="Copying DLLs and PDBs"
- CommandLine="copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.dll" "$(OutDir)"
 copy "$(TBB22_INSTALL_DIR)\intel64\vc9\bin\tbb.pdb" "$(OutDir)""
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\Fibonacci.cpp"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\index.html"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- A1F593A60B8F042A00073279 /* Fibonacci.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F593A50B8F042A00073279 /* Fibonacci.cpp */; };
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 8DD76F690486A84900D96B5E /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 12;
- dstPath = "";
- dstSubfolderSpec = 16;
- files = (
- A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 8DD76F6C0486A84900D96B5E /* Fibonacci */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Fibonacci; sourceTree = BUILT_PRODUCTS_DIR; };
- A1F593A50B8F042A00073279 /* Fibonacci.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Fibonacci.cpp; path = ../Fibonacci.cpp; sourceTree = SOURCE_ROOT; };
- A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76F660486A84900D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* Fibonacci */ = {
- isa = PBXGroup;
- children = (
- 08FB7795FE84155DC02AAC07 /* Source */,
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- name = Fibonacci;
- sourceTree = "<group>";
- };
- 08FB7795FE84155DC02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- A1F593A50B8F042A00073279 /* Fibonacci.cpp */,
- );
- name = Source;
- sourceTree = "<group>";
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- 8DD76F6C0486A84900D96B5E /* Fibonacci */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- A1F593B30B8F06F900073279 /* libtbb.dylib */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76F620486A84900D96B5E /* Fibonacci */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "Fibonacci" */;
- buildPhases = (
- 8DD76F640486A84900D96B5E /* Sources */,
- 8DD76F660486A84900D96B5E /* Frameworks */,
- 8DD76F690486A84900D96B5E /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Fibonacci;
- productInstallPath = "$(HOME)/bin";
- productName = Fibonacci;
- productReference = 8DD76F6C0486A84900D96B5E /* Fibonacci */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "Fibonacci" */;
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* Fibonacci */;
- projectDirPath = "";
- targets = (
- 8DD76F620486A84900D96B5E /* Fibonacci */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76F640486A84900D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1F593A60B8F042A00073279 /* Fibonacci.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB923208733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = Fibonacci;
- ZERO_LINK = NO;
- };
- name = Debug;
- };
- 1DEB923308733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = Fibonacci;
- ZERO_LINK = NO;
- };
- name = Release;
- };
- 1DEB923608733DC60010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug;
- };
- 1DEB923708733DC60010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release;
- };
- A1F593C60B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = Fibonacci;
- ZERO_LINK = NO;
- };
- name = Debug64;
- };
- A1F593C70B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- INSTALL_PATH = "$(HOME)/bin";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
- );
- LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/TBB.framework/Libraries\"";
- PRODUCT_NAME = Fibonacci;
- ZERO_LINK = NO;
- };
- name = Release64;
- };
- A1F593C80B8F0E6E00073279 /* Debug64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Debug64;
- };
- A1F593C90B8F0E6E00073279 /* Release64 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = i386;
- GCC_ENABLE_CPP_RTTI = YES;
- GCC_MODEL_TUNING = "";
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_CPLUSPLUSFLAGS = (
- "$(OTHER_CFLAGS)",
- "-m64",
- );
- OTHER_LDFLAGS = "-m64";
- PREBINDING = NO;
- PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
- SYMROOT = "/tmp/tbb-$(USER)";
- };
- name = Release64;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "Fibonacci" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923208733DC60010E9CD /* Debug */,
- A1F593C60B8F0E6E00073279 /* Debug64 */,
- 1DEB923308733DC60010E9CD /* Release */,
- A1F593C70B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "Fibonacci" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB923608733DC60010E9CD /* Debug */,
- A1F593C80B8F0E6E00073279 /* Debug64 */,
- 1DEB923708733DC60010E9CD /* Release */,
- A1F593C90B8F0E6E00073279 /* Release64 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
+++ /dev/null
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory contains programs that exercise all the components of Threading Building Blocks.
-
-<H2>Directories</H2>
-<DL>
-<DT><A HREF="fibonacci/index.html">fibonacci</A>
-<DD>Compute Fibonacci numbers in different ways.
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<p></p>
-Copyright © 2005-2009 Intel Corporation. All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Declarations for rock-bottom simple test harness.
-// Just include this file to use it.
-// Every test is presumed to have a command line of the form "foo [-v] [nthread]"
-// The default for nthread is 2.
-
-#ifndef tbb_tests_harness_H
-#define tbb_tests_harness_H
-
-#define __TBB_LAMBDAS_PRESENT ( _MSC_VER >= 1600 && !__INTEL_COMPILER || __INTEL_COMPILER >= 1100 && _TBB_CPP0X )
-#define __TBB_LAMBDA_AS_TEMPL_PARAM_BROKEN (__INTEL_COMPILER == 1100 || __INTEL_COMPILER == 1110)
-
-#if __SUNPRO_CC
-#include <stdlib.h>
-#include <string.h>
-#else
-#include <cstdlib>
-#include <cstring>
-#endif
-#include <new>
-
-#if __LRB__
-#include "harness_lrb.h"
-#else
-#define __TBB_TEST_EXPORT
-#define REPORT_FATAL_ERROR REPORT
-#endif /* !__LRB__ */
-
-#if _WIN32||_WIN64
- #include <windows.h>
- #include <process.h>
-#else
- #include <pthread.h>
-#endif
-#if __linux__
-#include <sys/utsname.h> /* for uname */
-#include <errno.h> /* for use in LinuxKernelVersion() */
-#endif
-
-#include "harness_report.h"
-
-#if !HARNESS_NO_ASSERT
-#include "harness_assert.h"
-
-typedef void (*test_error_extra_t)(void);
-static test_error_extra_t ErrorExtraCall;
-//! Set additional handler to process failed assertions
-void SetHarnessErrorProcessing( test_error_extra_t extra_call ) {
- ErrorExtraCall = extra_call;
- // TODO: add tbb::set_assertion_handler(ReportError);
-}
-//! Reports errors issued by failed assertions
-void ReportError( const char* filename, int line, const char* expression, const char * message ) {
- REPORT_FATAL_ERROR("%s:%d, assertion %s: %s\n", filename, line, expression, message ? message : "failed" );
- if( ErrorExtraCall )
- (*ErrorExtraCall)();
-#if TBB_TERMINATE_ON_ASSERT
- TerminateProcess(GetCurrentProcess(), 1);
-#elif TBB_EXIT_ON_ASSERT
- exit(1);
-#else
- abort();
-#endif /* TBB_EXIT_ON_ASSERT */
-}
-//! Reports warnings issued by failed warning assertions
-void ReportWarning( const char* filename, int line, const char* expression, const char * message ) {
- REPORT("Warning: %s:%d, assertion %s: %s\n", filename, line, expression, message ? message : "failed" );
-}
-#else
-#define ASSERT(p,msg) ((void)0)
-#define ASSERT_WARNING(p,msg) ((void)0)
-#endif /* HARNESS_NO_ASSERT */
-
-#if !HARNESS_NO_PARSE_COMMAND_LINE
-//! Controls level of commentary.
-/** If true, makes the test print commentary. If false, test should print "done" and nothing more. */
-static bool Verbose;
-
-//! Minimum number of threads
-/** The default is 0, which is typically interpreted by tests as "run without TBB". */
-static int MinThread = 0;
-
-//! Maximum number of threads
-static int MaxThread = 2;
-
-//! Parse command line of the form "name [-v] [nthread]"
-/** Sets Verbose, MinThread, and MaxThread accordingly.
- The nthread argument can be a single number or a range of the form m:n.
- A single number m is interpreted as if written m:m.
- The numbers must be non-negative.
- Clients often treat the value 0 as "run sequentially." */
-static void ParseCommandLine( int argc, char* argv[] ) {
- int i = 1;
- if( i<argc ) {
- if( strcmp( argv[i], "-v" )==0 ) {
- Verbose = true;
- ++i;
- }
- }
- if( i<argc ) {
- char* endptr;
- MinThread = strtol( argv[i], &endptr, 0 );
- if( *endptr==':' )
- MaxThread = strtol( endptr+1, &endptr, 0 );
- else if( *endptr=='\0' )
- MaxThread = MinThread;
- if( *endptr!='\0' ) {
- REPORT_FATAL_ERROR("garbled nthread range\n");
- exit(1);
- }
- if( MinThread<0 ) {
- REPORT_FATAL_ERROR("nthread must be nonnegative\n");
- exit(1);
- }
- if( MaxThread<MinThread ) {
- REPORT_FATAL_ERROR("nthread range is backwards\n");
- exit(1);
- }
- ++i;
- }
-#if __TBB_STDARGS_BROKEN
- if ( !argc )
- argc = 1;
- else {
- while ( i < argc && argv[i][0] == 0 )
- ++i;
- }
-#endif /* __TBB_STDARGS_BROKEN */
- if( i!=argc ) {
- REPORT_FATAL_ERROR("Usage: %s [-v] [nthread|minthread:maxthread]\n", argv[0] );
- exit(1);
- }
-}
-#endif /* HARNESS_NO_PARSE_COMMAND_LINE */
-
-//! Base class for prohibiting compiler-generated operator=
-class NoAssign {
- //! Assignment not allowed
- void operator=( const NoAssign& );
-public:
-#if __GNUC__
- //! Explicitly define default construction, because otherwise gcc issues gratuitous warning.
- NoAssign() {}
-#endif /* __GNUC__ */
-};
-
-//! Base class for prohibiting compiler-generated copy constructor or operator=
-class NoCopy: NoAssign {
- //! Copy construction not allowed
- NoCopy( const NoCopy& );
-public:
- NoCopy() {}
-};
-
-//! For internal use by template function NativeParallelFor
-template<typename Index, typename Body>
-class NativeParallelForTask: NoCopy {
-public:
- NativeParallelForTask( Index index_, const Body& body_ ) :
- index(index_),
- body(body_)
- {}
-
- //! Start task
- void start() {
-#if _WIN32||_WIN64
- unsigned thread_id;
- thread_handle = (HANDLE)_beginthreadex( NULL, 0, thread_function, this, 0, &thread_id );
- ASSERT( thread_handle!=0, "NativeParallelFor: _beginthreadex failed" );
-#else
-#if __ICC==1100
- #pragma warning (push)
- #pragma warning (disable: 2193)
-#endif /* __ICC==1100 */
- // Some machines may have very large hard stack limit. When the test is
- // launched by make, the default stack size is set to the hard limit, and
- // calls to pthread_create fail with out-of-memory error.
- // Therefore we set the stack size explicitly (as for TBB worker threads).
- const size_t MByte = 1<<20;
-#if __i386__||__i386
- const size_t stack_size = 1*MByte;
-#elif __x86_64__
- const size_t stack_size = 2*MByte;
-#else
- const size_t stack_size = 4*MByte;
-#endif
- pthread_attr_t attr_stack;
- int status = pthread_attr_init(&attr_stack);
- ASSERT(0==status, "NativeParallelFor: pthread_attr_init failed");
- status = pthread_attr_setstacksize( &attr_stack, stack_size );
- ASSERT(0==status, "NativeParallelFor: pthread_attr_setstacksize failed");
- status = pthread_create(&thread_id, &attr_stack, thread_function, this);
- ASSERT(0==status, "NativeParallelFor: pthread_create failed");
- pthread_attr_destroy(&attr_stack);
-#if __ICC==1100
- #pragma warning (pop)
-#endif
-#endif /* _WIN32||_WIN64 */
- }
-
- //! Wait for task to finish
- void wait_to_finish() {
-#if _WIN32||_WIN64
- DWORD status = WaitForSingleObject( thread_handle, INFINITE );
- ASSERT( status!=WAIT_FAILED, "WaitForSingleObject failed" );
- CloseHandle( thread_handle );
-#else
- int status = pthread_join( thread_id, NULL );
- ASSERT( !status, "pthread_join failed" );
-#endif
- }
-
-private:
-#if _WIN32||_WIN64
- HANDLE thread_handle;
-#else
- pthread_t thread_id;
-#endif
-
- //! Range over which task will invoke the body.
- const Index index;
-
- //! Body to invoke over the range.
- const Body body;
-
-#if _WIN32||_WIN64
- static unsigned __stdcall thread_function( void* object )
-#else
- static void* thread_function(void* object)
-#endif
- {
- NativeParallelForTask& self = *static_cast<NativeParallelForTask*>(object);
-#if defined(__EXCEPTIONS) || defined(_CPPUNWIND) || defined(__SUNPRO_CC)
- try {
- (self.body)(self.index);
- } catch(...) {
- ASSERT( false, "uncaught exception" );
- }
-#else
- (self.body)(self.index);
-#endif// exceptions are enabled
- return 0;
- }
-};
-
-//! Execute body(i) in parallel for i in the interval [0,n).
-/** Each iteration is performed by a separate thread. */
-template<typename Index, typename Body>
-void NativeParallelFor( Index n, const Body& body ) {
- typedef NativeParallelForTask<Index,Body> task;
-
- if( n>0 ) {
- // Allocate array to hold the tasks
- task* array = static_cast<task*>(operator new( n*sizeof(task) ));
-
- // Construct the tasks
- for( Index i=0; i!=n; ++i )
- new( &array[i] ) task(i,body);
-
- // Start the tasks
- for( Index i=0; i!=n; ++i )
- array[i].start();
-
- // Wait for the tasks to finish and destroy each one.
- for( Index i=n; i; --i ) {
- array[i-1].wait_to_finish();
- array[i-1].~task();
- }
-
- // Deallocate the task array
- operator delete(array);
- }
-}
-
-//! The function to zero-initialize arrays; useful to avoid warnings
-template <typename T>
-void zero_fill(void* array, size_t N) {
- memset(array, 0, sizeof(T)*N);
-}
-
-#ifndef min
- //! Utility template function returning lesser of the two values.
- /** Provided here to avoid including not strict safe <algorithm>.\n
- In case operands cause signed/unsigned or size mismatch warnings it is caller's
- responsibility to do the appropriate cast before calling the function. **/
- template<typename T1, typename T2>
- T1 min ( const T1& val1, const T2& val2 ) {
- return val1 < val2 ? val1 : val2;
- }
-#endif /* !min */
-
-#ifndef max
- //! Utility template function returning greater of the two values. Provided here to avoid including not strict safe <algorithm>.
- /** Provided here to avoid including not strict safe <algorithm>.\n
- In case operands cause signed/unsigned or size mismatch warnings it is caller's
- responsibility to do the appropriate cast before calling the function. **/
- template<typename T1, typename T2>
- T1 max ( const T1& val1, const T2& val2 ) {
- return val1 < val2 ? val2 : val1;
- }
-#endif /* !max */
-
-#if __linux__
-inline unsigned LinuxKernelVersion()
-{
- unsigned a, b, c;
- struct utsname utsnameBuf;
-
- if (-1 == uname(&utsnameBuf)) {
- REPORT_FATAL_ERROR("Can't call uname: errno %d\n", errno);
- exit(1);
- }
- if (3 != sscanf(utsnameBuf.release, "%u.%u.%u", &a, &b, &c)) {
- REPORT_FATAL_ERROR("Unable to parse OS release '%s'\n", utsnameBuf.release);
- exit(1);
- }
- return 1000000*a+1000*b+c;
-}
-#endif
-
-namespace Harness {
-
-#if !HARNESS_NO_ASSERT
-//! Base class that asserts that no operations are made with the object after its destruction.
-class NoAfterlife {
-protected:
- enum state_t {
- LIVE=0x56781234,
- DEAD=0xDEADBEEF
- } m_state;
-
-public:
- NoAfterlife() : m_state(LIVE) {}
- NoAfterlife( const NoAfterlife& src ) : m_state(LIVE) {
- ASSERT( src.IsLive(), "Constructing from the dead source" );
- }
- ~NoAfterlife() {
- ASSERT( IsLive(), "Repeated destructor call" );
- m_state = DEAD;
- }
- const NoAfterlife& operator=( const NoAfterlife& src ) {
- ASSERT( IsLive(), NULL );
- ASSERT( src.IsLive(), NULL );
- return *this;
- }
- void AssertLive() const {
- ASSERT( IsLive(), "Already dead" );
- }
- bool IsLive() const {
- return m_state == LIVE;
- }
-}; // NoAfterlife
-#endif /* !HARNESS_NO_ASSERT */
-
-#if _WIN32 || _WIN64
- void Sleep ( int ms ) { ::Sleep(ms); }
-#else /* !WIN */
- void Sleep ( int ms ) {
- timespec requested = { ms / 1000, (ms % 1000)*1000000 };
- timespec remaining = {0};
- nanosleep(&requested, &remaining);
- }
-#endif /* !WIN */
-
-} // namespace Harness
-
-#endif /* tbb_tests_harness_H */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Declarations for simple estimate of the memory being used by a program.
-// Not yet implemented for Mac.
-// This header is an optional part of the test harness.
-// It assumes that "harness_assert.h" has already been included.
-
-#if __linux__
-#include <unistd.h>
-#elif __APPLE__ || __sun
-#include <unistd.h>
-#elif _WIN32
-#include <windows.h>
-#endif
-#include <new>
-#include <stdexcept>
-#include <tbb/atomic.h>
-
-#if __SUNPRO_CC
-using std::printf;
-#endif
-
-#if defined(_MSC_VER) && defined(_Wp64)
- // Workaround for overzealous compiler warnings in /Wp64 mode
- #pragma warning (push)
- #pragma warning (disable: 4267)
-#endif
-
-
-template <typename base_alloc_t, typename count_t = tbb::atomic<size_t> >
-class static_counting_allocator : public base_alloc_t
-{
-public:
- typedef typename base_alloc_t::pointer pointer;
- typedef typename base_alloc_t::const_pointer const_pointer;
- typedef typename base_alloc_t::reference reference;
- typedef typename base_alloc_t::const_reference const_reference;
- typedef typename base_alloc_t::value_type value_type;
- typedef typename base_alloc_t::size_type size_type;
- typedef typename base_alloc_t::difference_type difference_type;
- template<typename U> struct rebind {
- typedef static_counting_allocator<typename base_alloc_t::template rebind<U>::other,count_t> other;
- };
-
- static size_t max_items;
- static count_t items_allocated;
- static count_t items_freed;
- static count_t allocations;
- static count_t frees;
- static bool verbose, throwing;
-
- static_counting_allocator() throw() { }
-
- static_counting_allocator(const static_counting_allocator&) throw() { }
-
- template<typename U, typename C>
- static_counting_allocator(const static_counting_allocator<U, C>&) throw() { }
-
- bool operator==(const static_counting_allocator &a) const
- { return true; }
-
- pointer allocate(const size_type n)
- {
- if(verbose) printf("\t+%d|", int(n));
- if(max_items && items_allocated + n >= max_items) {
- if(verbose) printf("items limit hits!");
- if(throwing) throw std::bad_alloc();
- return NULL;
- }
- allocations++;
- items_allocated += n;
- return base_alloc_t::allocate(n, pointer(0));
- }
-
- pointer allocate(const size_type n, const void * const)
- { return allocate(n); }
-
- void deallocate(const pointer ptr, const size_type n)
- {
- if(verbose) printf("\t-%d|", int(n));
- frees++;
- items_freed += n;
- base_alloc_t::deallocate(ptr, n);
- }
-
- static void init_counters(bool v = false) {
- verbose = v;
- if(verbose) printf("\n------------------------------------------- Allocations:\n");
- items_allocated = 0;
- items_freed = 0;
- allocations = 0;
- frees = 0;
- max_items = 0;
- }
-
- static void set_limits(size_type max = 0, bool do_throw = true) {
- max_items = max;
- throwing = do_throw;
- }
-};
-
-template <typename base_alloc_t, typename count_t>
-size_t static_counting_allocator<base_alloc_t, count_t>::max_items;
-template <typename base_alloc_t, typename count_t>
-count_t static_counting_allocator<base_alloc_t, count_t>::items_allocated;
-template <typename base_alloc_t, typename count_t>
-count_t static_counting_allocator<base_alloc_t, count_t>::items_freed;
-template <typename base_alloc_t, typename count_t>
-count_t static_counting_allocator<base_alloc_t, count_t>::allocations;
-template <typename base_alloc_t, typename count_t>
-count_t static_counting_allocator<base_alloc_t, count_t>::frees;
-template <typename base_alloc_t, typename count_t>
-bool static_counting_allocator<base_alloc_t, count_t>::verbose;
-template <typename base_alloc_t, typename count_t>
-bool static_counting_allocator<base_alloc_t, count_t>::throwing;
-
-template <typename base_alloc_t, typename count_t = tbb::atomic<size_t> >
-class local_counting_allocator : public base_alloc_t
-{
-public:
- typedef typename base_alloc_t::pointer pointer;
- typedef typename base_alloc_t::const_pointer const_pointer;
- typedef typename base_alloc_t::reference reference;
- typedef typename base_alloc_t::const_reference const_reference;
- typedef typename base_alloc_t::value_type value_type;
- typedef typename base_alloc_t::size_type size_type;
- typedef typename base_alloc_t::difference_type difference_type;
- template<typename U> struct rebind {
- typedef local_counting_allocator<typename base_alloc_t::template rebind<U>::other,count_t> other;
- };
-
- count_t items_allocated;
- count_t items_freed;
- count_t allocations;
- count_t frees;
- size_t max_items;
-
- local_counting_allocator() throw() {
- items_allocated = 0;
- items_freed = 0;
- allocations = 0;
- frees = 0;
- max_items = 0;
- }
-
- local_counting_allocator(const local_counting_allocator &a) throw()
- : items_allocated(a.items_allocated)
- , items_freed(a.items_freed)
- , allocations(a.allocations)
- , frees(a.frees)
- , max_items(a.max_items)
- { }
-
- template<typename U, typename C>
- local_counting_allocator(const static_counting_allocator<U,C> &) throw() {
- items_allocated = static_counting_allocator<U,C>::items_allocated;
- items_freed = static_counting_allocator<U,C>::items_freed;
- allocations = static_counting_allocator<U,C>::allocations;
- frees = static_counting_allocator<U,C>::frees;
- max_items = static_counting_allocator<U,C>::max_items;
- }
-
- template<typename U, typename C>
- local_counting_allocator(const local_counting_allocator<U,C> &a) throw()
- : items_allocated(a.items_allocated)
- , items_freed(a.items_freed)
- , allocations(a.allocations)
- , frees(a.frees)
- , max_items(a.max_items)
- { }
-
- bool operator==(const local_counting_allocator &a) const
- { return &a == this; }
-
- pointer allocate(const size_type n)
- {
- if(max_items && items_allocated + n >= max_items)
- throw std::bad_alloc();
- ++allocations;
- items_allocated += n;
- return base_alloc_t::allocate(n, pointer(0));
- }
-
- pointer allocate(const size_type n, const void * const)
- { return allocate(n); }
-
- void deallocate(const pointer ptr, const size_type n)
- {
- ++frees;
- items_freed += n;
- base_alloc_t::deallocate(ptr, n);
- }
-
- void set_limits(size_type max = 0) {
- max_items = max;
- }
-};
-
-template <typename T, template<typename X> class Allocator = std::allocator>
-class debug_allocator : public Allocator<T>
-{
-public:
- typedef Allocator<T> base_allocator_type;
- typedef typename base_allocator_type::value_type value_type;
- typedef typename base_allocator_type::pointer pointer;
- typedef typename base_allocator_type::const_pointer const_pointer;
- typedef typename base_allocator_type::reference reference;
- typedef typename base_allocator_type::const_reference const_reference;
- typedef typename base_allocator_type::size_type size_type;
- typedef typename base_allocator_type::difference_type difference_type;
- template<typename U> struct rebind {
- typedef debug_allocator<U, Allocator> other;
- };
-
- debug_allocator() throw() { }
- debug_allocator(const debug_allocator &a) throw() : base_allocator_type( a ) { }
- template<typename U>
- debug_allocator(const debug_allocator<U> &a) throw() : base_allocator_type( Allocator<U>( a ) ) { }
-
- pointer allocate(const size_type n, const void *hint = 0 ) {
- pointer ptr = base_allocator_type::allocate( n, hint );
- std::memset( ptr, 0xE3E3E3E3, n * sizeof(value_type) );
- return ptr;
- }
-};
-
-//! Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
-/** @ingroup memory_allocation */
-template<template<typename T> class Allocator>
-class debug_allocator<void, Allocator> : public Allocator<void> {
-public:
- typedef Allocator<void> base_allocator_type;
- typedef typename base_allocator_type::value_type value_type;
- typedef typename base_allocator_type::pointer pointer;
- typedef typename base_allocator_type::const_pointer const_pointer;
- template<typename U> struct rebind {
- typedef debug_allocator<U, Allocator> other;
- };
-};
-
-template<typename T1, template<typename X1> class B1, typename T2, template<typename X2> class B2>
-inline bool operator==( const debug_allocator<T1,B1> &a, const debug_allocator<T2,B2> &b) {
- return static_cast< B1<T1> >(a) == static_cast< B2<T2> >(b);
-}
-template<typename T1, template<typename X1> class B1, typename T2, template<typename X2> class B2>
-inline bool operator!=( const debug_allocator<T1,B1> &a, const debug_allocator<T2,B2> &b) {
- return static_cast< B1<T1> >(a) != static_cast< B2<T2> >(b);
-}
-
-#if defined(_MSC_VER) && defined(_Wp64)
- // Workaround for overzealous compiler warnings in /Wp64 mode
- #pragma warning (pop)
-#endif // warning 4267 is back
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Just the assertion portion of the harness.
-// This is useful for writing portions of tests that include
-// the minimal number of necessary header files.
-//
-// The full "harness.h" must be included later.
-
-#ifndef harness_assert_H
-#define harness_assert_H
-
-void ReportError( const char* filename, int line, const char* expression, const char* message);
-void ReportWarning( const char* filename, int line, const char* expression, const char* message);
-
-#define ASSERT(p,message) ((p)?(void)0:ReportError(__FILE__,__LINE__,#p,message))
-#define ASSERT_WARNING(p,message) ((p)?(void)0:ReportWarning(__FILE__,__LINE__,#p,message))
-
-//! Compile-time error if x and y have different types
-template<typename T>
-void AssertSameType( const T& /*x*/, const T& /*y*/ ) {}
-
-#endif /* harness_assert_H */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Declarations for checking __TBB_ASSERT checks inside TBB.
-// This header is an optional part of the test harness.
-// It assumes that "harness.h" has already been included.
-
-//! Check that expression x raises assertion failure with message containing given substring.
-/** Assumes that tbb::set_assertion_handler( AssertionFailureHandler ) was called earlier. */
-#define TRY_BAD_EXPR(x,substr) \
- { \
- const char* message = NULL; \
- bool okay = false; \
- try { \
- x; \
- } catch( AssertionFailure a ) { \
- okay = true; \
- message = a.message; \
- } \
- CheckAssertionFailure(__LINE__,#x,okay,message,substr); \
- }
-
-//! Exception object that holds a message.
-struct AssertionFailure {
- const char* message;
- AssertionFailure( const char* filename, int line, const char* expression, const char* comment );
-};
-
-AssertionFailure::AssertionFailure( const char* filename, int line, const char* expression, const char* comment ) :
- message(comment)
-{
- ASSERT(filename,"missing filename");
- ASSERT(0<line,"line number must be positive");
- // All of our current files have fewer than 4000 lines.
- ASSERT(line<5000,"dubiously high line number");
- ASSERT(expression,"missing expression");
-}
-
-void AssertionFailureHandler( const char* filename, int line, const char* expression, const char* comment ) {
- throw AssertionFailure(filename,line,expression,comment);
-}
-
-void CheckAssertionFailure( int line, const char* expression, bool okay, const char* message, const char* substr ) {
- if( !okay ) {
- REPORT("Line %d, %s failed to fail\n", line, expression );
- abort();
- } else if( !message ) {
- REPORT("Line %d, %s failed without a message\n", line, expression );
- abort();
- } else if( strstr(message,substr)==0 ) {
- REPORT("Line %d, %s failed with message '%s' missing substring '%s'\n", __LINE__, expression, message, substr );
- abort();
- }
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/atomic.h"
-
-#ifndef harness_barrier_H
-#define harness_barrier_H
-
-namespace Harness {
-
-class SpinBarrier
-{
- unsigned numThreads;
- tbb::atomic<unsigned> numThreadsFinished; /* threads reached barrier in this epoch */
- tbb::atomic<unsigned> epoch; /* how many times this barrier used - XXX move to a separate cache line */
-
- struct DummyCallback {
- void operator() () const {}
- };
-
- SpinBarrier( const SpinBarrier& ); // no copy ctor
- void operator=( const SpinBarrier& ); // no assignment
-public:
- SpinBarrier( unsigned nthreads = 0 ) { initialize(nthreads); };
-
- void initialize( unsigned nthreads ) {
- numThreads = nthreads;
- numThreadsFinished = 0;
- epoch = 0;
- };
-
- // onOpenBarrierCallback is called by last thread arrived on a barrier
- template<typename Callback>
- bool wait(const Callback &onOpenBarrierCallback)
- { // return true if last thread
- unsigned myEpoch = epoch;
- int threadsLeft = numThreads - numThreadsFinished.fetch_and_increment() - 1;
- ASSERT(threadsLeft>=0, "Broken barrier");
- if (threadsLeft > 0) {
- /* not the last threading reaching barrier, wait until epoch changes & return 0 */
- tbb::internal::spin_wait_while_eq(epoch, myEpoch);
- return false;
- }
- /* No more threads left to enter, so I'm the last one reaching this epoch;
- reset the barrier, increment epoch, and return non-zero */
- onOpenBarrierCallback();
- numThreadsFinished = 0;
- epoch = myEpoch+1; /* wakes up threads waiting to exit this epoch */
- return true;
- }
- bool wait()
- {
- return wait(DummyCallback());
- }
-};
-
-}
-
-#endif //harness_barrier_H
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef tbb_tests_harness_concurrency_tracker_H
-#define tbb_tests_harness_concurrency_tracker_H
-
-#include "harness.h"
-#include "tbb/atomic.h"
-#include "../tbb/tls.h"
-
-namespace Harness {
-
-static tbb::atomic<unsigned> ctInstantParallelism;
-static tbb::atomic<unsigned> ctPeakParallelism;
-static tbb::internal::tls<uintptr_t> ctNested;
-
-class ConcurrencyTracker {
- bool m_Outer;
-
- static void Started () {
- unsigned p = ++ctInstantParallelism;
- unsigned q = ctPeakParallelism;
- while( q<p ) {
- q = ctPeakParallelism.compare_and_swap(p,q);
- }
- }
-
- static void Stopped () {
- ASSERT ( ctInstantParallelism > 0, "Mismatched call to ConcurrencyTracker::Stopped()" );
- --ctInstantParallelism;
- }
-public:
- ConcurrencyTracker() : m_Outer(false) {
- uintptr_t nested = ctNested;
- ASSERT (nested == 0 || nested == 1, NULL);
- if ( !ctNested ) {
- Started();
- m_Outer = true;
- ctNested = 1;
- }
- }
- ~ConcurrencyTracker() {
- if ( m_Outer ) {
- Stopped();
- ctNested = 0;
- }
- }
-
- static unsigned PeakParallelism() { return ctPeakParallelism; }
- static unsigned InstantParallelism() { return ctInstantParallelism; }
-
- static void Reset() {
- ASSERT (ctInstantParallelism == 0, "Reset cannot be called when concurrency tracking is underway");
- ctInstantParallelism = ctPeakParallelism = 0;
- }
-}; // ConcurrencyTracker
-
-} // namespace Harness
-
-#endif /* tbb_tests_harness_concurrency_tracker_H */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Declarations for simple estimate of CPU time being used by a program.
-// This header is an optional part of the test harness.
-// It assumes that "harness_assert.h" has already been included.
-
-#if _WIN32
-#include <windows.h>
-#else
-#include <sys/time.h>
-#include <sys/resource.h>
-#endif
-
-//! Return time (in seconds) spent by the current process in user mode.
-/* Returns 0 if not implemented on platform. */
-static double GetCPUUserTime() {
-#if _WIN32
- FILETIME my_times[4];
- bool status = GetProcessTimes(GetCurrentProcess(), my_times, my_times+1, my_times+2, my_times+3)!=0;
- ASSERT( status, NULL );
- LARGE_INTEGER usrtime;
- usrtime.LowPart = my_times[3].dwLowDateTime;
- usrtime.HighPart = my_times[3].dwHighDateTime;
- return double(usrtime.QuadPart)*1E-7;
-#else
- // Generic UNIX, including __APPLE__
-
- // On Linux, there is no good way to get CPU usage info for the current process:
- // getrusage(RUSAGE_SELF, ...) that is used now only returns info for the calling thread;
- // getrusage(RUSAGE_CHILDREN, ...) only counts for finished children threads;
- // tms_utime and tms_cutime got with times(struct tms*) are equivalent to the above items;
- // finally, /proc/self/task/<task_id>/stat doesn't exist on older kernels
- // and it isn't quite convenient to read it for every task_id.
-
- struct rusage resources;
- bool status = getrusage(RUSAGE_SELF, &resources)==0;
- ASSERT( status, NULL );
- return (double(resources.ru_utime.tv_sec)*1E6 + double(resources.ru_utime.tv_usec))*1E-6;
-#endif
-}
-
-#include "tbb/tick_count.h"
-#include <cstdio>
-
-// The resolution of GetCPUUserTime is 10-15 ms or so; waittime should be a few times bigger.
-const double WAITTIME = 0.1; // in seconds, i.e. 100 ms
-const double THRESHOLD = WAITTIME/100;
-
-static void TestCPUUserTime( int nthreads, int nactive = 1 ) {
- // The test will always pass on Linux; read the comments in GetCPUUserTime for details
- // Also it will not detect spinning issues on systems with only one processing core.
-
- static double minimal_waittime = WAITTIME;
- int nworkers = nthreads-nactive;
- if( !nworkers ) return;
-
- double usrtime;
- double lastusrtime = GetCPUUserTime();
- while( (usrtime=GetCPUUserTime())-lastusrtime < THRESHOLD )
- ; // wait for GetCPUUserTime update
- lastusrtime = usrtime;
-
- // Test that all workers sleep when no work.
- double waittime;
- tbb::tick_count stamp = tbb::tick_count::now();
- while( ((waittime=(tbb::tick_count::now()-stamp).seconds()) < minimal_waittime)
- || ((usrtime=GetCPUUserTime()-lastusrtime) < THRESHOLD) )
- ; // Wait for workers to go sleep
-
- while( nactive>1 && usrtime-nactive*waittime<0 ) {
- // probably the number of active threads was mispredicted
- --nactive; ++nworkers;
- }
- double avg_worker_usrtime = (usrtime-nactive*waittime)/nworkers;
-
- if( avg_worker_usrtime > waittime/2 )
- REPORT( "ERROR: %d worker threads are spinning; waittime: %g; usrtime: %g; avg worker usrtime: %g\n",
- nworkers, waittime, usrtime, avg_worker_usrtime);
- else if( Verbose )
- REPORT("%d worker threads; waittime: %g; usrtime: %g; avg worker usrtime: %g\n",
- nworkers, waittime, usrtime, avg_worker_usrtime);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <typeinfo>
-#include "tbb/atomic.h"
-#include "harness.h"
-#include "harness_concurrency_tracker.h"
-
-namespace Harness {
-#if _WIN32 || _WIN64
- typedef DWORD tid_t;
- tid_t CurrentTid () { return GetCurrentThreadId(); }
-#else /* !WIN */
- typedef pthread_t tid_t;
- tid_t CurrentTid () { return pthread_self(); }
-#endif /* !WIN */
-} // namespace util
-
-int g_NumThreads = 0;
-Harness::tid_t g_Master = 0;
-
-class test_exception : public std::exception {
- const char* my_description;
-public:
- test_exception ( const char* description ) : my_description(description) {}
-
- const char* what() const throw() { return my_description; }
-};
-
-class solitary_test_exception : public test_exception {
-public:
- solitary_test_exception ( const char* description ) : test_exception(description) {}
-};
-
-#if TBB_USE_CAPTURED_EXCEPTION
- typedef tbb::captured_exception PropagatedException;
- #define EXCEPTION_NAME(e) e.name()
-#else
- typedef test_exception PropagatedException;
- #define EXCEPTION_NAME(e) typeid(e).name()
-#endif
-
-#define EXCEPTION_DESCR "Test exception"
-
-tbb::atomic<intptr_t> g_CurExecuted,
- g_ExecutedAtCatch;
-volatile intptr_t g_ExceptionThrown = 0;
-volatile bool g_ExceptionCaught = false,
- g_UnknownException = false;
-
-volatile bool g_ThrowException = true,
- g_Flog = false;
-
-bool g_ExceptionInMaster = false;
-bool g_SolitaryException = false;
-
-tbb::atomic<intptr_t> g_Exceptions; // number of exceptions propagated into the user users (i.e. intercepted by the tests)
-
-inline void ResetEhGlobals ( bool throwException = true, bool flog = false ) {
- Harness::ConcurrencyTracker::Reset();
- g_CurExecuted = g_ExecutedAtCatch = 0;
- g_ExceptionCaught = false;
- g_UnknownException = false;
- g_ThrowException = throwException;
- g_Flog = flog;
- g_ExceptionThrown = 0;
- g_Exceptions = 0;
-}
-
-#if HARNESS_EH_SIMPLE_MODE
-
-static void ThrowTestException () {
- g_ExceptionThrown = 1;
- throw test_exception(EXCEPTION_DESCR);
-}
-
-#else /* !HARNESS_EH_SIMPLE_MODE */
-
-static void ThrowTestException ( intptr_t threshold ) {
- if ( !g_ThrowException || (!g_Flog && (g_ExceptionInMaster ^ (Harness::CurrentTid() == g_Master))) )
- return;
- while ( Existed() < threshold )
- __TBB_Yield();
- if ( !g_SolitaryException ) {
- g_ExceptionThrown = 1;
- REMARK ("About to throw one of multiple test_exceptions (thread %08x):", Harness::CurrentTid());
- throw test_exception(EXCEPTION_DESCR);
- }
- if ( __TBB_CompareAndSwapW(&g_ExceptionThrown, 1, 0) == 0 ) {
- REMARK ("About to throw solitary test_exception... :");
- throw solitary_test_exception(EXCEPTION_DESCR);
- }
-}
-#endif /* !HARNESS_EH_SIMPLE_MODE */
-
-#define TRY() \
- bool exceptionCaught = false, unknownException = false; \
- try {
-
-#define CATCH() \
- } catch ( PropagatedException& e ) { \
- g_ExecutedAtCatch = g_CurExecuted; \
- ASSERT (strcmp(EXCEPTION_NAME(e), (g_SolitaryException ? typeid(solitary_test_exception) : typeid(test_exception)).name() ) == 0, "Unexpected original exception name"); \
- ASSERT (strcmp(e.what(), EXCEPTION_DESCR) == 0, "Unexpected original exception info"); \
- g_ExceptionCaught = exceptionCaught = true; \
- ++g_Exceptions; \
- } catch ( ... ) { \
- g_ExceptionCaught = exceptionCaught = true; \
- g_UnknownException = unknownException = true; \
- }
-
-#define ASSERT_EXCEPTION() \
- ASSERT (g_ExceptionThrown ? g_ExceptionCaught : !g_ExceptionCaught, "throw without catch or catch without throw"); \
- ASSERT (g_ExceptionCaught, "no exception occurred"); \
- ASSERT (!g_UnknownException, "unknown exception was caught")
-
-#define CATCH_AND_ASSERT() \
- CATCH() \
- ASSERT_EXCEPTION()
-
-const int c_Timeout = 10000;
-
-void WaitUntilConcurrencyPeaks () {
- if ( g_Flog )
- return;
- int n = 0;
- while ( ++n < c_Timeout && (int)Harness::ConcurrencyTracker::InstantParallelism() < g_NumThreads )
- __TBB_Yield();
-}
-
-inline bool IsMaster() {
- return Harness::CurrentTid() == g_Master;
-}
-
-inline bool IsThrowingThread() {
- return g_ExceptionInMaster ^ IsMaster() ? true : false;
-}
-
-class CancellatorTask : public tbb::task {
- static volatile bool s_Ready;
- tbb::task_group_context &m_groupToCancel;
- intptr_t m_cancellationThreshold;
-
- tbb::task* execute () {
- s_Ready = true;
- while ( g_CurExecuted < m_cancellationThreshold )
- __TBB_Yield();
- m_groupToCancel.cancel_group_execution();
- g_ExecutedAtCatch = g_CurExecuted;
- return NULL;
- }
-public:
- CancellatorTask ( tbb::task_group_context& ctx, intptr_t threshold )
- : m_groupToCancel(ctx), m_cancellationThreshold(threshold)
- {
- s_Ready = false;
- }
-
- static void Reset () { s_Ready = false; }
-
- static void WaitUntilReady () {
- do {
- __TBB_Yield();
- } while( !s_Ready );
- }
-};
-
-volatile bool CancellatorTask::s_Ready = false;
-
-template<class LauncherTaskT, class CancellatorTaskT>
-void RunCancellationTest ( intptr_t threshold = 1 )
-{
- tbb::task_group_context ctx;
- tbb::empty_task &r = *new( tbb::task::allocate_root(ctx) ) tbb::empty_task;
- r.set_ref_count(3);
- r.spawn( *new( r.allocate_child() ) CancellatorTaskT(ctx, threshold) );
- __TBB_Yield();
- r.spawn( *new( r.allocate_child() ) LauncherTaskT(ctx) );
- TRY();
- r.wait_for_all();
- CATCH();
- r.destroy(r);
- ASSERT (!g_ExceptionCaught && !exceptionCaught, "Cancelling tasks should not cause any exceptions");
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef harness_iterator_H
-#define harness_iterator_H
-
-#include <iterator>
-#include <memory>
-
-namespace Harness {
-
-template <class T>
-class InputIterator {
- T * my_ptr;
-public:
- typedef std::input_iterator_tag iterator_category;
- typedef T value_type;
- typedef typename std::allocator<T>::difference_type difference_type;
- typedef typename std::allocator<T>::pointer pointer;
- typedef typename std::allocator<T>::reference reference;
-
- explicit InputIterator( T * ptr): my_ptr(ptr){}
-
- T& operator* () { return *my_ptr; }
-
- InputIterator& operator++ () { ++my_ptr; return *this; }
-
- bool operator== ( const InputIterator& r ) { return my_ptr == r.my_ptr; }
-};
-
-template <class T>
-class ForwardIterator {
- T * my_ptr;
-public:
- typedef std::forward_iterator_tag iterator_category;
- typedef T value_type;
- typedef typename std::allocator<T>::difference_type difference_type;
- typedef typename std::allocator<T>::pointer pointer;
- typedef typename std::allocator<T>::reference reference;
-
- explicit ForwardIterator ( T * ptr ) : my_ptr(ptr){}
-
- ForwardIterator ( const ForwardIterator& r ) : my_ptr(r.my_ptr){}
-
- T& operator* () { return *my_ptr; }
-
- ForwardIterator& operator++ () { ++my_ptr; return *this; }
-
- bool operator== ( const ForwardIterator& r ) { return my_ptr == r.my_ptr; }
-};
-
-template <class T>
-class RandomIterator {
- T * my_ptr;
-public:
- typedef std::random_access_iterator_tag iterator_category;
- typedef T value_type;
- typedef typename std::allocator<T>::difference_type difference_type;
- typedef typename std::allocator<T>::pointer pointer;
- typedef typename std::allocator<T>::reference reference;
-
- explicit RandomIterator ( T * ptr ) : my_ptr(ptr){}
- RandomIterator ( const RandomIterator& r ) : my_ptr(r.my_ptr){}
- T& operator* () { return *my_ptr; }
- RandomIterator& operator++ () { ++my_ptr; return *this; }
- bool operator== ( const RandomIterator& r ) { return my_ptr == r.my_ptr; }
- difference_type operator- (const RandomIterator &r) {return my_ptr - r.my_ptr;}
- RandomIterator operator+ (difference_type n) {return RandomIterator(my_ptr + n);}
-};
-
-}
-
-#endif //harness_iterator_H
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef tbb_test_harness_lrb_H
-#define tbb_test_harness_lrb_H
-
-#if !(__LRB__||__TBB_LRB_HOST)
- #error test/harness_lrb.h should be included only when building for LRB platform
-#endif
-
-#define __TBB_LRB_COMM_MSG_SIZE_MAX 1024
-#define __TBB_LRB_COMMUNICATOR_NAME "__TBB_LRB_COMMUNICATOR"
-
-#define __TBB_MSG_DONE "done\n"
-#define __TBB_MSG_SKIP "skip\n"
-#define __TBB_MSG_ABORT "__TBB_abort__"
-
-#if __TBB_LRB_HOST
-
-#include "host/XN0_host.h"
-
-#else /* !__TBB_LRB_HOST */
-
-#include "lrb/XN0_lrb.h"
-#include <assert.h>
-
-#define __TBB_STDARGS_BROKEN 1
-#define __TBB_TEST_EXPORT XNNATIVELIBEXPORT
-
-#if XENSIM
- #define __TBB_EXCEPTION_HANDLING_BROKEN 1
- #define __TBB_PLACEMENT_NEW_EXCEPTION_SAFETY_BROKEN 1
- #define __TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN 1
-#endif /* XENSIM */
-
-namespace Harness {
- namespace internal {
-
- class LrbReporter {
- XNCOMMUNICATOR m_communicator;
-
- public:
- LrbReporter () {
- XNERROR res = XN0MessageCreateCommunicator( __TBB_LRB_COMMUNICATOR_NAME,
- __TBB_LRB_COMM_MSG_SIZE_MAX,
- &m_communicator );
- assert( XN_SUCCESS == res );
- }
-
- ~LrbReporter () {
- XN0MessageDestroyCommunicator( m_communicator );
- }
-
- void Report ( const char* msg ) {
- XN0MessageSend( m_communicator, msg, __TBB_LRB_COMM_MSG_SIZE_MAX );
- }
- }; // class LrbReporter
-
- } // namespace internal
-} // namespace Harness
-
-#define TbbHarnessReporter LrbReporter
-
-#define REPORT_FATAL_ERROR REPORT(__TBB_MSG_ABORT); REPORT
-
-#if XENSIM
- #define TBB_EXIT_ON_ASSERT 1
-#else
- #define TBB_TERMINATE_ON_ASSERT 1
-#endif
-
-// Suppress warnings caused by windows.h during NetSim build
-#pragma warning (disable: 4005)
-
-#endif /* !__TBB_LRB_HOST */
-
-#endif /* tbb_test_harness_lrb_H */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/** @file harness_lrb_host.cpp
- This is the launcher for TBB tests compiled for LrbFSim or NetSim environments.
-**/
-
-#include <windows.h>
-#include <stdio.h>
-#include <assert.h>
-
-#define __TBB_LRB_HOST 1
-#include "harness_lrb.h"
-
-#define __TBB_HOST_EXIT(status) exitStatus = status; goto hard_stop;
-
-bool IsSupportedTest ( int argc, char* argv[] ) {
- const char* test[] = {
- "test_model_plugin",
- "test_tbb_version",
- "malloc_overload",
- NULL
- };
- for ( size_t i = 0; test[i]; ++i ) {
- for ( size_t j = 1; j < argc; ++j ) {
- if ( strstr(argv[j], test[i]) )
- return false;
- }
- }
- return true;
-}
-
-bool IsCompletionMsg ( const char* msg ) {
- return strncmp(msg, __TBB_MSG_DONE, __TBB_LRB_COMM_MSG_SIZE_MAX) == 0 ||
- strncmp(msg, __TBB_MSG_SKIP, __TBB_LRB_COMM_MSG_SIZE_MAX) == 0;
-}
-
-int main( int argc, char* argv[] ) {
- int exitStatus = 0;
-
- if (argc < 2) {
- printf( "Usage: %s test_name test_args\n", argv[0] );
- __TBB_HOST_EXIT(-1);
- }
- if ( !IsSupportedTest(argc, argv) ) {
- printf(__TBB_MSG_SKIP);
- __TBB_HOST_EXIT(0);
- }
-
- XNENGINE engine;
- XNERROR result = XN0EngineGetHandle(0, &engine);
- assert( XN_SUCCESS == result );
-
- // Try with a run schedule of one second
- XN_RUN_SCHEDULE runSchedule;
- runSchedule.executionQuantumInUsecs = 500000;
- runSchedule.frequencyInHz = 1;
-
- XNCONTEXT ctxHandle;
- result = XN0ContextCreate(engine, &runSchedule, &ctxHandle);
- assert( XN_SUCCESS == result );
-
- XNCOMMUNICATOR communicator;
- result = XN0MessageCreateCommunicator( __TBB_LRB_COMMUNICATOR_NAME, __TBB_LRB_COMM_MSG_SIZE_MAX, &communicator );
- assert( XN_SUCCESS == result );
-
- XNLIBRARY libHandle;
- if ( argc == 2 )
- result = XN0ContextLoadLib(ctxHandle, argv[1], &libHandle);
- else
- result = XN0ContextLoadLib1(ctxHandle, argv[1], argc - 1, argv + 1, &libHandle);
- if( result != XN_SUCCESS ) {
- printf( "ERROR: Loading module \"%s\" failed", argv[1] );
- __TBB_HOST_EXIT(-2);
- }
-
- char msg[__TBB_LRB_COMM_MSG_SIZE_MAX + 1] = { 0 };
- bool abort_signalled = false;
- for( ; !IsCompletionMsg(msg); ) {
- XN0MessageReceive( communicator, msg, __TBB_LRB_COMM_MSG_SIZE_MAX, NULL );
- if ( strncmp(msg, __TBB_MSG_ABORT, __TBB_LRB_COMM_MSG_SIZE_MAX ) == 0 ) {
- abort_signalled = true;
- // The next message should provide the reason
- continue;
- }
- printf("%s\n", msg); fflush(stdout);
- if ( abort_signalled ) {
- // After exit() or abort() was invoked in a LRB library, it cannot be
- // unloaded, and the host hangs in XN0ContextDestroy. Thus we have to
- // bypass the graceful termination code.
- __TBB_HOST_EXIT(1);
- }
- }
- XN0MessageDestroyCommunicator( communicator );
-
- result = XN0ContextUnloadLib(libHandle, 10 * 1000, &exitStatus);
- if( result == XN_TIME_OUT_REACHED ) {
- printf("ERROR: timed out waiting for LRB module unload\n");
- }
- else {
- result = XN0ContextDestroy(ctxHandle);
- assert( XN_SUCCESS == result );
- }
- if ( exitStatus != 0 )
- printf("ERROR: %s returned failure status %d", argv[1], exitStatus);
-hard_stop:
- fflush(stdout);
- // We do not need a dump of memory leaks statistics
- TerminateProcess( GetCurrentProcess(), 0 );
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Header that sets HAVE_m128 if we have type __m128
-
-#if (__SSE__||_M_IX86) && !defined(__sun)
-#include <xmmintrin.h>
-#define HAVE_m128 1
-#endif /* __SSE__||_M_IX86 */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Declarations for simple estimate of the memory being used by a program.
-// Not yet implemented for Mac.
-// This header is an optional part of the test harness.
-// It assumes that "harness_assert.h" has already been included.
-
-#if __linux__ || __sun
-#include <sys/resource.h>
-#include <unistd.h>
-
-#elif __APPLE__
-#include <unistd.h>
-#include <mach/mach.h>
-#include <mach/shared_memory_server.h>
-#if SHARED_TEXT_REGION_SIZE || SHARED_DATA_REGION_SIZE
-const size_t shared_size = SHARED_TEXT_REGION_SIZE+SHARED_DATA_REGION_SIZE;
-#else
-const size_t shared_size = 0;
-#endif
-
-#elif _WIN32
-#include <windows.h>
-#include <psapi.h>
-#if _MSC_VER
-#pragma comment(lib, "psapi")
-#endif
-
-#endif /* OS selection */
-
-//! Return estimate of number of bytes of memory that this program is currently using.
-/* Returns 0 if not implemented on platform. */
-size_t GetMemoryUsage() {
-#if __linux__
- FILE* statsfile = fopen("/proc/self/statm","r");
- size_t pagesize = getpagesize();
- ASSERT(statsfile, NULL);
- long total_mem;
- int n = fscanf(statsfile,"%lu",&total_mem);
- if( n!=1 ) {
- REPORT("Warning: memory usage statistics wasn't obtained\n");
- return 0;
- }
- fclose(statsfile);
- return total_mem*pagesize;
-#elif __APPLE__
- kern_return_t status;
- task_basic_info info;
- mach_msg_type_number_t msg_type = TASK_BASIC_INFO_COUNT;
- status = task_info(mach_task_self(), TASK_BASIC_INFO, reinterpret_cast<task_info_t>(&info), &msg_type);
- ASSERT(status==KERN_SUCCESS, NULL);
- return info.virtual_size - shared_size;
-#elif _WIN32
- PROCESS_MEMORY_COUNTERS mem;
- bool status = GetProcessMemoryInfo(GetCurrentProcess(), &mem, sizeof(mem))!=0;
- ASSERT(status, NULL);
- return mem.PagefileUsage;
-#else
- return 0;
-#endif
-}
-
-//! Use approximately a specified amount of stack space.
-/** Recursion is used here instead of alloca because some implementations of alloca do not use the stack. */
-void UseStackSpace( size_t amount, char* top=0 ) {
- char x[1000];
- memset( x, -1, sizeof(x) );
- if( !top )
- top = x;
- ASSERT( x<=top, "test assumes that stacks grow downwards" );
- if( size_t(top-x)<amount )
- UseStackSpace( amount, top );
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Just the tracing portion of the harness.
-//
-// This header defines TRACE and TRCAENL macros, which use REPORT like syntax and
-// are useful for duplicating trace output to the standard debug output on Windows.
-// It is possible to add the ability of automatic extending messages with additional
-// info (file, line, function, time, thread ID, ...).
-//
-// Macros output nothing when test app runs in non-verbose mode (default).
-//
-// The full "harness.h" must be included before this header.
-
-#ifndef tbb_tests_harness_report_H
-#define tbb_tests_harness_report_H
-
-#if defined(MAX_TRACE_SIZE) && MAX_TRACE_SIZE < 1024
- #undef MAX_TRACE_SIZE
-#endif
-#ifndef MAX_TRACE_SIZE
- #define MAX_TRACE_SIZE 1024
-#endif
-
-#if __SUNPRO_CC
-#include <stdio.h>
-#else
-#include <cstdio>
-#endif
-
-#include <cstdarg>
-
-#if __LRB__
-#include "harness_lrb.h"
-#endif
-
-#if _MSC_VER
- #define snprintf _snprintf
-#if _MSC_VER<=1400
- #define vsnprintf _vsnprintf
-#endif
-#endif
-
-namespace Harness {
- namespace internal {
-
-#ifndef TbbHarnessReporter
- struct TbbHarnessReporter {
- void Report ( const char* msg ) {
- printf( "%s", msg );
- fflush(stdout);
-#ifdef _WINDOWS_
- OutputDebugStringA(msg);
-#endif
- }
- }; // struct TbbHarnessReporter
-#endif /* !TbbHarnessReporter */
-
- class Tracer {
- public:
- int m_flags;
- const char *m_file;
- const char *m_func;
- size_t m_line;
-
- TbbHarnessReporter m_reporter;
-
- enum {
- prefix = 1,
- need_lf = 2
- };
-
- Tracer* set_trace_info ( int flags, const char *file, size_t line, const char *func ) {
- m_flags = flags;
- m_line = line;
- m_file = file;
- m_func = func;
- return this;
- }
-
- void trace ( const char* fmt, ... ) {
- char msg[MAX_TRACE_SIZE];
- char msg_fmt_buf[MAX_TRACE_SIZE];
- const char *msg_fmt = fmt;
- if ( m_flags & prefix ) {
- snprintf (msg_fmt_buf, MAX_TRACE_SIZE, "[%s] %s", m_func, fmt);
- msg_fmt = msg_fmt_buf;
- }
- std::va_list argptr;
- va_start (argptr, fmt);
- int len = vsnprintf (msg, MAX_TRACE_SIZE, msg_fmt, argptr);
- va_end (argptr);
- if ( m_flags & need_lf &&
- len < MAX_TRACE_SIZE - 1 && msg_fmt[len-1] != '\n' )
- {
- msg[len] = '\n';
- msg[len + 1] = 0;
- }
- m_reporter.Report(msg);
- }
- }; // class Tracer
-
- static Tracer tracer;
-
- template<int>
- bool not_the_first_call () {
- static bool first_call = false;
- bool res = first_call;
- first_call = true;
- return res;
- }
-
- } // namespace internal
-} // namespace Harness
-
-#if defined(_MSC_VER) && _MSC_VER >= 1300 || defined(__GNUC__) || defined(__GNUG__)
- #define HARNESS_TRACE_ORIG_INFO __FILE__, __LINE__, __FUNCTION__
-#else
- #define HARNESS_TRACE_ORIG_INFO __FILE__, __LINE__, ""
- #define __FUNCTION__ ""
-#endif
-
-
-//! printf style tracing macro
-/** This variant of TRACE adds trailing line-feed (new line) character, if it is absent. **/
-#define TRACE Harness::internal::tracer.set_trace_info(Harness::internal::Tracer::need_lf, HARNESS_TRACE_ORIG_INFO)->trace
-
-//! printf style tracing macro without automatic new line character adding
-#define TRACENL Harness::internal::tracer.set_trace_info(0, HARNESS_TRACE_ORIG_INFO)->trace
-
-//! printf style tracing macro with additional information prefix (e.g. current function name)
-#define TRACEP Harness::internal::tracer.set_trace_info(Harness::internal::Tracer::prefix | \
- Harness::internal::Tracer::need_lf, HARNESS_TRACE_ORIG_INFO)->trace
-
-//! printf style remark macro
-/** Produces output only when the test is run with the -v (verbose) option. **/
-#define REMARK !Verbose ? (void)0 : TRACE
-
-//! printf style remark macro
-/** Produces output only when invoked first time.
- Only one instance of this macro is allowed per source code line. **/
-#define REMARK_ONCE (!Verbose || Harness::internal::not_the_first_call<__LINE__>()) ? (void)0 : TRACE
-
-//! printf style reporting macro
-/** On heterogeneous platforms redirects its output to the host side. **/
-#define REPORT TRACENL
-
-#endif /* tbb_tests_harness_report_H */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Test whether scalable_allocator complies with the requirements in 20.1.5 of ISO C++ Standard (1998).
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-
-#include "tbb/scalable_allocator.h"
-
-// the actual body of the test is there:
-#include "test_allocator.h"
-
-#if _MSC_VER
-#include <windows.h>
-#endif /* _MSC_VER */
-
-__TBB_TEST_EXPORT
-int main() {
-#if _MSC_VER && !__TBBMALLOC_NO_IMPLICIT_LINKAGE
- #ifdef _DEBUG
- ASSERT(!GetModuleHandle("tbbmalloc.dll") && GetModuleHandle("tbbmalloc_debug.dll"),
- "debug application links with non-debug tbbmalloc library");
- #else
- ASSERT(!GetModuleHandle("tbbmalloc_debug.dll") && GetModuleHandle("tbbmalloc.dll"),
- "non-debug application links with debug tbbmalloc library");
- #endif
-#endif /* _MSC_VER && !__TBBMALLOC_NO_IMPLICIT_LINKAGE */
- int result = TestMain<tbb::scalable_allocator<void> >();
- REPORT("done\n");
- return result;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Test whether scalable_allocator works with some of the host's STL containers.
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "tbb/scalable_allocator.h"
-
-// The actual body of the test is there:
-#include "test_allocator_STL.h"
-
-__TBB_TEST_EXPORT
-int main() {
- TestAllocatorWithSTL<tbb::scalable_allocator<void> >();
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/tbb_config.h"
-
-#if __TBB_GCC_WARNING_SUPPRESSION_ENABLED
-#pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif
-
-//! Wrapper around T where all members are private.
-/** Used to prove that aligned_space<T,N> never calls member of T. */
-template<typename T>
-class Minimal {
- Minimal();
- Minimal( Minimal& min );
- ~Minimal();
- void operator=( const Minimal& );
- T pad;
-public:
- friend void AssignToCheckAlignment( Minimal& dst, const Minimal& src ) {
- dst.pad = src.pad;
- }
-};
-
-#include "tbb/aligned_space.h"
-#include "harness_assert.h"
-
-static bool SpaceWasted;
-
-template<typename U, size_t N>
-void TestAlignedSpaceN() {
- typedef Minimal<U> T;
- struct {
- //! Pad byte increases chance that subsequent member will be misaligned if there is a problem.
- char pad;
- tbb::aligned_space<T ,N> space;
- } x;
- AssertSameType( static_cast< T *>(0), x.space.begin() );
- AssertSameType( static_cast< T *>(0), x.space.end() );
- ASSERT( reinterpret_cast<void *>(x.space.begin())==reinterpret_cast< void *>(&x.space), NULL );
- ASSERT( x.space.end()-x.space.begin()==N, NULL );
- ASSERT( reinterpret_cast<void *>(x.space.begin())>=reinterpret_cast< void *>(&x.space), NULL );
- ASSERT( x.space.end()<=reinterpret_cast< T *>(&x.space+1), NULL );
- // Though not required, a good implementation of aligned_space<T,N> does not use any more space than a T[N].
- SpaceWasted |= sizeof(x.space)!=sizeof(T)*N;
- for( size_t k=1; k<N; ++k )
- AssignToCheckAlignment( x.space.begin()[k-1], x.space.begin()[k] );
-}
-
-static void PrintSpaceWastingWarning( const char* type_name );
-
-#include <typeinfo>
-
-template<typename T>
-void TestAlignedSpace() {
- SpaceWasted = false;
- TestAlignedSpaceN<T,1>();
- TestAlignedSpaceN<T,2>();
- TestAlignedSpaceN<T,3>();
- TestAlignedSpaceN<T,4>();
- TestAlignedSpaceN<T,5>();
- TestAlignedSpaceN<T,6>();
- TestAlignedSpaceN<T,7>();
- TestAlignedSpaceN<T,8>();
- if( SpaceWasted )
- PrintSpaceWastingWarning( typeid(T).name() );
-}
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-
-#include "harness_m128.h"
-//#include <cstdio> // Inclusion of <cstdio> deferred, to improve odds of detecting accidental dependences on it.
-
-__TBB_TEST_EXPORT
-int main() {
- TestAlignedSpace<char>();
- TestAlignedSpace<short>();
- TestAlignedSpace<int>();
- TestAlignedSpace<float>();
- TestAlignedSpace<double>();
- TestAlignedSpace<long double>();
- TestAlignedSpace<size_t>();
-#if HAVE_m128
- TestAlignedSpace<__m128>();
-#endif /* HAVE_m128 */
- REPORT("done\n");
- return 0;
-}
-
-static void PrintSpaceWastingWarning( const char* type_name ) {
- REPORT("Consider rewriting aligned_space<%s,N> to waste less space\n", type_name );
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Basic testing of an allocator
-// Tests against requirements in 20.1.5 of ISO C++ Standard (1998).
-// Does not check for thread safety or false sharing issues.
-//
-// Tests for compatibility with the host's STL are in
-// test_Allocator_STL.h. Those tests are in a separate file
-// because they bring in lots of STL headers, and the tests here
-// are supposed to work in the abscense of STL.
-
-#include "harness.h"
-
-template<typename A>
-struct is_zero_filling {
- static const bool value = false;
-};
-
-int NumberOfFoo;
-
-template<typename T, size_t N>
-struct Foo {
- T foo_array[N];
- Foo() {
- zero_fill<T>(foo_array, N);
- ++NumberOfFoo;
- }
- Foo( const Foo& x ) {
- *this = x;
- ++NumberOfFoo;
- }
- ~Foo() {
- --NumberOfFoo;
- }
-};
-
-inline char PseudoRandomValue( size_t j, size_t k ) {
- return char(j*3 ^ j>>4 ^ k);
-}
-
-//! T is type and A is allocator for that type
-template<typename T, typename A>
-void TestBasic( A& a ) {
- T x;
- const T cx = T();
-
- // See Table 32 in ISO ++ Standard
- typename A::pointer px = &x;
- typename A::const_pointer pcx = &cx;
-
- typename A::reference rx = x;
- ASSERT( &rx==&x, NULL );
-
- typename A::const_reference rcx = cx;
- ASSERT( &rcx==&cx, NULL );
-
- typename A::value_type v = x;
-
- typename A::size_type size;
- size = 0;
- --size;
- ASSERT( size>0, "not an unsigned integral type?" );
-
- typename A::difference_type difference;
- difference = 0;
- --difference;
- ASSERT( difference<0, "not an signed integral type?" );
-
- // "rebind" tested by our caller
-
- ASSERT( a.address(rx)==px, NULL );
-
- ASSERT( a.address(rcx)==pcx, NULL );
-
- typename A::pointer array[100];
- size_t sizeof_T = sizeof(T);
- for( size_t k=0; k<100; ++k ) {
- array[k] = k&1 ? a.allocate(k,array[0]) : a.allocate(k);
- char* s = reinterpret_cast<char*>(reinterpret_cast<void*>(array[k]));
- for( size_t j=0; j<k*sizeof_T; ++j )
- s[j] = PseudoRandomValue(j,k);
- }
-
- // Test hint argument. This can't be compiled when hint is void*, It should be const void*
- typename A::pointer a_ptr;
- const void * const_hint = NULL;
- a_ptr = a.allocate (1, const_hint);
- a.deallocate(a_ptr, 1);
-
- // Test "a.deallocate(p,n)
- for( size_t k=0; k<100; ++k ) {
- char* s = reinterpret_cast<char*>(reinterpret_cast<void*>(array[k]));
- for( size_t j=0; j<k*sizeof_T; ++j )
- ASSERT( s[j] == PseudoRandomValue(j,k), NULL );
- a.deallocate(array[k],k);
- }
-
- // Test "a.max_size()"
- AssertSameType( a.max_size(), typename A::size_type(0) );
- // Following assertion catches case where max_size() is so large that computation of
- // number of bytes for such an allocation would overflow size_type.
- ASSERT( a.max_size()*typename A::size_type(sizeof(T))>=a.max_size(), "max_size larger than reasonable" );
-
- // Test "a1==a2"
- A a1, a2;
- ASSERT( a1==a2, NULL );
-
- // Test "a1!=a2"
- ASSERT( !(a1!=a2), NULL );
-
- // Test "a.construct(p,t)"
- int n = NumberOfFoo;
- typename A::pointer p = a.allocate(1);
- a.construct( p, cx );
- ASSERT( NumberOfFoo==n+1, "constructor for Foo not called?" );
-
- // Test "a.destroy(p)"
- a.destroy( p );
- ASSERT( NumberOfFoo==n, "destructor for Foo not called?" );
- a.deallocate(p,1);
-}
-
-#include "tbb/blocked_range.h"
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // Workaround for erroneous "conditional expression is constant" warning in method check_allocate.
- #pragma warning (disable: 4127)
-#endif
-
-// A is an allocator for some type
-template<typename A>
-struct Body: NoAssign {
- static const size_t max_k = 100000;
- A &a;
- Body(A &a_) : a(a_) {}
- void check_allocate( typename A::pointer array[], size_t i, size_t t ) const
- {
- ASSERT(array[i] == 0, NULL);
- size_t size = i * (i&3);
- array[i] = i&1 ? a.allocate(size, array[i>>3]) : a.allocate(size);
- char* s = reinterpret_cast<char*>(reinterpret_cast<void*>(array[i]));
- for( size_t j=0; j<size*sizeof(A); ++j ) {
- if(is_zero_filling<typename A::template rebind<void>::other>::value)
- ASSERT( !s[j], NULL);
- s[j] = PseudoRandomValue(i, t);
- }
- }
-
- void check_deallocate( typename A::pointer array[], size_t i, size_t t ) const
- {
- ASSERT(array[i] != 0, NULL);
- size_t size = i * (i&3);
- char* s = reinterpret_cast<char*>(reinterpret_cast<void*>(array[i]));
- for( size_t j=0; j<size*sizeof(A); ++j )
- ASSERT( s[j] == PseudoRandomValue(i, t), "Thread safety test failed" );
- a.deallocate(array[i], size);
- array[i] = 0;
- }
-
- void operator()( size_t thread_id ) const {
- typename A::pointer array[256];
-
- for( size_t k=0; k<256; ++k )
- array[k] = 0;
- for( size_t k=0; k<max_k; ++k ) {
- size_t i = static_cast<unsigned char>(PseudoRandomValue(k,thread_id));
- if(!array[i]) check_allocate(array, i, thread_id);
- else check_deallocate(array, i, thread_id);
- }
- for( size_t k=0; k<256; ++k )
- if(array[k])
- check_deallocate(array, k, thread_id);
- }
-};
-
-// A is an allocator for some type, and U is another type
-template<typename A, typename U>
-void Test() {
- typename A::template rebind<U>::other b;
- TestBasic<U>(b);
-
- A a(b);
- TestBasic<typename A::value_type>(a);
-
- // thread safety
- int n = NumberOfFoo;
- NativeParallelFor( 4, Body<A>(a) );
- ASSERT( NumberOfFoo==n, "Allocate/deallocate count mismatched" );
-
- ASSERT( a==b, NULL );
- ASSERT( !(a!=b), NULL );
-}
-
-template<typename Allocator>
-int TestMain() {
- Test<typename Allocator::template rebind<Foo<char,1> >::other, Foo<int,17> >();
- Test<typename Allocator::template rebind<Foo<double,1> >::other, Foo<float,23> >();
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Tests for compatibility with the host's STL.
-
-#include "harness.h"
-
-template<typename Container>
-void TestSequence() {
- Container c;
- for( int i=0; i<1000; ++i )
- c.push_back(i*i);
- typename Container::const_iterator p = c.begin();
- for( int i=0; i<1000; ++i ) {
- ASSERT( *p==i*i, NULL );
- ++p;
- }
-}
-
-template<typename Set>
-void TestSet() {
- Set s;
- typedef typename Set::value_type value_type;
- for( int i=0; i<100; ++i )
- s.insert(value_type(3*i));
- for( int i=0; i<300; ++i ) {
- ASSERT( s.erase(i)==size_t(i%3==0), NULL );
- }
-}
-
-template<typename Map>
-void TestMap() {
- Map m;
- typedef typename Map::value_type value_type;
- for( int i=0; i<100; ++i )
- m.insert(value_type(i,i*i));
- for( int i=0; i<100; ++i )
- ASSERT( m.find(i)->second==i*i, NULL );
-}
-
-#include <deque>
-#include <list>
-#include <map>
-#include <set>
-#include <vector>
-
-template<typename Allocator>
-void TestAllocatorWithSTL() {
- typedef typename Allocator::template rebind<int>::other Ai;
- typedef typename Allocator::template rebind<const int>::other Aci;
- typedef typename Allocator::template rebind<std::pair<const int, int> >::other Acii;
- typedef typename Allocator::template rebind<std::pair<int, int> >::other Aii;
-
- // Sequenced containers
- TestSequence<std::deque <int,Ai> >();
- TestSequence<std::list <int,Ai> >();
- TestSequence<std::vector<int,Ai> >();
-
- // Associative containers
- TestSet<std::set <int, std::less<int>, Ai> >();
- TestSet<std::multiset<int, std::less<int>, Ai> >();
- TestMap<std::map <int, int, std::less<int>, Acii> >();
- TestMap<std::multimap<int, int, std::less<int>, Acii> >();
-
-#if _MSC_VER
- // Test compatibility with Microsoft's implementation of std::allocator for some cases that
- // are undefined according to the ISO standard but permitted by Microsoft.
- TestSequence<std::deque <const int,Aci> >();
-#if _CPPLIB_VER>=500
- TestSequence<std::list <const int,Aci> >();
-#endif
- TestSequence<std::vector<const int,Aci> >();
- TestSet<std::set<const int, std::less<int>, Aci> >();
- TestMap<std::map<int, int, std::less<int>, Aii> >();
- TestMap<std::map<const int, int, std::less<int>, Acii> >();
- TestMap<std::multimap<int, int, std::less<int>, Aii> >();
- TestMap<std::multimap<const int, int, std::less<int>, Acii> >();
-#endif /* _MSC_VER */
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Program for basic correctness testing of assembly-language routines.
-// This program deliberately #includes ../internal/task.cpp so that
-// it can get intimate access to the scheduler.
-
-#define TEST_ASSEMBLY_ROUTINES 1
-#define __TBB_TASK_CPP_DIRECTLY_INCLUDED 1
-// to avoid usage of #pragma comment
-#define __TBB_NO_IMPLICIT_LINKAGE 1
-
-#include "../tbb/task.cpp"
-#include <new>
-#include "harness.h"
-
-namespace tbb {
-
-namespace internal {
-
-class TestTask: public task {
-public:
- /*override*/ task* execute() {
- return NULL;
- }
- const char* name;
- TestTask( const char* name_ ) : name(name_) {}
-};
-
-void GenericScheduler::test_assembly_routines() {
- __TBB_ASSERT( assert_okay(), NULL );
-#if __TBB_TASK_DEQUE
- try_enter_arena();
- ASSERT( arena_slot->task_pool == dummy_slot.task_pool, "entering arena must not lock the task pool" );
- arena->mark_pool_full();
- acquire_task_pool();
- release_task_pool();
- acquire_task_pool(); // leave_arena requires the pool to be locked
- leave_arena();
-#else /* !__TBB_TASK_DEQUE */
- try_enter_arena();
- arena->mark_pool_full();
- release_task_pool();
- long steal_count = 0;
- long get_count = 0;
- const depth_type n = 5;
- const depth_type array_size_proxy = array_size; // using proxy to reduce compilation warnings
- ASSERT( array_size-array_size_proxy==0, NULL ); // check validity of the replacement
- ASSERT( array_size_proxy>=n, NULL );
- // Loop over insertion levels
- for( depth_type i=0; i<n; ++i )
- // Loop over values for "deepest"
- for( depth_type d=-1; d<n; ++d )
- // Loop over values for "shallowest"
- for( depth_type s=0; s<n; ++s )
- // Loop over depth limits
- for( depth_type limit=0; limit<n; ++limit )
- // Loop over whether to insert or not
- for( int insert=0; insert<2; ++insert )
- // Loop over whether to steal or get
- for( int steal=0; steal<2; ++steal ) {
- __TBB_ASSERT( assert_okay(), NULL );
- task** array = dummy_slot.task_pool->array;
- for( depth_type k=0; k<array_size_proxy; ++k )
- array[k] = NULL;
- dummy_slot.task_pool->prefix().steal_begin = s;
- __TBB_ASSERT( assert_okay(), NULL );
-
- TestTask& w = *new( task::allocate_root() ) TestTask("w");
- __TBB_ASSERT( assert_okay(), NULL );
- if( d>=0 ) {
- w.prefix().depth = int(d);
- w.prefix().next = NULL;
- w.prefix().state = task::ready;
- dummy_slot.task_pool->array[d] = &w;
- }
- deepest = d;
- arena_slot->steal_end = 2*d;
-
- __TBB_ASSERT( assert_okay(), NULL );
- TestTask& x = *new( task::allocate_root() ) TestTask("x");
- TestTask& y = *new( task::allocate_root() ) TestTask("y");
- TestTask& z = *new( task::allocate_root() ) TestTask("z");
- __TBB_ASSERT( assert_okay(), NULL );
- x.prefix().next = &y;
- y.prefix().next = &z;
- z.prefix().next = NULL;
- ASSERT( x.prefix().next==&y, NULL );
- for( task* p=&x; p; p=p->prefix().next )
- p->prefix().depth = int(i);
- __TBB_ASSERT( assert_okay(), NULL );
- z.prefix().next = (task*)(void*)-1;
- if( insert ) {
- spawn( x, z.prefix().next );
- __TBB_ASSERT( assert_okay(), NULL );
- depth_type expected_deepest = d>=i ? d : i;
- ASSERT( deepest==expected_deepest, NULL );
- depth_type expected_shallowest = i<=s ? i : s;
- ASSERT( dummy_slot.task_pool->prefix().steal_begin==expected_shallowest, NULL );
- ASSERT( array[i]==&x, NULL );
- ASSERT( x.prefix().next==&y, NULL );
- }
- if( steal ) {
- task* expected_task = NULL;
- depth_type shallowest = dummy_slot.task_pool->prefix().steal_begin;
- depth_type expected_shallowest = shallowest;
- for( depth_type k=shallowest; k<array_size_proxy; ++k ) {
- if( k>=limit && array[k] ) {
- expected_task = array[k];
- if( shallowest>=limit )
- expected_shallowest = k;
- break;
- }
- }
- __TBB_ASSERT( assert_okay(), NULL );
- task* t = steal_task( *arena_slot, limit );
- ASSERT( (arena_slot->steal_end&1)==0, "forgot to release lock?" );
- __TBB_ASSERT( assert_okay(), NULL );
- ASSERT( t==expected_task, NULL );
- shallowest = dummy_slot.task_pool->prefix().steal_begin;
- ASSERT( shallowest==expected_shallowest, NULL );
- ++steal_count;
- } else {
- task* expected_task = NULL;
- for( depth_type k=array_size_proxy-1; k>=limit; --k ) {
- if( array[k] ) {
- expected_task = array[k];
- ASSERT( deepest==k, NULL );
- break;
- }
- }
- __TBB_ASSERT( assert_okay(), NULL );
- task* t = get_task( limit );
- ASSERT( (arena_slot->steal_end&1)==0, "forgot to release lock?" );
- __TBB_ASSERT( assert_okay(), NULL );
- ASSERT( t==expected_task, NULL );
- ++get_count;
- }
- }
- ASSERT( array_size-array_size_proxy==0, NULL ); // check for any side effects affecting array_size
- if( Verbose )
- REPORT("%ld successful gets and %ld successful steals\n", get_count, steal_count );
-#endif /* !__TBB_TASK_DEQUE */
-}
-
-//! Test __TBB_CompareAndSwapW
-static void TestCompareExchange() {
- ASSERT( intptr(-10)<10, "intptr not a signed integral type?" );
- if( Verbose )
- REPORT("testing __TBB_CompareAndSwapW\n");
- for( intptr a=-10; a<10; ++a )
- for( intptr b=-10; b<10; ++b )
- for( intptr c=-10; c<10; ++c ) {
-// Workaround for a bug in GCC 4.3.0; and one more is below.
-#if __GNUC__==4&&__GNUC_MINOR__==3&&__GNUC_PATCHLEVEL__==0
- intptr x;
- __TBB_store_with_release( x, a );
-#else
- intptr x = a;
-#endif
- intptr y = __TBB_CompareAndSwapW(&x,b,c);
- ASSERT( y==a, NULL );
- if( a==c )
- ASSERT( x==b, NULL );
- else
- ASSERT( x==a, NULL );
- }
-}
-
-//! Test __TBB___TBB_FetchAndIncrement and __TBB___TBB_FetchAndDecrement
-static void TestAtomicCounter() {
- // "canary" is a value used to detect illegal overwrites.
- const internal::reference_count canary = ~(internal::uintptr)0/3;
- if( Verbose )
- REPORT("testing __TBB_FetchAndIncrement\n");
- struct {
- internal::reference_count prefix, i, suffix;
- } x;
- x.prefix = canary;
- x.i = 0;
- x.suffix = canary;
- for( int k=0; k<10; ++k ) {
- internal::reference_count j = __TBB_FetchAndIncrementWacquire((volatile void *)&x.i);
- ASSERT( x.prefix==canary, NULL );
- ASSERT( x.suffix==canary, NULL );
- ASSERT( x.i==k+1, NULL );
- ASSERT( j==k, NULL );
- }
- if( Verbose )
- REPORT("testing __TBB_FetchAndDecrement\n");
- x.i = 10;
- for( int k=10; k>0; --k ) {
- internal::reference_count j = __TBB_FetchAndDecrementWrelease((volatile void *)&x.i);
- ASSERT( j==k, NULL );
- ASSERT( x.i==k-1, NULL );
- ASSERT( x.prefix==canary, NULL );
- ASSERT( x.suffix==canary, NULL );
- }
-}
-
-static void TestTinyLock() {
- if( Verbose )
- REPORT("testing __TBB_LockByte\n");
- unsigned char flags[16];
- for( int i=0; i<16; ++i )
- flags[i] = i;
-#if __GNUC__==4&&__GNUC_MINOR__==3&&__GNUC_PATCHLEVEL__==0
- __TBB_store_with_release( flags[8], 0 );
-#else
- flags[8] = 0;
-#endif
- __TBB_LockByte(flags[8]);
- for( int i=0; i<16; ++i )
- ASSERT( flags[i]==(i==8?1:i), NULL );
-}
-
-static void TestLog2() {
- if( Verbose )
- REPORT("testing __TBB_Log2\n");
- for( uintptr_t i=1; i; i<<=1 ) {
- for( uintptr_t j=1; j<1<<16; ++j ) {
- if( uintptr_t k = i*j ) {
- uintptr_t actual = __TBB_Log2(k);
- const uintptr_t ONE = 1; // warning suppression again
- ASSERT( k >= ONE<<actual, NULL );
- ASSERT( k>>1 < ONE<<actual, NULL );
- }
- }
- }
-}
-
-static void TestPause() {
- if( Verbose )
- REPORT("testing __TBB_Pause\n");
- __TBB_Pause(1);
-}
-
-
-} // namespace internal
-} // namespace tbb
-
-using namespace tbb;
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- try {
- ParseCommandLine( argc, argv );
- TestLog2();
- TestTinyLock();
- TestCompareExchange();
- TestAtomicCounter();
- TestPause();
-
- task_scheduler_init init(1);
-
- if( Verbose )
- REPORT("testing __TBB_(scheduler assists)\n");
- GenericScheduler* scheduler = internal::Governor::local_scheduler();
- scheduler->test_assembly_routines();
-
- } catch(...) {
- ASSERT(0,"unexpected exception");
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Put tbb/atomic.h first, so if it is missing a prerequisite header, we find out about it.
-// The tests here do *not* test for atomicity, just serial correctness. */
-
-#include "tbb/atomic.h"
-#include "harness_assert.h"
-#include <string.h> // memcmp
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // unary minus operator applied to unsigned type, result still unsigned
- #pragma warning( push )
- #pragma warning( disable: 4310 )
-#endif
-
-//! Structure that holds an atomic<T> and some guard bytes around it.
-template<typename T>
-struct TestStruct {
- T prefix;
- tbb::atomic<T> counter;
- T suffix;
- TestStruct( T i ) : prefix(T(0x1234)), suffix(T(0x5678)) {
- counter = i;
- ASSERT( sizeof(*this)==3*sizeof(T), NULL );
- }
- ~TestStruct() {
- // Check for writes outside the counter.
- ASSERT( prefix==T(0x1234), NULL );
- ASSERT( suffix==T(0x5678), NULL );
- }
-};
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif
-
-//! Test compare_and_swap template members of class atomic<T> for memory_semantics=M
-template<typename T,tbb::memory_semantics M>
-void TestCompareAndSwapAcquireRelease( T i, T j, T k ) {
- ASSERT( i!=k, "values must be distinct" );
- // Test compare_and_swap that should fail
- TestStruct<T> x(i);
- T old = x.counter.template compare_and_swap<M>( j, k );
- ASSERT( old==i, NULL );
- ASSERT( x.counter==i, "old value not retained" );
- // Test compare and swap that should suceed
- old = x.counter.template compare_and_swap<M>( j, i );
- ASSERT( old==i, NULL );
- ASSERT( x.counter==j, "value not updated?" );
-}
-
-//! i, j, k must be different values
-template<typename T>
-void TestCompareAndSwap( T i, T j, T k ) {
- ASSERT( i!=k, "values must be distinct" );
- // Test compare_and_swap that should fail
- TestStruct<T> x(i);
- T old = x.counter.compare_and_swap( j, k );
- ASSERT( old==i, NULL );
- ASSERT( x.counter==i, "old value not retained" );
- // Test compare and swap that should suceed
- old = x.counter.compare_and_swap( j, i );
- ASSERT( old==i, NULL );
- if( x.counter==i ) {
- ASSERT( x.counter==j, "value not updated?" );
- } else {
- ASSERT( x.counter==j, "value trashed" );
- }
- TestCompareAndSwapAcquireRelease<T,tbb::acquire>(i,j,k);
- TestCompareAndSwapAcquireRelease<T,tbb::release>(i,j,k);
-}
-
-//! memory_semantics variation on TestFetchAndStore
-template<typename T, tbb::memory_semantics M>
-void TestFetchAndStoreAcquireRelease( T i, T j ) {
- ASSERT( i!=j, "values must be distinct" );
- TestStruct<T> x(i);
- T old = x.counter.template fetch_and_store<M>( j );
- ASSERT( old==i, NULL );
- ASSERT( x.counter==j, NULL );
-}
-
-//! i and j must be different values
-template<typename T>
-void TestFetchAndStore( T i, T j ) {
- ASSERT( i!=j, "values must be distinct" );
- TestStruct<T> x(i);
- T old = x.counter.fetch_and_store( j );
- ASSERT( old==i, NULL );
- ASSERT( x.counter==j, NULL );
- TestFetchAndStoreAcquireRelease<T,tbb::acquire>(i,j);
- TestFetchAndStoreAcquireRelease<T,tbb::release>(i,j);
-}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // conversion from <bigger integer> to <smaller integer>, possible loss of data
- // the warning seems a complete nonsense when issued for e.g. short+=short
- #pragma warning( push )
- #pragma warning( disable: 4244 )
-#endif
-
-//! Test fetch_and_add members of class atomic<T> for memory_semantics=M
-template<typename T,tbb::memory_semantics M>
-void TestFetchAndAddAcquireRelease( T i ) {
- TestStruct<T> x(i);
- T actual;
- T expected = i;
-
- // Test fetch_and_add member template
- for( int j=0; j<10; ++j ) {
- actual = x.counter.fetch_and_add(j);
- ASSERT( actual==expected, NULL );
- expected += j;
- }
- for( int j=0; j<10; ++j ) {
- actual = x.counter.fetch_and_add(-j);
- ASSERT( actual==expected, NULL );
- expected -= j;
- }
-
- // Test fetch_and_increment member template
- ASSERT( x.counter==i, NULL );
- actual = x.counter.template fetch_and_increment<M>();
- ASSERT( actual==i, NULL );
- ASSERT( x.counter==T(i+1), NULL );
-
- // Test fetch_and_decrement member template
- actual = x.counter.template fetch_and_decrement<M>();
- ASSERT( actual==T(i+1), NULL );
- ASSERT( x.counter==i, NULL );
-}
-
-//! Test fetch_and_add and related operators
-template<typename T>
-void TestFetchAndAdd( T i ) {
- TestStruct<T> x(i);
- T value;
- value = ++x.counter;
- ASSERT( value==T(i+1), NULL );
- value = x.counter++;
- ASSERT( value==T(i+1), NULL );
- value = x.counter--;
- ASSERT( value==T(i+2), NULL );
- value = --x.counter;
- ASSERT( value==i, NULL );
- T actual;
- T expected = i;
- for( int j=-100; j<=100; ++j ) {
- expected += j;
- actual = x.counter += j;
- ASSERT( actual==expected, NULL );
- }
- for( int j=-100; j<=100; ++j ) {
- expected -= j;
- actual = x.counter -= j;
- ASSERT( actual==expected, NULL );
- }
- // Test fetch_and_increment
- ASSERT( x.counter==i, NULL );
- actual = x.counter.fetch_and_increment();
- ASSERT( actual==i, NULL );
- ASSERT( x.counter==T(i+1), NULL );
-
- // Test fetch_and_decrement
- actual = x.counter.fetch_and_decrement();
- ASSERT( actual==T(i+1), NULL );
- ASSERT( x.counter==i, NULL );
- x.counter = i;
- ASSERT( x.counter==i, NULL );
-
- TestFetchAndAddAcquireRelease<T,tbb::acquire>(i);
- TestFetchAndAddAcquireRelease<T,tbb::release>(i);
-}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif // warning 4244 is back
-
-//! A type with unknown size.
-class IncompleteType;
-
-void TestFetchAndAdd( IncompleteType* ) {
- // There are no fetch-and-add operations on a IncompleteType*.
-}
-void TestFetchAndAdd( void* ) {
- // There are no fetch-and-add operations on a void*.
-}
-
-void TestFetchAndAdd( bool ) {
- // There are no fetch-and-add operations on a bool.
-}
-
-template<typename T>
-void TestConst( T i ) {
- // Try const
- const TestStruct<T> x(i);
- ASSERT( memcmp( &i, &x.counter, sizeof(T) )==0, "write to atomic<T> broken?" );;
- ASSERT( x.counter==i, "read of atomic<T> broken?" );
-}
-
-template<typename T>
-void TestOperations( T i, T j, T k ) {
- TestConst(i);
- TestCompareAndSwap(i,j,k);
- TestFetchAndStore(i,k); // Pass i,k instead of i,j, because callee requires two distinct values.
-}
-
-template<typename T>
-void TestParallel( const char* name );
-
-bool ParallelError;
-
-template<typename T>
-struct AlignmentChecker {
- char c;
- tbb::atomic<T> i;
-};
-
-#include "harness.h"
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // unary minus operator applied to unsigned type, result still unsigned
- #pragma warning( push )
- #pragma warning( disable: 4146 )
-#endif
-
-/** T is an integral type. */
-template<typename T>
-void TestAtomicInteger( const char* name ) {
- if( Verbose )
- REPORT("testing atomic<%s>\n",name);
-#if ( __linux__ && __TBB_x86_32 && __GNUC__==3 && __GNUC_MINOR__==3 ) || defined(__SUNPRO_CC)
- // gcc 3.3 has known problem for 32-bit Linux, so only warn if there is a problem.
- // SUNPRO_CC does have this problem as well
- if( sizeof(T)==8 ) {
- if( sizeof(AlignmentChecker<T>)!=2*sizeof(tbb::atomic<T>) ) {
- REPORT("Warning: alignment for atomic<%s> is wrong (known issue with gcc 3.3 and sunCC 5.9 2008/01/28 for IA32)\n",name);
- }
- } else
-#endif /* ( __linux__ && __TBB_x86_32 && __GNUC__==3 && __GNUC_MINOR__==3 ) || defined(__SUNPRO_CC) */
- ASSERT( sizeof(AlignmentChecker<T>)==2*sizeof(tbb::atomic<T>), NULL );
- TestOperations<T>(0L,T(-T(1)),T(1));
- for( int k=0; k<int(sizeof(long))*8-1; ++k ) {
- TestOperations<T>(T(1L<<k),T(~(1L<<k)),T(1-(1L<<k)));
- TestOperations<T>(T(-1L<<k),T(~(-1L<<k)),T(1-(-1L<<k)));
- TestFetchAndAdd<T>(T(-1L<<k));
- }
- TestParallel<T>( name );
-}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif
-
-
-template<typename T>
-struct Foo {
- T x, y, z;
-};
-
-
-template<typename T>
-void TestIndirection() {
- Foo<T> item;
- tbb::atomic<Foo<T>*> pointer;
- pointer = &item;
- for( int k=-10; k<=10; ++k ) {
- // Test various syntaxes for indirection to fields with non-zero offset.
- T value1=T(), value2=T();
- for( size_t j=0; j<sizeof(T); ++j ) {
- *(char*)&value1 = char(k^j);
- *(char*)&value2 = char(k^j*j);
- }
- pointer->y = value1;
- (*pointer).z = value2;
- T result1 = (*pointer).y;
- T result2 = pointer->z;
- ASSERT( memcmp(&value1,&result1,sizeof(T))==0, NULL );
- ASSERT( memcmp(&value2,&result2,sizeof(T))==0, NULL );
- }
-}
-
-//! Test atomic<T*>
-template<typename T>
-void TestAtomicPointer() {
- if( Verbose )
- REPORT("testing atomic pointer (%d)\n",int(sizeof(T)));
- T array[1000];
- TestOperations<T*>(&array[500],&array[250],&array[750]);
- TestFetchAndAdd<T*>(&array[500]);
- TestIndirection<T>();
- TestParallel<T*>( "pointer" );
-}
-
-//! Test atomic<Ptr> where Ptr is a pointer to a type of unknown size
-template<typename Ptr>
-void TestAtomicPointerToTypeOfUnknownSize( const char* name ) {
- if( Verbose )
- REPORT("testing atomic<%s>\n",name);
- char array[1000];
- TestOperations<Ptr>((Ptr)(void*)&array[500],(Ptr)(void*)&array[250],(Ptr)(void*)&array[750]);
- TestParallel<Ptr>( name );
-}
-
-void TestAtomicBool() {
- if( Verbose )
- REPORT("testing atomic<bool>\n");
- TestOperations<bool>(true,true,false);
- TestOperations<bool>(false,false,true);
- TestParallel<bool>( "bool" );
-}
-
-enum Color {Red=0,Green=1,Blue=-1};
-
-void TestAtomicEnum() {
- if( Verbose )
- REPORT("testing atomic<Color>\n");
- TestOperations<Color>(Red,Green,Blue);
- TestParallel<Color>( "Color" );
-}
-
-#if !__TBB_FLOATING_POINT_BROKEN
-template<typename T>
-void TestAtomicFloat( const char* name ) {
- if( Verbose )
- REPORT("testing atomic<%s>\n", name );
- TestOperations<T>(0.5,3.25,10.75);
- TestParallel<T>( name );
-}
-#endif /* !__TBB_FLOATING_POINT_BROKEN */
-
-const int numMaskedOperations = 100000;
-const int testSpaceSize = 8;
-int prime[testSpaceSize] = {3,5,7,11,13,17,19,23};
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // "possible loss of data" warning suppressed again
- #pragma warning( push )
- #pragma warning( disable: 4244 )
-#endif
-
-template<typename T>
-class TestMaskedCAS_Body: NoAssign {
- T* test_space_uncontended;
- T* test_space_contended;
-public:
- TestMaskedCAS_Body( T* _space1, T* _space2 ) : test_space_uncontended(_space1), test_space_contended(_space2) {}
- void operator()( int my_idx ) const {
- using tbb::internal::__TBB_MaskedCompareAndSwap;
- const T my_prime = T(prime[my_idx]);
- T* const my_ptr = test_space_uncontended+my_idx;
- T old_value=0;
- for( int i=0; i<numMaskedOperations; ++i, old_value+=my_prime ){
- T result;
- // Test uncontended case
- T new_value = old_value + my_prime;
- // The following CAS should always fail
- result = __TBB_MaskedCompareAndSwap<sizeof(T),T>(my_ptr,new_value,old_value-1);
- ASSERT(result!=old_value-1, "masked CAS succeeded while it should fail");
- ASSERT(result==*my_ptr, "masked CAS result mismatch with real value");
- // The following one should succeed
- result = __TBB_MaskedCompareAndSwap<sizeof(T),T>(my_ptr,new_value,old_value);
- ASSERT(result==old_value && *my_ptr==new_value, "masked CAS failed while it should succeed");
- // The following one should fail again
- result = __TBB_MaskedCompareAndSwap<sizeof(T),T>(my_ptr,new_value,old_value);
- ASSERT(result!=old_value, "masked CAS succeeded while it should fail");
- ASSERT(result==*my_ptr, "masked CAS result mismatch with real value");
- // Test contended case
- for( int j=0; j<testSpaceSize; ++j ){
- // try adding my_prime until success
- T value;
- do {
- value = test_space_contended[j];
- result = __TBB_MaskedCompareAndSwap<sizeof(T),T>(test_space_contended+j,value+my_prime,value);
- } while( result!=value );
- }
- }
- }
-};
-
-template<typename T>
-struct intptr_as_array_of
-{
- static const int how_many_Ts = sizeof(intptr_t)/sizeof(T);
- union {
- intptr_t result;
- T space[ how_many_Ts ];
- };
-};
-
-template<typename T>
-intptr_t getCorrectUncontendedValue(int slot_idx) {
- intptr_as_array_of<T> slot;
- slot.result = 0;
- for( int i=0; i<slot.how_many_Ts; ++i ) {
- const T my_prime = T(prime[slot_idx*slot.how_many_Ts + i]);
- for( int j=0; j<numMaskedOperations; ++j )
- slot.space[i] += my_prime;
- }
- return slot.result;
-}
-
-template<typename T>
-intptr_t getCorrectContendedValue() {
- intptr_as_array_of<T> slot;
- slot.result = 0;
- for( int i=0; i<slot.how_many_Ts; ++i )
- for( int primes=0; primes<testSpaceSize; ++primes )
- for( int j=0; j<numMaskedOperations; ++j )
- slot.space[i] += prime[primes];
- return slot.result;
-}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif // warning 4244 is back again
-
-template<typename T>
-void TestMaskedCAS() {
- if( Verbose )
- REPORT("testing masked CAS<%d>\n",int(sizeof(T)));
-
- const int num_slots = sizeof(T)*testSpaceSize/sizeof(intptr_t);
- intptr_t arr1[num_slots+2]; // two more "canary" slots at boundaries
- intptr_t arr2[num_slots+2];
- for(int i=0; i<num_slots+2; ++i)
- arr2[i] = arr1[i] = 0;
- T* test_space_uncontended = (T*)(arr1+1);
- T* test_space_contended = (T*)(arr2+1);
-
- NativeParallelFor( testSpaceSize, TestMaskedCAS_Body<T>(test_space_uncontended, test_space_contended) );
-
- ASSERT( arr1[0]==0 && arr1[num_slots+1]==0 && arr2[0]==0 && arr2[num_slots+1]==0 , "adjacent memory was overwritten" );
- const intptr_t correctContendedValue = getCorrectContendedValue<T>();
- for(int i=0; i<num_slots; ++i) {
- ASSERT( arr1[i+1]==getCorrectUncontendedValue<T>(i), "unexpected value in an uncontended slot" );
- ASSERT( arr2[i+1]==correctContendedValue, "unexpected value in a contended slot" );
- }
-}
-
-template<unsigned N>
-class ArrayElement {
- char item[N];
-};
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- ParseCommandLine( argc, argv );
-#if defined(__INTEL_COMPILER)||!defined(_MSC_VER)||_MSC_VER>=1400
- TestAtomicInteger<unsigned long long>("unsigned long long");
- TestAtomicInteger<long long>("long long");
-#else
- REPORT("Warning: atomic<64-bits> not tested because of known problem in Microsoft compiler\n");
-#endif /*defined(__INTEL_COMPILER)||!defined(_MSC_VER)||_MSC_VER>=1400 */
- TestAtomicInteger<unsigned long>("unsigned long");
- TestAtomicInteger<long>("long");
- TestAtomicInteger<unsigned int>("unsigned int");
- TestAtomicInteger<int>("int");
- TestAtomicInteger<unsigned short>("unsigned short");
- TestAtomicInteger<short>("short");
- TestAtomicInteger<signed char>("signed char");
- TestAtomicInteger<unsigned char>("unsigned char");
- TestAtomicInteger<char>("char");
- TestAtomicInteger<wchar_t>("wchar_t");
- TestAtomicInteger<size_t>("size_t");
- TestAtomicInteger<ptrdiff_t>("ptrdiff_t");
- TestAtomicPointer<ArrayElement<1> >();
- TestAtomicPointer<ArrayElement<2> >();
- TestAtomicPointer<ArrayElement<3> >();
- TestAtomicPointer<ArrayElement<4> >();
- TestAtomicPointer<ArrayElement<5> >();
- TestAtomicPointer<ArrayElement<6> >();
- TestAtomicPointer<ArrayElement<7> >();
- TestAtomicPointer<ArrayElement<8> >();
- TestAtomicPointerToTypeOfUnknownSize<IncompleteType*>( "IncompleteType*" );
- TestAtomicPointerToTypeOfUnknownSize<void*>( "void*" );
- TestAtomicBool();
- TestAtomicEnum();
-#if !__TBB_FLOATING_POINT_BROKEN
- TestAtomicFloat<float>("float");
- TestAtomicFloat<double>("double");
-#endif /* !__TBB_FLOATING_POINT_BROKEN */
- ASSERT( !ParallelError, NULL );
- TestMaskedCAS<unsigned char>();
- TestMaskedCAS<unsigned short>();
- REPORT("done\n");
- return 0;
-}
-
-template<typename T>
-struct FlagAndMessage {
- //! 0 if message not set yet, 1 if message is set.
- tbb::atomic<T> flag;
- /** Force flag and message to be on distinct cache lines for machines with cache line size <= 4096 bytes */
- char pad[4096/sizeof(T)];
- //! Non-zero if message is ready
- T message;
-};
-
-// A special template function used for summation.
-// Actually it is only necessary because of its specialization for void*
-template<typename T>
-T special_sum(intptr_t arg1, intptr_t arg2) {
- return (T)((T)arg1 + arg2);
-}
-
-// The specialization for IncompleteType* is required
-// because pointer arithmetic (+) is impossible with IncompleteType*
-template<>
-IncompleteType* special_sum<IncompleteType*>(intptr_t arg1, intptr_t arg2) {
- return (IncompleteType*)(arg1 + arg2);
-}
-
-// The specialization for void* is required
-// because pointer arithmetic (+) is impossible with void*
-template<>
-void* special_sum<void*>(intptr_t arg1, intptr_t arg2) {
- return (void*)(arg1 + arg2);
-}
-
-// The specialization for bool is required to shut up gratuitous compiler warnings,
-// because some compilers warn about casting int to bool.
-template<>
-bool special_sum<bool>(intptr_t arg1, intptr_t arg2) {
- return ((arg1!=0) + arg2)!=0;
-}
-
-volatile int One = 1;
-
-template<typename T>
-class HammerLoadAndStoreFence: NoAssign {
- FlagAndMessage<T>* fam;
- const int n;
- const int p;
- const int trial;
- const char* name;
- mutable T accum;
-public:
- HammerLoadAndStoreFence( FlagAndMessage<T>* fam_, int n_, int p_, const char* name_, int trial_ ) : fam(fam_), n(n_), p(p_), trial(trial_), name(name_) {}
- void operator()( int k ) const {
- int one = One;
- FlagAndMessage<T>* s = fam+k;
- FlagAndMessage<T>* s_next = fam + (k+1)%p;
- for( int i=0; i<n; ++i ) {
- // The inner for loop is a spin-wait loop, which is normally considered very bad style.
- // But we must use it here because we are interested in examining subtle hardware effects.
- for(unsigned short cnt=1; ; ++cnt) {
- if( !cnt ) // to help 1-core systems complete the test, yield every 2^16 iterations
- __TBB_Yield();
- // Compilers typically generate non-trivial sequence for division by a constant.
- // The expression here is dependent on the loop index i, so it cannot be hoisted.
-#define COMPLICATED_ZERO (i*(one-1)/100)
- // Read flag and then the message
- T flag, message;
- if( trial&1 ) {
- // COMPLICATED_ZERO here tempts compiler to hoist load of message above reading of flag.
- flag = (s+COMPLICATED_ZERO)->flag;
- message = s->message;
- } else {
- flag = s->flag;
- message = s->message;
- }
- if( flag ) {
- if( flag!=(T)-1 ) {
- REPORT("ERROR: flag!=(T)-1 k=%d i=%d trial=%x type=%s (atomicity problem?)\n", k, i, trial, name );
- ParallelError = true;
- }
- if( message!=(T)-1 ) {
- REPORT("ERROR: message!=(T)-1 k=%d i=%d trial=%x type=%s (memory fence problem?)\n", k, i, trial, name );
- ParallelError = true;
- }
- s->message = T(0);
- s->flag = T(0);
- // Set message and then the flag
- if( trial&2 ) {
- // COMPLICATED_ZERO here tempts compiler to sink store below setting of flag
- s_next->message = special_sum<T>(-1, COMPLICATED_ZERO);
- s_next->flag = (T)-1;
- } else {
- s_next->message = (T)-1;
- s_next->flag = (T)-1;
- }
- break;
- } else {
- // Force compiler to use message anyway, so it cannot sink read of s->message below the if.
- accum = message;
- }
- }
- }
- }
-};
-
-//! Test that atomic<T> has acquire semantics for loads and release semantics for stores.
-/** Test performs round-robin passing of message among p processors,
- where p goes from MinThread to MaxThread. */
-template<typename T>
-void TestLoadAndStoreFences( const char* name ) {
- for( int p=MinThread<2 ? 2 : MinThread; p<=MaxThread; ++p ) {
- FlagAndMessage<T>* fam = new FlagAndMessage<T>[p];
- // Each of four trials excercise slightly different expresion pattern within the test.
- // See occurrences of COMPLICATED_ZERO for details.
- for( int trial=0; trial<4; ++trial ) {
- memset( fam, 0, p*sizeof(FlagAndMessage<T>) );
- fam->message = (T)-1;
- fam->flag = (T)-1;
- NativeParallelFor( p, HammerLoadAndStoreFence<T>( fam, 100, p, name, trial ) );
- for( int k=0; k<p; ++k ) {
- ASSERT( fam[k].message==(k==0 ? (T)-1 : 0), "incomplete round-robin?" );
- ASSERT( fam[k].flag==(k==0 ? (T)-1 : 0), "incomplete round-robin?" );
- }
- }
- delete[] fam;
- }
-}
-
-//! Sparse set of values of integral type T.
-/** Set is designed so that if a value is read or written non-atomically,
- the resulting intermediate value is likely to not be a member of the set. */
-template<typename T>
-class SparseValueSet {
- T factor;
-public:
- SparseValueSet() {
- // Compute factor such that:
- // 1. It has at least one 1 in most of its bytes.
- // 2. The bytes are typically different.
- // 3. When multiplied by any value <=127, the product does not overflow.
- factor = T(0);
- for( unsigned i=0; i<sizeof(T)*8-7; i+=7 )
- factor = T(factor | T(1)<<i);
- }
- //! Get ith member of set
- T get( int i ) const {
- // Create multiple of factor. The & prevents overflow of the product.
- return T((i&0x7F)*factor);
- }
- //! True if set contains x
- bool contains( T x ) const {
- // True if
- return (x%factor)==0;
- }
-};
-
-//! Specialization for pointer types. The pointers are random and should not be dereferenced.
-template<typename T>
-class SparseValueSet<T*> {
- SparseValueSet<ptrdiff_t> my_set;
-public:
- T* get( int i ) const {return reinterpret_cast<T*>(my_set.get(i));}
- bool contains( T* x ) const {return my_set.contains(reinterpret_cast<ptrdiff_t>(x));}
-};
-
-//! Specialization for bool.
-/** Checking bool for atomic read/write is pointless in practice, because
- there is no way to *not* atomically read or write a bool value. */
-template<>
-class SparseValueSet<bool> {
-public:
- bool get( int i ) const {return i&1;}
- bool contains( bool ) const {return true;}
-};
-
-#if !__TBB_FLOATING_POINT_BROKEN
-
-#if _MSC_VER==1500 && !defined(__INTEL_COMPILER)
- // VS2008/VC9 seems to have an issue; limits pull in math.h
- #pragma warning( push )
- #pragma warning( disable: 4985 )
-#endif
-#include <limits> /* Need std::numeric_limits */
-#if _MSC_VER==1500 && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif
-
-//! Commonality inherited by specializations for floating-point types.
-template<typename T>
-class SparseFloatSet: NoAssign {
- const T epsilon;
-public:
- SparseFloatSet() : epsilon(std::numeric_limits<T>::epsilon()) {}
- T get( int i ) const {
- return i==0 ? T(0) : 1/T((i&0x7F)+1);
- }
- bool contains( T x ) const {
- if( x==T(0) ) {
- return true;
- } else {
- int j = int(1/x+T(0.5));
- if( 0<j && j<=128 ) {
- T error = x*T(j)-T(1);
- // In the calculation above, if x was indeed generated by method get, the error should be
- // at most epsilon, because x is off by at most 1/2 ulp from its infinitely precise value,
- // j is exact, and the multiplication incurs at most another 1/2 ulp of round-off error.
- if( -epsilon<=error && error<=epsilon ) {
- return true;
- } else {
- REPORT("Warning: excessive floating-point error encountered j=%d x=%.15g error=%.15g\n",j,x,error);
- }
- }
- return false;
- }
- };
-};
-
-template<>
-class SparseValueSet<float>: public SparseFloatSet<float> {};
-
-template<>
-class SparseValueSet<double>: public SparseFloatSet<double> {};
-
-#endif /* !__TBB_FLOATING_POINT_BROKEN */
-
-template<typename T>
-class HammerAssignment: NoAssign {
- tbb::atomic<T>& x;
- const char* name;
- SparseValueSet<T> set;
-public:
- HammerAssignment( tbb::atomic<T>& x_, const char* name_ ) : x(x_), name(name_) {}
- void operator()( int k ) const {
- const int n = 1000000;
- if( k ) {
- tbb::atomic<T> z;
- AssertSameType( z=x, z ); // Check that return type from assignment is correct
- for( int i=0; i<n; ++i ) {
- // Read x atomically into z.
- z = x;
- if( !set.contains(z) ) {
- REPORT("ERROR: assignment of atomic<%s> is not atomic\n", name);
- ParallelError = true;
- return;
- }
- }
- } else {
- tbb::atomic<T> y;
- for( int i=0; i<n; ++i ) {
- // Get pseudo-random value.
- y = set.get(i);
- // Write y atomically into x.
- x = y;
- }
- }
- }
-};
-
-// Compile-time check that a class method has the required signature.
-// Intended to check the assignment operator of tbb::atomic.
-template<typename T> void TestAssignmentSignature( T& (T::*)(const T&) ) {}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // Suppress "conditional expression is constant" warning.
- #pragma warning( push )
- #pragma warning( disable: 4127 )
-#endif
-
-template<typename T>
-void TestAssignment( const char* name ) {
- TestAssignmentSignature( &tbb::atomic<T>::operator= );
- tbb::atomic<T> x;
- x = T(0);
- NativeParallelFor( 2, HammerAssignment<T>( x, name ) );
-#if __TBB_x86_32 && (__linux__ || __FreeBSD__ || _WIN32)
- if( sizeof(T)==8 ) {
- // Some compilers for IA-32 fail to provide 8-byte alignment of objects on the stack,
- // even if the object specifies 8-byte alignment. On such platforms, the IA-32 implementation
- // of atomic<long long> and atomic<unsigned long long> use different tactics depending upon
- // whether the object is properly aligned or not. The following abusive test ensures that we
- // cover both the proper and improper alignment cases, one with the x above and the other with
- // the y below, perhaps not respectively.
-
- // Allocate space big enough to always contain 8-byte locations that are aligned and misaligned.
- char raw_space[15];
- // Set delta to 0 if x is aligned, 4 otherwise.
- uintptr_t delta = ((reinterpret_cast<uintptr_t>(&x)&7) ? 0 : 4);
- // y crosses 8-byte boundary if and only if x does not cross.
- tbb::atomic<T>& y = *reinterpret_cast<tbb::atomic<T>*>((reinterpret_cast<uintptr_t>(&raw_space[7+delta])&~7u) - delta);
- // Assertion checks that y really did end up somewhere inside "raw_space".
- ASSERT( raw_space<=reinterpret_cast<char*>(&y), "y starts before raw_space" );
- ASSERT( reinterpret_cast<char*>(&y+1) <= raw_space+sizeof(raw_space), "y starts after raw_space" );
- y = T(0);
- NativeParallelFor( 2, HammerAssignment<T>( y, name ) );
- }
-#endif /* __TBB_x86_32 && (__linux__ || __FreeBSD__ || _WIN32) */
-}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif
-
-template<typename T>
-void TestParallel( const char* name ) {
- TestLoadAndStoreFences<T>(name);
- TestAssignment<T>(name);
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/blocked_range.h"
-#include "harness_assert.h"
-
-// First test as much as we can without including other headers.
-// Doing so should catch problems arising from failing to include headers.
-
-class AbstractValueType {
- AbstractValueType() {}
- int value;
-public:
- friend AbstractValueType MakeAbstractValueType( int i );
- friend int GetValueOf( const AbstractValueType& v ) {return v.value;}
-};
-
-AbstractValueType MakeAbstractValueType( int i ) {
- AbstractValueType x;
- x.value = i;
- return x;
-}
-
-std::size_t operator-( const AbstractValueType& u, const AbstractValueType& v ) {
- return GetValueOf(u)-GetValueOf(v);
-}
-
-bool operator<( const AbstractValueType& u, const AbstractValueType& v ) {
- return GetValueOf(u)<GetValueOf(v);
-}
-
-AbstractValueType operator+( const AbstractValueType& u, std::size_t offset ) {
- return MakeAbstractValueType(GetValueOf(u)+int(offset));
-}
-
-static void SerialTest() {
- for( int x=-10; x<10; ++x )
- for( int y=-10; y<10; ++y ) {
- AbstractValueType i = MakeAbstractValueType(x);
- AbstractValueType j = MakeAbstractValueType(y);
- for( std::size_t k=1; k<10; ++k ) {
- typedef tbb::blocked_range<AbstractValueType> range_type;
- range_type r( i, j, k );
- AssertSameType( r.empty(), true );
- AssertSameType( range_type::size_type(), std::size_t() );
- AssertSameType( static_cast<range_type::const_iterator*>(0), static_cast<AbstractValueType*>(0) );
- AssertSameType( r.begin(), MakeAbstractValueType(0) );
- AssertSameType( r.end(), MakeAbstractValueType(0) );
- ASSERT( r.empty()==(y<=x), NULL );
- ASSERT( r.grainsize()==k, NULL );
- if( x<=y ) {
- AssertSameType( r.is_divisible(), true );
- ASSERT( r.is_divisible()==(std::size_t(y-x)>k), NULL );
- ASSERT( r.size()==std::size_t(y-x), NULL );
- if( r.is_divisible() ) {
- tbb::blocked_range<AbstractValueType> r2(r,tbb::split());
- ASSERT( GetValueOf(r.begin())==x, NULL );
- ASSERT( GetValueOf(r.end())==GetValueOf(r2.begin()), NULL );
- ASSERT( GetValueOf(r2.end())==y, NULL );
- ASSERT( r.grainsize()==k, NULL );
- ASSERT( r2.grainsize()==k, NULL );
- }
- }
- }
- }
-}
-
-#include "harness.h"
-#include "tbb/parallel_for.h"
-
-const int N = 1<<22;
-
-unsigned char Array[N];
-
-struct Striker {
- // Note: we use <int> here instead of <long> in order to test for Quad 407676
- void operator()( const tbb::blocked_range<int>& r ) const {
- for( tbb::blocked_range<int>::const_iterator i=r.begin(); i!=r.end(); ++i )
- ++Array[i];
- }
-};
-
-void ParallelTest() {
- for( int i=0; i<N; i=i<3 ? i+1 : i*3 ) {
- const tbb::blocked_range<int> r( 0, i, 10 );
- tbb::parallel_for( r, Striker() );
- for( int k=0; k<N; ++k ) {
- ASSERT( Array[k]==(k<i), NULL );
- Array[k] = 0;
- }
- }
-}
-
-#include "tbb/task_scheduler_init.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- ParseCommandLine(argc,argv);
- SerialTest();
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init(p);
- ParallelTest();
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/blocked_range2d.h"
-#include "harness_assert.h"
-
-// First test as much as we can without including other headers.
-// Doing so should catch problems arising from failing to include headers.
-
-template<typename Tag>
-class AbstractValueType {
- AbstractValueType() {}
- int value;
-public:
- template<typename OtherTag>
- friend AbstractValueType<OtherTag> MakeAbstractValueType( int i );
-
- friend int GetValueOf( const AbstractValueType& v ) {return v.value;}
-};
-
-template<typename Tag>
-AbstractValueType<Tag> MakeAbstractValueType( int i ) {
- AbstractValueType<Tag> x;
- x.value = i;
- return x;
-}
-
-template<typename Tag>
-bool operator<( const AbstractValueType<Tag>& u, const AbstractValueType<Tag>& v ) {
- return GetValueOf(u)<GetValueOf(v);
-}
-
-template<typename Tag>
-std::size_t operator-( const AbstractValueType<Tag>& u, const AbstractValueType<Tag>& v ) {
- return GetValueOf(u)-GetValueOf(v);
-}
-
-template<typename Tag>
-AbstractValueType<Tag> operator+( const AbstractValueType<Tag>& u, std::size_t offset ) {
- return MakeAbstractValueType<Tag>(GetValueOf(u)+int(offset));
-}
-
-struct RowTag {};
-struct ColTag {};
-
-static void SerialTest() {
- typedef AbstractValueType<RowTag> row_type;
- typedef AbstractValueType<ColTag> col_type;
- typedef tbb::blocked_range2d<row_type,col_type> range_type;
- for( int rowx=-10; rowx<10; ++rowx ) {
- for( int rowy=rowx; rowy<10; ++rowy ) {
- row_type rowi = MakeAbstractValueType<RowTag>(rowx);
- row_type rowj = MakeAbstractValueType<RowTag>(rowy);
- for( int rowg=1; rowg<10; ++rowg ) {
- for( int colx=-10; colx<10; ++colx ) {
- for( int coly=colx; coly<10; ++coly ) {
- col_type coli = MakeAbstractValueType<ColTag>(colx);
- col_type colj = MakeAbstractValueType<ColTag>(coly);
- for( int colg=1; colg<10; ++colg ) {
- range_type r( rowi, rowj, rowg, coli, colj, colg );
- AssertSameType( r.is_divisible(), true );
- AssertSameType( r.empty(), true );
- AssertSameType( static_cast<range_type::row_range_type::const_iterator*>(0), static_cast<row_type*>(0) );
- AssertSameType( static_cast<range_type::col_range_type::const_iterator*>(0), static_cast<col_type*>(0) );
- AssertSameType( r.rows(), tbb::blocked_range<row_type>( rowi, rowj, 1 ));
- AssertSameType( r.cols(), tbb::blocked_range<col_type>( coli, colj, 1 ));
- ASSERT( r.empty()==(rowx==rowy||colx==coly), NULL );
- ASSERT( r.is_divisible()==(rowy-rowx>rowg||coly-colx>colg), NULL );
- if( r.is_divisible() ) {
- range_type r2(r,tbb::split());
- if( GetValueOf(r2.rows().begin())==GetValueOf(r.rows().begin()) ) {
- ASSERT( GetValueOf(r2.rows().end())==GetValueOf(r.rows().end()), NULL );
- ASSERT( GetValueOf(r2.cols().begin())==GetValueOf(r.cols().end()), NULL );
- } else {
- ASSERT( GetValueOf(r2.cols().end())==GetValueOf(r.cols().end()), NULL );
- ASSERT( GetValueOf(r2.rows().begin())==GetValueOf(r.rows().end()), NULL );
- }
- }
- }
- }
- }
- }
- }
- }
-}
-
-#include "harness.h"
-#include "tbb/parallel_for.h"
-
-const int N = 1<<10;
-
-unsigned char Array[N][N];
-
-struct Striker {
- // Note: we use <int> here instead of <long> in order to test for problems similar to Quad 407676
- void operator()( const tbb::blocked_range2d<int>& r ) const {
- for( tbb::blocked_range<int>::const_iterator i=r.rows().begin(); i!=r.rows().end(); ++i )
- for( tbb::blocked_range<int>::const_iterator j=r.cols().begin(); j!=r.cols().end(); ++j )
- ++Array[i][j];
- }
-};
-
-void ParallelTest() {
- for( int i=0; i<N; i=i<3 ? i+1 : i*3 ) {
- for( int j=0; j<N; j=j<3 ? j+1 : j*3 ) {
- const tbb::blocked_range2d<int> r( 0, i, 7, 0, j, 5 );
- tbb::parallel_for( r, Striker() );
- for( int k=0; k<N; ++k ) {
- for( int l=0; l<N; ++l ) {
- ASSERT( Array[k][l]==(k<i && l<j), NULL );
- Array[k][l] = 0;
- }
- }
- }
- }
-}
-
-#include "tbb/task_scheduler_init.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- ParseCommandLine(argc,argv);
- SerialTest();
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init(p);
- ParallelTest();
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/blocked_range3d.h"
-#include "harness_assert.h"
-
-// First test as much as we can without including other headers.
-// Doing so should catch problems arising from failing to include headers.
-
-template<typename Tag>
-class AbstractValueType {
- AbstractValueType() {}
- int value;
-public:
- template<typename OtherTag>
- friend AbstractValueType<OtherTag> MakeAbstractValueType( int i );
-
- friend int GetValueOf( const AbstractValueType& v ) {return v.value;}
-};
-
-template<typename Tag>
-AbstractValueType<Tag> MakeAbstractValueType( int i ) {
- AbstractValueType<Tag> x;
- x.value = i;
- return x;
-}
-
-template<typename Tag>
-bool operator<( const AbstractValueType<Tag>& u, const AbstractValueType<Tag>& v ) {
- return GetValueOf(u)<GetValueOf(v);
-}
-
-template<typename Tag>
-std::size_t operator-( const AbstractValueType<Tag>& u, const AbstractValueType<Tag>& v ) {
- return GetValueOf(u)-GetValueOf(v);
-}
-
-template<typename Tag>
-AbstractValueType<Tag> operator+( const AbstractValueType<Tag>& u, std::size_t offset ) {
- return MakeAbstractValueType<Tag>(GetValueOf(u)+int(offset));
-}
-
-struct PageTag {};
-struct RowTag {};
-struct ColTag {};
-
-static void SerialTest() {
- typedef AbstractValueType<PageTag> page_type;
- typedef AbstractValueType<RowTag> row_type;
- typedef AbstractValueType<ColTag> col_type;
- typedef tbb::blocked_range3d<page_type,row_type,col_type> range_type;
- for( int pagex=-4; pagex<4; ++pagex ) {
- for( int pagey=pagex; pagey<4; ++pagey ) {
- page_type pagei = MakeAbstractValueType<PageTag>(pagex);
- page_type pagej = MakeAbstractValueType<PageTag>(pagey);
- for( int pageg=1; pageg<4; ++pageg ) {
- for( int rowx=-4; rowx<4; ++rowx ) {
- for( int rowy=rowx; rowy<4; ++rowy ) {
- row_type rowi = MakeAbstractValueType<RowTag>(rowx);
- row_type rowj = MakeAbstractValueType<RowTag>(rowy);
- for( int rowg=1; rowg<4; ++rowg ) {
- for( int colx=-4; colx<4; ++colx ) {
- for( int coly=colx; coly<4; ++coly ) {
- col_type coli = MakeAbstractValueType<ColTag>(colx);
- col_type colj = MakeAbstractValueType<ColTag>(coly);
- for( int colg=1; colg<4; ++colg ) {
- range_type r( pagei, pagej, pageg, rowi, rowj, rowg, coli, colj, colg );
- AssertSameType( r.is_divisible(), true );
-
- AssertSameType( r.empty(), true );
-
- AssertSameType( static_cast<range_type::page_range_type::const_iterator*>(0), static_cast<page_type*>(0) );
- AssertSameType( static_cast<range_type::row_range_type::const_iterator*>(0), static_cast<row_type*>(0) );
- AssertSameType( static_cast<range_type::col_range_type::const_iterator*>(0), static_cast<col_type*>(0) );
-
- AssertSameType( r.pages(), tbb::blocked_range<page_type>( pagei, pagej, 1 ));
- AssertSameType( r.rows(), tbb::blocked_range<row_type>( rowi, rowj, 1 ));
- AssertSameType( r.cols(), tbb::blocked_range<col_type>( coli, colj, 1 ));
-
- ASSERT( r.empty()==(pagex==pagey||rowx==rowy||colx==coly), NULL );
-
- ASSERT( r.is_divisible()==(pagey-pagex>pageg||rowy-rowx>rowg||coly-colx>colg), NULL );
-
- if( r.is_divisible() ) {
- range_type r2(r,tbb::split());
- if( (GetValueOf(r2.pages().begin())==GetValueOf(r.pages().begin())) && (GetValueOf(r2.rows().begin())==GetValueOf(r.rows().begin())) ) {
- ASSERT( GetValueOf(r2.pages().end())==GetValueOf(r.pages().end()), NULL );
- ASSERT( GetValueOf(r2.rows().end())==GetValueOf(r.rows().end()), NULL );
- ASSERT( GetValueOf(r2.cols().begin())==GetValueOf(r.cols().end()), NULL );
- } else {
- if ( (GetValueOf(r2.pages().begin())==GetValueOf(r.pages().begin())) && (GetValueOf(r2.cols().begin())==GetValueOf(r.cols().begin())) ) {
- ASSERT( GetValueOf(r2.pages().end())==GetValueOf(r.pages().end()), NULL );
- ASSERT( GetValueOf(r2.cols().end())==GetValueOf(r.cols().end()), NULL );
- ASSERT( GetValueOf(r2.rows().begin())==GetValueOf(r.rows().end()), NULL );
- } else {
- ASSERT( GetValueOf(r2.rows().end())==GetValueOf(r.rows().end()), NULL );
- ASSERT( GetValueOf(r2.cols().end())==GetValueOf(r.cols().end()), NULL );
- ASSERT( GetValueOf(r2.pages().begin())==GetValueOf(r.pages().end()), NULL );
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
-}
-
-#include "harness.h"
-#include "tbb/parallel_for.h"
-
-const int N = 1<<5;
-
-unsigned char Array[N][N][N];
-
-struct Striker {
- // Note: we use <int> here instead of <long> in order to test for problems similar to Quad 407676
- void operator()( const tbb::blocked_range3d<int>& r ) const {
- for( tbb::blocked_range<int>::const_iterator i=r.pages().begin(); i!=r.pages().end(); ++i )
- for( tbb::blocked_range<int>::const_iterator j=r.rows().begin(); j!=r.rows().end(); ++j )
- for( tbb::blocked_range<int>::const_iterator k=r.cols().begin(); k!=r.cols().end(); ++k )
- ++Array[i][j][k];
- }
-};
-
-void ParallelTest() {
- for( int i=0; i<N; i=i<3 ? i+1 : i*3 ) {
- for( int j=0; j<N; j=j<3 ? j+1 : j*3 ) {
- for( int k=0; k<N; k=k<3 ? k+1 : k*3 ) {
- const tbb::blocked_range3d<int> r( 0, i, 5, 0, j, 3, 0, k, 1 );
- tbb::parallel_for( r, Striker() );
- for( int l=0; l<N; ++l ) {
- for( int m=0; m<N; ++m ) {
- for( int n=0; n<N; ++n ) {
- ASSERT( Array[l][m][n]==(l<i && m<j && n<k), NULL );
- Array[l][m][n] = 0;
- }
- }
- }
- }
- }
- }
-}
-
-#include "tbb/task_scheduler_init.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- ParseCommandLine(argc,argv);
- SerialTest();
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init(p);
- ParallelTest();
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Test whether cache_aligned_allocator works with some of the host's STL containers.
-
-#include "tbb/cache_aligned_allocator.h"
-#include "tbb/tbb_allocator.h"
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-// the real body of the test is there:
-#include "test_allocator.h"
-
-template<>
-struct is_zero_filling<tbb::zero_allocator<void> > {
- static const bool value = true;
-};
-
-__TBB_TEST_EXPORT
-int main() {
- int result = TestMain<tbb::cache_aligned_allocator<void> >();
- result += TestMain<tbb::tbb_allocator<void> >();
- result += TestMain<tbb::zero_allocator<void> >();
-
- REPORT("done\n");
- return result;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Test whether cache_aligned_allocator works with some of the host's STL containers.
-
-#include "tbb/cache_aligned_allocator.h"
-#include "tbb/tbb_allocator.h"
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "test_allocator_STL.h"
-
-__TBB_TEST_EXPORT
-int main() {
- TestAllocatorWithSTL<tbb::cache_aligned_allocator<void> >();
- TestAllocatorWithSTL<tbb::tbb_allocator<void> >();
- TestAllocatorWithSTL<tbb::zero_allocator<void> >();
- REPORT("done\n");
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/combinable.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/parallel_for.h"
-#include "tbb/parallel_reduce.h"
-#include "tbb/blocked_range.h"
-#include "tbb/tick_count.h"
-#include "tbb/tbb_allocator.h"
-#include "tbb/tbb_thread.h"
-
-#include <cstring>
-#include <vector>
-#include <utility>
-
-#include "harness_assert.h"
-#include "harness.h"
-
-#if __TBB_GCC_WARNING_SUPPRESSION_ENABLED
-#pragma GCC diagnostic ignored "-Wuninitialized"
-#endif
-
-static tbb::atomic<int> construction_counter;
-static tbb::atomic<int> destruction_counter;
-
-const int REPETITIONS = 10;
-const int N = 100000;
-const int VALID_NUMBER_OF_KEYS = 100;
-const double EXPECTED_SUM = (REPETITIONS + 1) * N;
-
-//
-// A minimal class
-// Define: default and copy constructor, and allow implicit operator&
-// also operator=
-//
-
-class minimal {
-private:
- int my_value;
-public:
- minimal(int val=0) : my_value(val) { ++construction_counter; }
- minimal( const minimal &m ) : my_value(m.my_value) { ++construction_counter; }
- minimal& operator=(const minimal& other) { my_value = other.my_value; return *this; }
- minimal& operator+=(const minimal& other) { my_value += other.my_value; return *this; }
- operator int() const { return my_value; }
- ~minimal() { ++destruction_counter; }
- void set_value( const int i ) { my_value = i; }
- int value( ) const { return my_value; }
-};
-
-//// functors for initialization and combine
-
-// Addition
-template <typename T>
-struct FunctorAddFinit {
- T operator()() { return 0; }
-};
-
-template <typename T>
-struct FunctorAddFinit7 {
- T operator()() { return 7; }
-};
-
-template <typename T>
-struct FunctorAddCombine {
- T operator()(T left, T right ) const {
- return left + right;
- }
-};
-
-template <typename T>
-struct FunctorAddCombineRef {
- T operator()(const T& left, const T& right ) const {
- return left + right;
- }
-};
-
-template <typename T>
-T my_finit( ) { return 0; }
-
-template <typename T>
-T my_combine( T left, T right) { return left + right; }
-
-template <typename T>
-T my_combine_ref( const T &left, const T &right) { return left + right; }
-
-template <typename T>
-class CombineEachHelper {
-public:
- CombineEachHelper(T& _result) : my_result(_result) {}
- void operator()(const T& new_bit) { my_result += new_bit; }
- CombineEachHelper& operator=(const CombineEachHelper& other) {
- my_result = other;
- return *this;
- }
-private:
- T& my_result;
-};
-
-template <typename T>
-class CombineEachHelperCnt {
-public:
- CombineEachHelperCnt(T& _result, int& _nbuckets) : my_result(_result), nBuckets(_nbuckets) {}
- void operator()(const T& new_bit) { my_result += new_bit; ++nBuckets; }
- CombineEachHelperCnt& operator=(const CombineEachHelperCnt& other) {
- my_result = other.my_result;
- nBuckets = other.nBuckets;
- return *this;
- }
-private:
- T& my_result;
- int& nBuckets;
-};
-
-template <typename T>
-class CombineEachVectorHelper {
-public:
- typedef std::vector<T, tbb::tbb_allocator<T> > ContainerType;
- CombineEachVectorHelper(T& _result) : my_result(_result) { }
- void operator()(const ContainerType& new_bit) {
- for(typename ContainerType::const_iterator ci = new_bit.begin(); ci != new_bit.end(); ++ci) {
- my_result += *ci;
- }
- }
- CombineEachVectorHelper& operator=(const CombineEachVectorHelper& other) { my_result=other.my_result; return *this;}
-private:
- T& my_result;
-};
-
-
-
-//// end functors
-
-template< typename T >
-void run_serial_scalar_tests(const char *test_name) {
- tbb::tick_count t0;
- T sum = 0;
-
- if (Verbose) REPORT("Testing serial %s... ", test_name);
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
- for (int i = 0; i < N; ++i) {
- sum += 1;
- }
- }
-
- double ResultValue = sum;
- ASSERT( EXPECTED_SUM == ResultValue, NULL);
- if (Verbose)
- REPORT("done\nserial %s, 0, %g, %g\n", test_name, ResultValue, ( tbb::tick_count::now() - t0).seconds());
-}
-
-
-template <typename T>
-class ParallelScalarBody: NoAssign {
-
- tbb::combinable<T> &sums;
-
-public:
-
- ParallelScalarBody ( tbb::combinable<T> &_sums ) : sums(_sums) { }
-
- void operator()( const tbb::blocked_range<int> &r ) const {
- for (int i = r.begin(); i != r.end(); ++i) {
- bool was_there;
- T& my_local = sums.local(was_there);
- if(!was_there) my_local = 0;
- my_local += 1 ;
- }
- }
-
-};
-
-// parallel body with no test for first access.
-template <typename T>
-class ParallelScalarBodyNoInit: NoAssign {
-
- tbb::combinable<T> &sums;
-
-public:
-
- ParallelScalarBodyNoInit ( tbb::combinable<T> &_sums ) : sums(_sums) { }
-
- void operator()( const tbb::blocked_range<int> &r ) const {
- for (int i = r.begin(); i != r.end(); ++i) {
- sums.local() += 1 ;
- }
- }
-
-};
-
-template< typename T >
-void RunParallelScalarTests(const char *test_name) {
-
- tbb::task_scheduler_init init(tbb::task_scheduler_init::deferred);
-
- for (int p = MinThread; p <= MaxThread; ++p) {
-
-
- if (p == 0) continue;
-
- if (Verbose) REPORT("Testing parallel %s on %d thread(s)... ", test_name, p);
- init.initialize(p);
-
- tbb::tick_count t0;
-
- T assign_sum(0);
-
- T combine_sum(0);
-
- T combine_ref_sum(0);
-
- T combine_each_sum(0);
-
- T combine_finit_sum(0);
-
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
-
- tbb::combinable<T> sums;
- FunctorAddFinit<T> my_finit_decl;
- tbb::combinable<T> finit_combinable(my_finit_decl);
-
-
- tbb::parallel_for( tbb::blocked_range<int>( 0, N, 10000 ), ParallelScalarBodyNoInit<T>( finit_combinable ) );
- tbb::parallel_for( tbb::blocked_range<int>( 0, N, 10000 ), ParallelScalarBody<T>( sums ) );
-
- // Use combine
- combine_sum += sums.combine(my_combine<T>);
- combine_ref_sum += sums.combine(my_combine_ref<T>);
-
- CombineEachHelper<T> my_helper(combine_each_sum);
- sums.combine_each(my_helper);
-
- // test assignment
- tbb::combinable<T> assigned;
- assigned = sums;
-
- assign_sum += assigned.combine(my_combine<T>);
-
- combine_finit_sum += finit_combinable.combine(my_combine<T>);
- }
-
- ASSERT( EXPECTED_SUM == combine_sum, NULL);
- ASSERT( EXPECTED_SUM == combine_ref_sum, NULL);
- ASSERT( EXPECTED_SUM == assign_sum, NULL);
- ASSERT( EXPECTED_SUM == combine_finit_sum, NULL);
-
- if (Verbose)
- REPORT("done\nparallel %s, %d, %g, %g\n", test_name, p, static_cast<double>(combine_sum),
- ( tbb::tick_count::now() - t0).seconds());
- init.terminate();
- }
-}
-
-
-template <typename T>
-class ParallelVectorForBody: NoAssign {
-
- tbb::combinable< std::vector<T, tbb::tbb_allocator<T> > > &locals;
-
-public:
-
- ParallelVectorForBody ( tbb::combinable< std::vector<T, tbb::tbb_allocator<T> > > &_locals ) : locals(_locals) { }
-
- void operator()( const tbb::blocked_range<int> &r ) const {
- T one = 1;
-
- for (int i = r.begin(); i < r.end(); ++i) {
- locals.local().push_back( one );
- }
- }
-
-};
-
-template< typename T >
-void RunParallelVectorTests(const char *test_name) {
- tbb::tick_count t0;
- tbb::task_scheduler_init init(tbb::task_scheduler_init::deferred);
- typedef std::vector<T, tbb::tbb_allocator<T> > ContainerType;
-
- for (int p = MinThread; p <= MaxThread; ++p) {
-
- if (p == 0) continue;
- if (Verbose) REPORT("Testing parallel %s on %d thread(s)... ", test_name, p);
- init.initialize(p);
-
- T sum = 0;
- T sum2 = 0;
- T sum3 = 0;
-
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
- typedef typename tbb::combinable< ContainerType > CombinableType;
- CombinableType vs;
-
- tbb::parallel_for ( tbb::blocked_range<int> (0, N, 10000), ParallelVectorForBody<T>( vs ) );
-
- // copy construct
- CombinableType vs2(vs); // this causes an assertion failure, related to allocators...
-
- // assign
- CombinableType vs3;
- vs3 = vs;
-
- CombineEachVectorHelper<T> MyCombineEach(sum);
- vs.combine_each(MyCombineEach);
-
- CombineEachVectorHelper<T> MyCombineEach2(sum2);
- vs2.combine_each(MyCombineEach2);
-
- CombineEachVectorHelper<T> MyCombineEach3(sum3);
- vs2.combine_each(MyCombineEach3);
- // combine_each sums all elements of each vector into the result.
- }
-
- double ResultValue = sum;
- ASSERT( EXPECTED_SUM == ResultValue, NULL);
- ResultValue = sum2;
- ASSERT( EXPECTED_SUM == ResultValue, NULL);
- ResultValue = sum3;
- ASSERT( EXPECTED_SUM == ResultValue, NULL);
- if (Verbose)
- REPORT("done\nparallel %s, %d, %g, %g\n", test_name, p, ResultValue, ( tbb::tick_count::now() - t0).seconds());
- init.terminate();
- }
-}
-
-#include "harness_barrier.h"
-
-Harness::SpinBarrier sBarrier;
-
-struct Body : NoAssign {
- tbb::combinable<int>* locals;
- const int nthread;
- const int nIters;
- Body( int nthread_, int niters_ ) : nthread(nthread_), nIters(niters_) { sBarrier.initialize(nthread_); }
-
-
- void operator()(int thread_id ) const {
- bool existed;
- sBarrier.wait();
- for(int i = 0; i < nIters; ++i ) {
- existed = thread_id & 1;
- int oldval = locals->local(existed);
- ASSERT(existed == (i > 0), "Error on first reference");
- ASSERT(!existed || (oldval == thread_id), "Error on fetched value");
- existed = thread_id & 1;
- locals->local(existed) = thread_id;
- ASSERT(existed, "Error on assignment");
- }
- }
-};
-
-void
-TestLocalAllocations( int nthread ) {
- ASSERT(nthread > 0, "nthread must be positive");
-#define NITERATIONS 1000
- Body myBody(nthread, NITERATIONS);
- tbb::combinable<int> myCombinable;
- myBody.locals = &myCombinable;
-
- NativeParallelFor( nthread, myBody );
-
- int mySum = 0;
- int mySlots = 0;
- CombineEachHelperCnt<int> myCountCombine(mySum, mySlots);
- myCombinable.combine_each(myCountCombine);
-
- ASSERT(nthread == mySlots, "Incorrect number of slots");
- ASSERT(mySum == (nthread - 1) * nthread / 2, "Incorrect values in result");
-}
-
-
-void
-RunParallelTests() {
- RunParallelScalarTests<int>("int");
- RunParallelScalarTests<double>("double");
- RunParallelScalarTests<minimal>("minimal");
- RunParallelVectorTests<int>("std::vector<int, tbb::tbb_allocator<int> >");
- RunParallelVectorTests<double>("std::vector<double, tbb::tbb_allocator<double> >");
-}
-
-template <typename T>
-void
-RunAssignmentAndCopyConstructorTest(const char *test_name) {
- if (Verbose) REPORT("Testing assignment and copy construction for %s\n", test_name);
-
- // test creation with finit function (combine returns finit return value if no threads have created locals)
- FunctorAddFinit7<T> my_finit7_decl;
- tbb::combinable<T> create2(my_finit7_decl);
- ASSERT(7 == create2.combine(my_combine<T>), NULL);
-
- // test copy construction with function initializer
- tbb::combinable<T> copy2(create2);
- ASSERT(7 == copy2.combine(my_combine<T>), NULL);
-
- // test copy assignment with function initializer
- FunctorAddFinit<T> my_finit_decl;
- tbb::combinable<T> assign2(my_finit_decl);
- assign2 = create2;
- ASSERT(7 == assign2.combine(my_combine<T>), NULL);
-}
-
-void
-RunAssignmentAndCopyConstructorTests() {
- if(Verbose) REPORT("Running assignment and copy constructor tests\n");
- RunAssignmentAndCopyConstructorTest<int>("int");
- RunAssignmentAndCopyConstructorTest<double>("double");
- RunAssignmentAndCopyConstructorTest<minimal>("minimal");
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char *argv[]) {
- ParseCommandLine(argc, argv);
-
- if (MaxThread > 0) {
- RunParallelTests();
- }
-
- RunAssignmentAndCopyConstructorTests();
- for(int i = 1 <= MinThread ? MinThread : 1; i <= MaxThread; ++i) {
- if(Verbose) REPORT("Testing local() allocation with nthreads=%d\n", i);
- for(int j = 0; j < 100; ++j) {
- TestLocalAllocations(i);
- }
- }
-
- REPORT("done\n");
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-
-union char2bool {
- unsigned char c;
- volatile bool b;
-} u;
-
-// The function proves the compiler uses 0 or 1 to store a bool. It
-// inspects what a compiler does when it loads a bool. A compiler that
-// uses a value other than 0 or 1 to represent a bool will have to normalize
-// the value to 0 or 1 when the bool is cast to an unsigned char.
-// Compilers that pass this test do not do the normalization, and thus must
-// be assuming that a bool is a 0 or 1.
-int test_bool_representation() {
- for( unsigned i=0; i<256; ++i ) {
- u.c = (unsigned char)i;
- unsigned char x = (unsigned char)u.b;
- if( x != i ) {
- REPORT("Test failed at iteration i=%d\n",i);
- return 1;
- }
- }
- return 0;
-}
-
-__TBB_TEST_EXPORT
-int main() {
- if( test_bool_representation()!=0 )
- REPORT("ERROR: bool representation test failed\n");
- else
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifndef TBB_USE_PERFORMANCE_WARNINGS
-#define TBB_USE_PERFORMANCE_WARNINGS 1
-#endif
-
-// Our tests usually include the header under test first. But this test needs
-// to use the preprocessor to edit the identifier runtime_warning in concurrent_hash_map.h.
-// Hence we include a few other headers before doing the abusive edit.
-#include "tbb/tbb_stddef.h" /* Defines runtime_warning */
-#include "harness_assert.h" /* Prerequisite for defining hooked_warning */
-
-// The symbol internal::runtime_warning is normally an entry point into the TBB library.
-// Here for sake of testing, we define it to be hooked_warning, a routine peculiar to this unit test.
-#define runtime_warning hooked_warning
-
-static bool bad_hashing = false;
-
-namespace tbb {
- namespace internal {
- static void hooked_warning( const char* /*format*/, ... ) {
- ASSERT(bad_hashing, "unexpected bad hashing");
- }
- } // namespace internal
-} // namespace tbb
-
-#include "tbb/concurrent_hash_map.h"
-
-// Restore runtime_warning as an entry point into the TBB library.
-#undef runtime_warning
-
-// Test whether a sufficient set of headers were included to instantiate a concurernt_hash_map. OSS Bug #120 (& #130):
-// http://www.threadingbuildingblocks.org/bug_desc.php?id=120
-tbb::concurrent_hash_map<std::pair<std::pair<int,std::string>,const char*>,int> TestInstantiation;
-
-#include "tbb/parallel_for.h"
-#include "tbb/blocked_range.h"
-#include "tbb/atomic.h"
-#include "tbb/tick_count.h"
-#include "harness.h"
-#include "harness_allocator.h"
-
-class MyException : public std::bad_alloc {
-public:
- virtual const char *what() const throw() { return "out of items limit"; }
- virtual ~MyException() throw() {}
-};
-
-/** Has tighly controlled interface so that we can verify
- that concurrent_hash_map uses only the required interface. */
-class MyKey {
-private:
- void operator=( const MyKey& ); // Deny access
- int key;
- friend class MyHashCompare;
- friend class YourHashCompare;
-public:
- static MyKey make( int i ) {
- MyKey result;
- result.key = i;
- return result;
- }
- int value_of() const {return key;}
-};
-
-tbb::atomic<long> MyDataCount;
-long MyDataCountLimit = 0;
-
-class MyData {
-protected:
- friend class MyData2;
- int data;
- enum state_t {
- LIVE=0x1234,
- DEAD=0x5678
- } my_state;
- void operator=( const MyData& ); // Deny acces
-public:
- MyData(int i = 0) {
- my_state = LIVE;
- data = i;
- if(MyDataCountLimit && MyDataCount + 1 >= MyDataCountLimit)
- throw MyException();
- ++MyDataCount;
- }
- MyData( const MyData& other ) {
- ASSERT( other.my_state==LIVE, NULL );
- my_state = LIVE;
- data = other.data;
- if(MyDataCountLimit && MyDataCount + 1 >= MyDataCountLimit)
- throw MyException();
- ++MyDataCount;
- }
- ~MyData() {
- --MyDataCount;
- my_state = DEAD;
- }
- static MyData make( int i ) {
- MyData result;
- result.data = i;
- return result;
- }
- int value_of() const {
- ASSERT( my_state==LIVE, NULL );
- return data;
- }
- void set_value( int i ) {
- ASSERT( my_state==LIVE, NULL );
- data = i;
- }
- bool operator==( const MyData& other ) const {
- ASSERT( other.my_state==LIVE, NULL );
- ASSERT( my_state==LIVE, NULL );
- return data == other.data;
- }
-};
-
-class MyData2 : public MyData {
-public:
- MyData2( ) {}
- MyData2( const MyData& other ) {
- ASSERT( other.my_state==LIVE, NULL );
- ASSERT( my_state==LIVE, NULL );
- data = other.data;
- }
- void operator=( const MyData& other ) {
- ASSERT( other.my_state==LIVE, NULL );
- ASSERT( my_state==LIVE, NULL );
- data = other.data;
- }
- void operator=( const MyData2& other ) {
- ASSERT( other.my_state==LIVE, NULL );
- ASSERT( my_state==LIVE, NULL );
- data = other.data;
- }
- bool operator==( const MyData2& other ) const {
- ASSERT( other.my_state==LIVE, NULL );
- ASSERT( my_state==LIVE, NULL );
- return data == other.data;
- }
-};
-
-class MyHashCompare {
-public:
- bool equal( const MyKey& j, const MyKey& k ) const {
- return j.key==k.key;
- }
- unsigned long hash( const MyKey& k ) const {
- return k.key;
- }
-};
-
-class YourHashCompare {
-public:
- bool equal( const MyKey& j, const MyKey& k ) const {
- return j.key==k.key;
- }
- unsigned long hash( const MyKey& ) const {
- return 1;
- }
-};
-
-typedef local_counting_allocator<std::allocator<MyData> > MyAllocator;
-typedef tbb::concurrent_hash_map<MyKey,MyData,MyHashCompare,MyAllocator> MyTable;
-typedef tbb::concurrent_hash_map<MyKey,MyData2,MyHashCompare> MyTable2;
-typedef tbb::concurrent_hash_map<MyKey,MyData,YourHashCompare> YourTable;
-
-template<typename MyTable>
-inline void CheckAllocator(MyTable &table, size_t expected_allocs, size_t expected_frees, bool exact = true) {
- size_t items_allocated = table.get_allocator().items_allocated, items_freed = table.get_allocator().items_freed;
- size_t allocations = table.get_allocator().allocations, frees = table.get_allocator().frees;
- if(Verbose)
- REPORT("checking allocators: items %u/%u, allocs %u/%u\n",
- unsigned(items_allocated), unsigned(items_freed), unsigned(allocations), unsigned(frees) );
- ASSERT( items_allocated == allocations, NULL); ASSERT( items_freed == frees, NULL);
- if(exact) {
- ASSERT( allocations == expected_allocs, NULL); ASSERT( frees == expected_frees, NULL);
- } else {
- ASSERT( allocations >= expected_allocs, NULL); ASSERT( frees >= expected_frees, NULL);
- ASSERT( allocations - frees == expected_allocs - expected_frees, NULL );
- }
-}
-
-inline bool UseKey( size_t i ) {
- return (i&3)!=3;
-}
-
-struct Insert {
- static void apply( MyTable& table, int i ) {
- if( UseKey(i) ) {
- if( i&4 ) {
- MyTable::accessor a;
- table.insert( a, MyKey::make(i) );
- if( i&1 )
- (*a).second.set_value(i*i);
- else
- a->second.set_value(i*i);
- } else
- if( i&1 ) {
- MyTable::accessor a;
- table.insert( a, std::make_pair(MyKey::make(i), MyData(i*i)) );
- ASSERT( (*a).second.value_of()==i*i, NULL );
- } else {
- MyTable::const_accessor ca;
- table.insert( ca, std::make_pair(MyKey::make(i), MyData(i*i)) );
- ASSERT( ca->second.value_of()==i*i, NULL );
- }
- }
- }
-};
-
-struct Find {
- static void apply( MyTable& table, int i ) {
- MyTable::accessor a;
- const MyTable::accessor& ca = a;
- bool b = table.find( a, MyKey::make(i) );
- ASSERT( b==!a.empty(), NULL );
- if( b ) {
- if( !UseKey(i) )
- REPORT("Line %d: unexpected key %d present\n",__LINE__,i);
- AssertSameType( &*a, static_cast<MyTable::value_type*>(0) );
- ASSERT( ca->second.value_of()==i*i, NULL );
- ASSERT( (*ca).second.value_of()==i*i, NULL );
- if( i&1 )
- ca->second.set_value( ~ca->second.value_of() );
- else
- (*ca).second.set_value( ~ca->second.value_of() );
- } else {
- if( UseKey(i) )
- REPORT("Line %d: key %d missing\n",__LINE__,i);
- }
- }
-};
-
-struct FindConst {
- static void apply( const MyTable& table, int i ) {
- MyTable::const_accessor a;
- const MyTable::const_accessor& ca = a;
- bool b = table.find( a, MyKey::make(i) );
- ASSERT( b==(table.count(MyKey::make(i))>0), NULL );
- ASSERT( b==!a.empty(), NULL );
- ASSERT( b==UseKey(i), NULL );
- if( b ) {
- AssertSameType( &*ca, static_cast<const MyTable::value_type*>(0) );
- ASSERT( ca->second.value_of()==~(i*i), NULL );
- ASSERT( (*ca).second.value_of()==~(i*i), NULL );
- }
- }
-};
-
-tbb::atomic<int> EraseCount;
-
-struct Erase {
- static void apply( MyTable& table, int i ) {
- bool b;
- if(i&4) {
- if(i&8) {
- MyTable::const_accessor a;
- b = table.find( a, MyKey::make(i) ) && table.erase( a );
- } else {
- MyTable::accessor a;
- b = table.find( a, MyKey::make(i) ) && table.erase( a );
- }
- } else
- b = table.erase( MyKey::make(i) );
- if( b ) ++EraseCount;
- ASSERT( table.count(MyKey::make(i)) == 0, NULL );
- }
-};
-
-static const int IE_SIZE = 2;
-tbb::atomic<YourTable::size_type> InsertEraseCount[IE_SIZE];
-
-struct InsertErase {
- static void apply( YourTable& table, int i ) {
- if ( i%3 ) {
- int key = i%IE_SIZE;
- if ( table.insert( std::make_pair(MyKey::make(key), MyData2()) ) )
- ++InsertEraseCount[key];
- } else {
- int key = i%IE_SIZE;
- if( i&1 ) {
- YourTable::accessor res;
- if(table.find( res, MyKey::make(key) ) && table.erase( res ) )
- --InsertEraseCount[key];
- } else {
- YourTable::const_accessor res;
- if(table.find( res, MyKey::make(key) ) && table.erase( res ) )
- --InsertEraseCount[key];
- }
- }
- }
-};
-
-// Test for the deadlock discussed at:
-// http://softwarecommunity.intel.com/isn/Community/en-US/forums/permalink/30253302/30253302/ShowThread.aspx#30253302
-struct InnerInsert {
- static void apply( YourTable& table, int i ) {
- YourTable::accessor a1, a2;
- if(i&1) __TBB_Yield();
- table.insert( a1, MyKey::make(1) );
- __TBB_Yield();
- table.insert( a2, MyKey::make(1 + (1<<30)) ); // the same chain
- table.erase( a2 ); // if erase by key it would lead to deadlock for single thread
- }
-};
-
-template<typename Op, typename MyTable>
-class TableOperation: NoAssign {
- MyTable& my_table;
-public:
- void operator()( const tbb::blocked_range<int>& range ) const {
- for( int i=range.begin(); i!=range.end(); ++i )
- Op::apply(my_table,i);
- }
- TableOperation( MyTable& table ) : my_table(table) {}
-};
-
-template<typename Op, typename TableType>
-void DoConcurrentOperations( TableType& table, int n, const char* what, int nthread ) {
- if( Verbose )
- REPORT("testing %s with %d threads\n",what,nthread);
- tbb::tick_count t0 = tbb::tick_count::now();
- tbb::parallel_for( tbb::blocked_range<int>(0,n,100), TableOperation<Op,TableType>(table) );
- tbb::tick_count t1 = tbb::tick_count::now();
- if( Verbose )
- REPORT("time for %s = %g with %d threads\n",what,(t1-t0).seconds(),nthread);
-}
-
-//! Test traversing the table with an iterator.
-void TraverseTable( MyTable& table, size_t n, size_t expected_size ) {
- if( Verbose )
- REPORT("testing traversal\n");
- size_t actual_size = table.size();
- ASSERT( actual_size==expected_size, NULL );
- size_t count = 0;
- bool* array = new bool[n];
- memset( array, 0, n*sizeof(bool) );
- const MyTable& const_table = table;
- MyTable::const_iterator ci = const_table.begin();
- for( MyTable::iterator i = table.begin(); i!=table.end(); ++i ) {
- // Check iterator
- int k = i->first.value_of();
- ASSERT( UseKey(k), NULL );
- ASSERT( (*i).first.value_of()==k, NULL );
- ASSERT( 0<=k && size_t(k)<n, "out of bounds key" );
- ASSERT( !array[k], "duplicate key" );
- array[k] = true;
- ++count;
-
- // Check lower/upper bounds
- std::pair<MyTable::iterator, MyTable::iterator> er = table.equal_range(i->first);
- std::pair<MyTable::const_iterator, MyTable::const_iterator> cer = const_table.equal_range(i->first);
- ASSERT(cer.first == er.first && cer.second == er.second, NULL);
- ASSERT(cer.first == i, NULL);
- ASSERT(std::distance(cer.first, cer.second) == 1, NULL);
-
- // Check const_iterator
- ASSERT( ci->first.value_of()==k, NULL );
- ASSERT( (*ci).first.value_of()==k, NULL );
- ++ci;
- }
- ASSERT( ci==const_table.end(), NULL );
- delete[] array;
- if( count!=expected_size ) {
- REPORT("Line %d: count=%ld but should be %ld\n",__LINE__,long(count),long(expected_size));
- }
-}
-
-typedef tbb::atomic<unsigned char> AtomicByte;
-
-template<typename RangeType>
-struct ParallelTraverseBody: NoAssign {
- const size_t n;
- AtomicByte* const array;
- ParallelTraverseBody( AtomicByte array_[], size_t n_ ) :
- n(n_),
- array(array_)
- {}
- void operator()( const RangeType& range ) const {
- for( typename RangeType::iterator i = range.begin(); i!=range.end(); ++i ) {
- int k = i->first.value_of();
- ASSERT( 0<=k && size_t(k)<n, NULL );
- ++array[k];
- }
- }
-};
-
-void Check( AtomicByte array[], size_t n, size_t expected_size ) {
- if( expected_size )
- for( size_t k=0; k<n; ++k ) {
- if( array[k] != int(UseKey(k)) ) {
- REPORT("array[%d]=%d != %d=UseKey(%d)\n",
- int(k), int(array[k]), int(UseKey(k)), int(k));
- ASSERT(false,NULL);
- }
- }
-}
-
-//! Test travering the tabel with a parallel range
-void ParallelTraverseTable( MyTable& table, size_t n, size_t expected_size ) {
- if( Verbose )
- REPORT("testing parallel traversal\n");
- ASSERT( table.size()==expected_size, NULL );
- AtomicByte* array = new AtomicByte[n];
-
- memset( array, 0, n*sizeof(AtomicByte) );
- MyTable::range_type r = table.range(10);
- tbb::parallel_for( r, ParallelTraverseBody<MyTable::range_type>( array, n ));
- Check( array, n, expected_size );
-
- const MyTable& const_table = table;
- memset( array, 0, n*sizeof(AtomicByte) );
- MyTable::const_range_type cr = const_table.range(10);
- tbb::parallel_for( cr, ParallelTraverseBody<MyTable::const_range_type>( array, n ));
- Check( array, n, expected_size );
-
- delete[] array;
-}
-
-void TestInsertFindErase( int nthread ) {
- int n=250000;
-
- // compute m = number of unique keys
- int m = 0;
- for( int i=0; i<n; ++i )
- m += UseKey(i);
-
- MyAllocator a; a.items_freed = a.frees = 100;
- ASSERT( MyDataCount==0, NULL );
- MyTable table(a);
- TraverseTable(table,n,0);
- ParallelTraverseTable(table,n,0);
- CheckAllocator(table, 0, 100);
-
- DoConcurrentOperations<Insert,MyTable>(table,n,"insert",nthread);
- ASSERT( MyDataCount==m, NULL );
- TraverseTable(table,n,m);
- ParallelTraverseTable(table,n,m);
- CheckAllocator(table, m, 100);
-
- DoConcurrentOperations<Find,MyTable>(table,n,"find",nthread);
- ASSERT( MyDataCount==m, NULL );
- CheckAllocator(table, m, 100);
-
- DoConcurrentOperations<FindConst,MyTable>(table,n,"find(const)",nthread);
- ASSERT( MyDataCount==m, NULL );
- CheckAllocator(table, m, 100);
-
- EraseCount=0;
- DoConcurrentOperations<Erase,MyTable>(table,n,"erase",nthread);
- ASSERT( EraseCount==m, NULL );
- ASSERT( MyDataCount==0, NULL );
- TraverseTable(table,n,0);
- CheckAllocator(table, m, m+100);
-
- bad_hashing = true;
- table.clear();
- bad_hashing = false;
-
- if(nthread > 1) {
- YourTable ie_table;
- for( int i=0; i<IE_SIZE; ++i )
- InsertEraseCount[i] = 0;
- DoConcurrentOperations<InsertErase,YourTable>(ie_table,n/2,"insert_erase",nthread);
- for( int i=0; i<IE_SIZE; ++i )
- ASSERT( InsertEraseCount[i]==ie_table.count(MyKey::make(i)), NULL );
-
- DoConcurrentOperations<InnerInsert,YourTable>(ie_table,2000,"inner insert",nthread);
- }
-}
-
-volatile int Counter;
-
-class AddToTable: NoAssign {
- MyTable& my_table;
- const int my_nthread;
- const int my_m;
-public:
- AddToTable( MyTable& table, int nthread, int m ) : my_table(table), my_nthread(nthread), my_m(m) {}
- void operator()( int ) const {
- for( int i=0; i<my_m; ++i ) {
- // Busy wait to synchronize threads
- int j = 0;
- while( Counter<i ) {
- if( ++j==1000000 ) {
- // If Counter<i after a million iterations, then we almost surely have
- // more logical threads than physical threads, and should yield in
- // order to let suspended logical threads make progress.
- j = 0;
- __TBB_Yield();
- }
- }
- // Now all threads attempt to simultaneously insert a key.
- int k;
- {
- MyTable::accessor a;
- MyKey key = MyKey::make(i);
- if( my_table.insert( a, key ) )
- a->second.set_value( 1 );
- else
- a->second.set_value( a->second.value_of()+1 );
- k = a->second.value_of();
- }
- if( k==my_nthread )
- Counter=i+1;
- }
- }
-};
-
-class RemoveFromTable: NoAssign {
- MyTable& my_table;
- const int my_nthread;
- const int my_m;
-public:
- RemoveFromTable( MyTable& table, int nthread, int m ) : my_table(table), my_nthread(nthread), my_m(m) {}
- void operator()(int) const {
- for( int i=0; i<my_m; ++i ) {
- bool b;
- if(i&4) {
- if(i&8) {
- MyTable::const_accessor a;
- b = my_table.find( a, MyKey::make(i) ) && my_table.erase( a );
- } else {
- MyTable::accessor a;
- b = my_table.find( a, MyKey::make(i) ) && my_table.erase( a );
- }
- } else
- b = my_table.erase( MyKey::make(i) );
- if( b ) ++EraseCount;
- }
- }
-};
-
-//! Test for memory leak in concurrent_hash_map (TR #153).
-void TestConcurrency( int nthread ) {
- if( Verbose )
- REPORT("testing multiple insertions/deletions of same key with %d threads\n", nthread);
- {
- ASSERT( MyDataCount==0, NULL );
- MyTable table;
- const int m = 1000;
- Counter = 0;
- tbb::tick_count t0 = tbb::tick_count::now();
- NativeParallelFor( nthread, AddToTable(table,nthread,m) );
- tbb::tick_count t1 = tbb::tick_count::now();
- if( Verbose )
- REPORT("time for %u insertions = %g with %d threads\n",unsigned(MyDataCount),(t1-t0).seconds(),nthread);
- ASSERT( MyDataCount==m, "memory leak detected" );
-
- EraseCount = 0;
- t0 = tbb::tick_count::now();
- NativeParallelFor( nthread, RemoveFromTable(table,nthread,m) );
- t1 = tbb::tick_count::now();
- if( Verbose )
- REPORT("time for %u deletions = %g with %d threads\n",unsigned(EraseCount),(t1-t0).seconds(),nthread);
- ASSERT( MyDataCount==0, "memory leak detected" );
- ASSERT( EraseCount==m, "return value of erase() is broken" );
-
- CheckAllocator(table, m, m, /*exact*/nthread <= 1);
- }
- ASSERT( MyDataCount==0, "memory leak detected" );
-}
-
-void TestTypes() {
- AssertSameType( static_cast<MyTable::key_type*>(0), static_cast<MyKey*>(0) );
- AssertSameType( static_cast<MyTable::mapped_type*>(0), static_cast<MyData*>(0) );
- AssertSameType( static_cast<MyTable::value_type*>(0), static_cast<std::pair<const MyKey,MyData>*>(0) );
- AssertSameType( static_cast<MyTable::accessor::value_type*>(0), static_cast<MyTable::value_type*>(0) );
- AssertSameType( static_cast<MyTable::const_accessor::value_type*>(0), static_cast<const MyTable::value_type*>(0) );
- AssertSameType( static_cast<MyTable::size_type*>(0), static_cast<size_t*>(0) );
- AssertSameType( static_cast<MyTable::difference_type*>(0), static_cast<ptrdiff_t*>(0) );
-}
-
-template<typename Iterator, typename T>
-void TestIteratorTraits() {
- AssertSameType( static_cast<typename Iterator::difference_type*>(0), static_cast<ptrdiff_t*>(0) );
- AssertSameType( static_cast<typename Iterator::value_type*>(0), static_cast<T*>(0) );
- AssertSameType( static_cast<typename Iterator::pointer*>(0), static_cast<T**>(0) );
- AssertSameType( static_cast<typename Iterator::iterator_category*>(0), static_cast<std::forward_iterator_tag*>(0) );
- T x;
- typename Iterator::reference xr = x;
- typename Iterator::pointer xp = &x;
- ASSERT( &xr==xp, NULL );
-}
-
-template<typename Iterator1, typename Iterator2>
-void TestIteratorAssignment( Iterator2 j ) {
- Iterator1 i(j), k;
- ASSERT( i==j, NULL ); ASSERT( !(i!=j), NULL );
- k = j;
- ASSERT( k==j, NULL ); ASSERT( !(k!=j), NULL );
-}
-
-template<typename Range1, typename Range2>
-void TestRangeAssignment( Range2 r2 ) {
- Range1 r1(r2); r1 = r2;
-}
-//------------------------------------------------------------------------
-// Test for copy constructor and assignment
-//------------------------------------------------------------------------
-
-template<typename MyTable>
-static void FillTable( MyTable& x, int n ) {
- for( int i=1; i<=n; ++i ) {
- MyKey key( MyKey::make(i) );
- typename MyTable::accessor a;
- bool b = x.insert(a,key);
- ASSERT(b,NULL);
- a->second.set_value( i*i );
- }
-}
-
-template<typename MyTable>
-static void CheckTable( const MyTable& x, int n ) {
- ASSERT( x.size()==size_t(n), "table is different size than expected" );
- ASSERT( x.empty()==(n==0), NULL );
- ASSERT( x.size()<=x.max_size(), NULL );
- for( int i=1; i<=n; ++i ) {
- MyKey key( MyKey::make(i) );
- typename MyTable::const_accessor a;
- bool b = x.find(a,key);
- ASSERT( b, NULL );
- ASSERT( a->second.value_of()==i*i, NULL );
- }
- int count = 0;
- int key_sum = 0;
- for( typename MyTable::const_iterator i(x.begin()); i!=x.end(); ++i ) {
- ++count;
- key_sum += i->first.value_of();
- }
- ASSERT( count==n, NULL );
- ASSERT( key_sum==n*(n+1)/2, NULL );
-}
-
-static void TestCopy() {
- if( Verbose )
- REPORT("testing copy\n");
- MyTable t1;
- for( int i=0; i<10000; i=(i<100 ? i+1 : i*3) ) {
- MyDataCount = 0;
-
- FillTable( t1, i );
- CheckTable(t1,i);
-
- MyTable t2(t1);
- // Check that copy constructor did not mangle source table.
- CheckTable(t1,i);
- swap(t1, t2);
- CheckTable(t1,i);
- ASSERT( !(t1 != t2), NULL );
-
- // Clear original table
- t2.clear();
- swap(t2, t1);
- CheckTable(t1,0);
-
- // Verify that copy of t1 is correct, even after t1 is cleared.
- CheckTable(t2,i);
- t2.clear();
- t1.swap( t2 );
- CheckTable(t1,0);
- CheckTable(t2,0);
- ASSERT( MyDataCount==0, "data leak?" );
- }
-}
-
-void TestAssignment() {
- if( Verbose )
- REPORT("testing assignment\n");
- for( int i=0; i<1000; i=(i<30 ? i+1 : i*5) ) {
- for( int j=0; j<1000; j=(j<30 ? j+1 : j*7) ) {
- MyTable t1;
- MyTable t2;
- FillTable(t1,i);
- FillTable(t2,j);
- ASSERT( (t1 == t2) == (i == j), NULL );
- CheckTable(t1,i);
- CheckTable(t2,j);
-
- MyTable& tref = t2=t1;
- ASSERT( &tref==&t2, NULL );
- CheckTable(t1,i);
- CheckTable(t2,i);
-
- t1.clear();
- CheckTable(t1,0);
- CheckTable(t2,i);
- ASSERT( MyDataCount==i, "data leak?" );
-
- t2.clear();
- CheckTable(t1,0);
- CheckTable(t2,0);
- ASSERT( MyDataCount==0, "data leak?" );
- }
- }
-}
-
-void TestIteratorsAndRanges() {
- if( Verbose )
- REPORT("testing iterators compliance\n");
- TestIteratorTraits<MyTable::iterator,MyTable::value_type>();
- TestIteratorTraits<MyTable::const_iterator,const MyTable::value_type>();
-
- MyTable v;
- MyTable const &u = v;
-
- TestIteratorAssignment<MyTable::const_iterator>( u.begin() );
- TestIteratorAssignment<MyTable::const_iterator>( v.begin() );
- TestIteratorAssignment<MyTable::iterator>( v.begin() );
- // doesn't compile as expected: TestIteratorAssignment<typename V::iterator>( u.begin() );
-
- // check for non-existing
- ASSERT(v.equal_range(MyKey::make(-1)) == std::make_pair(v.end(), v.end()), NULL);
- ASSERT(u.equal_range(MyKey::make(-1)) == std::make_pair(u.end(), u.end()), NULL);
-
- if( Verbose )
- REPORT("testing ranges compliance\n");
- TestRangeAssignment<MyTable::const_range_type>( u.range() );
- TestRangeAssignment<MyTable::const_range_type>( v.range() );
- TestRangeAssignment<MyTable::range_type>( v.range() );
- // doesn't compile as expected: TestRangeAssignment<typename V::range_type>( u.range() );
-
- if( Verbose )
- REPORT("testing construction and insertion from iterators range\n");
- FillTable( v, 1000 );
- MyTable2 t(v.begin(), v.end());
- CheckTable(t, 1000);
- t.insert(v.begin(), v.end()); // do nothing
- CheckTable(t, 1000);
- t.clear();
- t.insert(v.begin(), v.end()); // restore
- CheckTable(t, 1000);
-
- if( Verbose )
- REPORT("testing comparison\n");
- typedef tbb::concurrent_hash_map<MyKey,MyData2,YourHashCompare,MyAllocator> YourTable1;
- typedef tbb::concurrent_hash_map<MyKey,MyData2,YourHashCompare> YourTable2;
- YourTable1 t1;
- FillTable( t1, 10 );
- CheckTable(t1, 10 );
- YourTable2 t2(t1.begin(), t1.end());
- MyKey key( MyKey::make(5) ); MyData2 data;
- ASSERT(t2.erase(key), NULL);
- YourTable2::accessor a;
- ASSERT(t2.insert(a, key), NULL);
- data.set_value(0); a->second = data;
- ASSERT( t1 != t2, NULL);
- data.set_value(5*5); a->second = data;
- ASSERT( t1 == t2, NULL);
-}
-
-void TestExceptions() {
- typedef local_counting_allocator<tbb::tbb_allocator<MyData2> > allocator_t;
- typedef tbb::concurrent_hash_map<MyKey,MyData2,MyHashCompare,allocator_t> ThrowingTable;
- enum methods {
- zero_method = 0,
- ctor_copy, op_assign, op_insert,
- all_methods
- };
- if( Verbose )
- REPORT("testing exception-safety guarantees\n");
- ThrowingTable src;
- FillTable( src, 1000 );
- ASSERT( MyDataCount==1000, NULL );
-
- try {
- for(int t = 0; t < 2; t++) // exception type
- for(int m = zero_method+1; m < all_methods; m++)
- {
- allocator_t a;
- if(t) MyDataCountLimit = 101;
- else a.set_limits(101);
- ThrowingTable victim(a);
- MyDataCount = 0;
-
- try {
- switch(m) {
- case ctor_copy: {
- ThrowingTable acopy(src, a);
- } break;
- case op_assign: {
- victim = src;
- } break;
- case op_insert: {
- FillTable( victim, 1000 );
- } break;
- default:;
- }
- ASSERT(false, "should throw an exception");
- } catch(std::bad_alloc &e) {
- MyDataCountLimit = 0;
- size_t size = victim.size();
- switch(m) {
- case op_assign:
- ASSERT( MyDataCount==100, "data leak?" );
- ASSERT( size>=100, NULL );
- CheckAllocator(victim, 100+t, t);
- case ctor_copy:
- CheckTable(src, 1000);
- break;
- case op_insert:
- ASSERT( size==size_t(100-t), NULL );
- ASSERT( MyDataCount==100-t, "data leak?" );
- CheckTable(victim, 100-t);
- CheckAllocator(victim, 100, t);
- break;
-
- default:; // nothing to check here
- }
- if( Verbose ) REPORT("Exception %d: %s\t- ok ()\n", m, e.what());
- }
- }
- } catch(...) {
- ASSERT(false, "unexpected exception");
- }
- src.clear(); MyDataCount = 0;
-}
-
-//------------------------------------------------------------------------
-// Test driver
-//------------------------------------------------------------------------
-
-#include "tbb/task_scheduler_init.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- // Default minimum number of threads is 1.
- MinThread = 1;
-
- ParseCommandLine(argc,argv);
- if( MinThread<0 ) {
- REPORT("ERROR: must use at least one thread\n");
- exit(1);
- }
-
- // Do serial tests
- TestTypes();
- TestCopy();
- TestAssignment();
- TestIteratorsAndRanges();
-#if !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
- TestExceptions();
-#endif
-
- // Do concurrency tests.
- for( int nthread=MinThread; nthread<=MaxThread; ++nthread ) {
- tbb::task_scheduler_init init( nthread );
- TestInsertFindErase( nthread );
- TestConcurrency( nthread );
- }
- // check linking
- if(bad_hashing) { //should be false
- tbb::internal::runtime_warning("none\nERROR: it must not be executed");
- }
-
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/concurrent_queue.h"
-#include "tbb/atomic.h"
-#include "tbb/tick_count.h"
-#include "harness.h"
-#include "harness_allocator.h"
-
-static tbb::atomic<long> FooConstructed;
-static tbb::atomic<long> FooDestroyed;
-
-class Foo {
- enum state_t{
- LIVE=0x1234,
- DEAD=0xDEAD
- };
- state_t state;
-public:
- int thread_id;
- int serial;
- Foo() : state(LIVE), thread_id(0), serial(0) {
- ++FooConstructed;
- }
- Foo( const Foo& item ) : state(LIVE) {
- ASSERT( item.state==LIVE, NULL );
- ++FooConstructed;
- thread_id = item.thread_id;
- serial = item.serial;
- }
- ~Foo() {
- ASSERT( state==LIVE, NULL );
- ++FooDestroyed;
- state=DEAD;
- thread_id=0xDEAD;
- serial=0xDEAD;
- }
- void operator=( Foo& item ) {
- ASSERT( item.state==LIVE, NULL );
- ASSERT( state==LIVE, NULL );
- thread_id = item.thread_id;
- serial = item.serial;
- }
- bool is_const() {return false;}
- bool is_const() const {return true;}
-};
-
-// problem size
-static const int N = 50000; // # of bytes
-
-//! Exception for concurrent_queue
-class Foo_exception : public std::bad_alloc {
-public:
- virtual const char *what() const throw() { return "out of Foo limit"; }
- virtual ~Foo_exception() throw() {}
-};
-
-static tbb::atomic<long> FooExConstructed;
-static tbb::atomic<long> FooExDestroyed;
-static tbb::atomic<long> serial_source;
-static long MaxFooCount = 0;
-static const long Threshold = 400;
-
-class FooEx {
- enum state_t{
- LIVE=0x1234,
- DEAD=0xDEAD
- };
- state_t state;
-public:
- int serial;
- FooEx() : state(LIVE) {
- ++FooExConstructed;
- serial = serial_source++;
- }
-
- FooEx( const FooEx& item ) : state(LIVE) {
- ++FooExConstructed;
- if( MaxFooCount && (FooExConstructed-FooExDestroyed) >= MaxFooCount ) // in push()
- throw Foo_exception();
- serial = item.serial;
- }
- ~FooEx() {
- ASSERT( state==LIVE, NULL );
- ++FooExDestroyed;
- state=DEAD;
- serial=0xDEAD;
- }
- void operator=( FooEx& item ) {
- ASSERT( item.state==LIVE, NULL );
- ASSERT( state==LIVE, NULL );
- serial = item.serial;
- if( MaxFooCount==2*Threshold && (FooExConstructed-FooExDestroyed) <= MaxFooCount/4 ) // in pop()
- throw Foo_exception();
- }
-} ;
-
-const size_t MAXTHREAD = 256;
-
-static int Sum[MAXTHREAD];
-
-//! Count of various pop operations
-/** [0] = pop_if_present that failed
- [1] = pop_if_present that succeeded
- [2] = pop */
-static tbb::atomic<long> PopKind[3];
-
-const int M = 10000;
-
-#if TBB_DEPRECATED
-#define CALL_BLOCKING_POP(q,v) (q)->pop(v)
-#define CALL_TRY_POP(q,v,i) (((i)&0x2)?q->try_pop(v):q->pop_if_present(v))
-#define SIZE() size()
-#else
-#define CALL_BLOCKING_POP(q,v) while( !(q)->try_pop(v) ) __TBB_Yield()
-#define CALL_TRY_POP(q,v,i) q->try_pop(v)
-#define SIZE() unsafe_size()
-#endif
-
-struct Body: NoAssign {
- tbb::concurrent_queue<Foo>* queue;
- const int nthread;
- Body( int nthread_ ) : nthread(nthread_) {}
- void operator()( int thread_id ) const {
- long pop_kind[3] = {0,0,0};
- int serial[MAXTHREAD+1];
- memset( serial, 0, nthread*sizeof(int) );
- ASSERT( thread_id<nthread, NULL );
-
- long sum = 0;
- for( long j=0; j<M; ++j ) {
- Foo f;
- f.thread_id = 0xDEAD;
- f.serial = 0xDEAD;
- bool prepopped = false;
- if( j&1 ) {
- prepopped = CALL_TRY_POP(queue,f,j);
- ++pop_kind[prepopped];
- }
- Foo g;
- g.thread_id = thread_id;
- g.serial = j+1;
- queue->push( g );
- if( !prepopped ) {
- CALL_BLOCKING_POP(queue,f);
- ++pop_kind[2];
- }
- ASSERT( f.thread_id<=nthread, NULL );
- ASSERT( f.thread_id==nthread || serial[f.thread_id]<f.serial, "partial order violation" );
- serial[f.thread_id] = f.serial;
- sum += f.serial-1;
- }
- Sum[thread_id] = sum;
- for( int k=0; k<3; ++k )
- PopKind[k] += pop_kind[k];
- }
-};
-
-void TestPushPop( size_t prefill, ptrdiff_t capacity, int nthread ) {
- ASSERT( nthread>0, "nthread must be positive" );
-#if TBB_DEPRECATED
- ptrdiff_t signed_prefill = ptrdiff_t(prefill);
- if( signed_prefill+1>=capacity )
- return;
-#endif
- bool success = false;
- for( int k=0; k<3; ++k )
- PopKind[k] = 0;
- for( int trial=0; !success; ++trial ) {
- FooConstructed = 0;
- FooDestroyed = 0;
- Body body(nthread);
- tbb::concurrent_queue<Foo> queue;
-#if TBB_DEPRECATED
- queue.set_capacity( capacity );
-#endif
- body.queue = &queue;
- for( size_t i=0; i<prefill; ++i ) {
- Foo f;
- f.thread_id = nthread;
- f.serial = 1+int(i);
- queue.push(f);
- ASSERT( unsigned(queue.SIZE())==i+1, NULL );
- ASSERT( !queue.empty(), NULL );
- }
- tbb::tick_count t0 = tbb::tick_count::now();
- NativeParallelFor( nthread, body );
- tbb::tick_count t1 = tbb::tick_count::now();
-#if !__TBB_FLOATING_POINT_BROKEN
- double timing = (t1-t0).seconds();
- if( Verbose )
- REPORT("prefill=%d capacity=%d time = %g = %g nsec/operation\n", int(prefill), int(capacity), timing, timing/(2*M*nthread)*1.E9);
-#else
- ((void)capacity); // touch it to suppress the warning
-#endif /* !__TBB_FLOATING_POINT_BROKEN */
- int sum = 0;
- for( int k=0; k<nthread; ++k )
- sum += Sum[k];
- int expected = int(nthread*((M-1)*M/2) + ((prefill-1)*prefill)/2);
- for( int i=int(prefill); --i>=0; ) {
- ASSERT( !queue.empty(), NULL );
- Foo f;
- bool result = queue.try_pop(f);
- ASSERT( result, NULL );
- ASSERT( int(queue.SIZE())==i, NULL );
- sum += f.serial-1;
- }
- ASSERT( queue.empty(), NULL );
- ASSERT( queue.SIZE()==0, NULL );
- if( sum!=expected )
- REPORT("sum=%d expected=%d\n",sum,expected);
- ASSERT( FooConstructed==FooDestroyed, NULL );
- // TODO: checks by counting allocators
-
- success = true;
- if( nthread>1 && prefill==0 ) {
- // Check that pop_if_present got sufficient exercise
- for( int k=0; k<2; ++k ) {
-#if (_WIN32||_WIN64)
- // The TBB library on Windows seems to have a tough time generating
- // the desired interleavings for pop_if_present, so the code tries longer, and settles
- // for fewer desired interleavings.
- const int max_trial = 100;
- const int min_requirement = 20;
-#else
- const int min_requirement = 100;
- const int max_trial = 20;
-#endif /* _WIN32||_WIN64 */
- if( PopKind[k]<min_requirement ) {
- if( trial>=max_trial ) {
- if( Verbose )
- REPORT("Warning: %d threads had only %ld pop_if_present operations %s after %d trials (expected at least %d). "
- "This problem may merely be unlucky scheduling. "
- "Investigate only if it happens repeatedly.\n",
- nthread, long(PopKind[k]), k==0?"failed":"succeeded", max_trial, min_requirement);
- else
- REPORT("Warning: the number of %s pop_if_present operations is less than expected for %d threads. Investigate if it happens repeatedly.\n",
- k==0?"failed":"succeeded", nthread );
-
- } else {
- success = false;
- }
- }
- }
- }
- }
-}
-
-class Bar {
- enum state_t {
- LIVE=0x1234,
- DEAD=0xDEAD
- };
- state_t state;
-public:
- ptrdiff_t my_id;
- Bar() : state(LIVE), my_id(-1) {}
- Bar(size_t _i) : state(LIVE), my_id(_i) {}
- Bar( const Bar& a_bar ) : state(LIVE) {
- ASSERT( a_bar.state==LIVE, NULL );
- my_id = a_bar.my_id;
- }
- ~Bar() {
- ASSERT( state==LIVE, NULL );
- state = DEAD;
- my_id = DEAD;
- }
- void operator=( const Bar& a_bar ) {
- ASSERT( a_bar.state==LIVE, NULL );
- ASSERT( state==LIVE, NULL );
- my_id = a_bar.my_id;
- }
- friend bool operator==(const Bar& bar1, const Bar& bar2 ) ;
-} ;
-
-bool operator==(const Bar& bar1, const Bar& bar2) {
- ASSERT( bar1.state==Bar::LIVE, NULL );
- ASSERT( bar2.state==Bar::LIVE, NULL );
- return bar1.my_id == bar2.my_id;
-}
-
-class BarIterator
-{
- Bar* bar_ptr;
- BarIterator(Bar* bp_) : bar_ptr(bp_) {}
-public:
- ~BarIterator() {}
- BarIterator& operator=( const BarIterator& other ) {
- bar_ptr = other.bar_ptr;
- return *this;
- }
- Bar& operator*() const {
- return *bar_ptr;
- }
- BarIterator& operator++() {
- ++bar_ptr;
- return *this;
- }
- Bar* operator++(int) {
- Bar* result = &operator*();
- operator++();
- return result;
- }
- friend bool operator==(const BarIterator& bia, const BarIterator& bib) ;
- friend bool operator!=(const BarIterator& bia, const BarIterator& bib) ;
- friend void TestConstructors ();
-} ;
-
-bool operator==(const BarIterator& bia, const BarIterator& bib) {
- return bia.bar_ptr==bib.bar_ptr;
-}
-
-bool operator!=(const BarIterator& bia, const BarIterator& bib) {
- return bia.bar_ptr!=bib.bar_ptr;
-}
-
-class Bar_exception : public std::bad_alloc {
-public:
- virtual const char *what() const throw() { return "making the entry invalid"; }
- virtual ~Bar_exception() throw() {}
-};
-
-class BarEx
-{
- enum state_t {
- LIVE=0x1234,
- DEAD=0xDEAD
- };
- static int count;
-public:
- state_t state;
- typedef enum {
- PREPARATION,
- COPY_CONSTRUCT
- } mode_t;
- static mode_t mode;
- ptrdiff_t my_id;
- ptrdiff_t my_tilda_id;
- static int button;
- BarEx() : state(LIVE), my_id(-1), my_tilda_id(-1) {}
- BarEx(size_t _i) : state(LIVE), my_id(_i), my_tilda_id(my_id^(-1)) {}
- BarEx( const BarEx& a_bar ) : state(LIVE) {
- ASSERT( a_bar.state==LIVE, NULL );
- my_id = a_bar.my_id;
- if( mode==PREPARATION )
- if( !( ++count % 100 ) )
- throw Bar_exception();
- my_tilda_id = a_bar.my_tilda_id;
- }
- ~BarEx() {
- ASSERT( state==LIVE, NULL );
- state = DEAD;
- my_id = DEAD;
- }
- static void set_mode( mode_t m ) { mode = m; }
- void operator=( const BarEx& a_bar ) {
- ASSERT( a_bar.state==LIVE, NULL );
- ASSERT( state==LIVE, NULL );
- my_id = a_bar.my_id;
- my_tilda_id = a_bar.my_tilda_id;
- }
- friend bool operator==(const BarEx& bar1, const BarEx& bar2 ) ;
-} ;
-
-int BarEx::count = 0;
-BarEx::mode_t BarEx::mode = BarEx::PREPARATION;
-
-bool operator==(const BarEx& bar1, const BarEx& bar2) {
- ASSERT( bar1.state==BarEx::LIVE, NULL );
- ASSERT( bar2.state==BarEx::LIVE, NULL );
- ASSERT( (bar1.my_id ^ bar1.my_tilda_id) == -1, NULL );
- ASSERT( (bar2.my_id ^ bar2.my_tilda_id) == -1, NULL );
- return bar1.my_id==bar2.my_id && bar1.my_tilda_id==bar2.my_tilda_id;
-}
-
-#if TBB_DEPRECATED
-#define CALL_BEGIN(q,i) (((i)&0x1)?q.begin():q.unsafe_begin())
-#define CALL_END(q,i) (((i)&0x1)?q.end():q.unsafe_end())
-#else
-#define CALL_BEGIN(q,i) q.unsafe_begin()
-#define CALL_END(q,i) q.unsafe_end()
-#endif
-
-void TestConstructors ()
-{
- tbb::concurrent_queue<Bar> src_queue;
- tbb::concurrent_queue<Bar>::const_iterator dqb;
- tbb::concurrent_queue<Bar>::const_iterator dqe;
- tbb::concurrent_queue<Bar>::const_iterator iter;
-
- for( size_t size=0; size<1001; ++size ) {
- for( size_t i=0; i<size; ++i )
- src_queue.push(Bar(i+(i^size)));
- tbb::concurrent_queue<Bar>::const_iterator sqb( CALL_BEGIN(src_queue,size) );
- tbb::concurrent_queue<Bar>::const_iterator sqe( CALL_END(src_queue,size));
-
- tbb::concurrent_queue<Bar> dst_queue(sqb, sqe);
-
- ASSERT(src_queue.SIZE()==dst_queue.SIZE(), "different size");
-
- src_queue.clear();
- }
-
- Bar bar_array[1001];
- for( size_t size=0; size<1001; ++size ) {
- for( size_t i=0; i<size; ++i )
- bar_array[i] = Bar(i+(i^size));
-
- const BarIterator sab(bar_array+0);
- const BarIterator sae(bar_array+size);
-
- tbb::concurrent_queue<Bar> dst_queue2(sab, sae);
-
- ASSERT( size==unsigned(dst_queue2.SIZE()), NULL );
- ASSERT( sab==BarIterator(bar_array+0), NULL );
- ASSERT( sae==BarIterator(bar_array+size), NULL );
-
- dqb = CALL_BEGIN(dst_queue2,size);
- dqe = CALL_END(dst_queue2,size);
- BarIterator v_iter(sab);
- for( ; dqb != dqe; ++dqb, ++v_iter )
- ASSERT( *dqb == *v_iter, "unexpected element" );
- ASSERT( v_iter==sae, "different size?" );
- }
-
- src_queue.clear();
-
- tbb::concurrent_queue<Bar> dst_queue3( src_queue );
- ASSERT( src_queue.SIZE()==dst_queue3.SIZE(), NULL );
- ASSERT( 0==dst_queue3.SIZE(), NULL );
-
- int k=0;
- for( size_t i=0; i<1001; ++i ) {
- Bar tmp_bar;
- src_queue.push(Bar(++k));
- src_queue.push(Bar(++k));
- src_queue.try_pop(tmp_bar);
-
- tbb::concurrent_queue<Bar> dst_queue4( src_queue );
-
- ASSERT( src_queue.SIZE()==dst_queue4.SIZE(), NULL );
-
- dqb = CALL_BEGIN(dst_queue4,i);
- dqe = CALL_END(dst_queue4,i);
- iter = CALL_BEGIN(src_queue,i);
-
- for( ; dqb != dqe; ++dqb, ++iter )
- ASSERT( *dqb == *iter, "unexpected element" );
-
- ASSERT( iter==CALL_END(src_queue,i), "different size?" );
- }
-
- tbb::concurrent_queue<Bar> dst_queue5( src_queue );
-
- ASSERT( src_queue.SIZE()==dst_queue5.SIZE(), NULL );
- dqb = dst_queue5.unsafe_begin();
- dqe = dst_queue5.unsafe_end();
- iter = src_queue.unsafe_begin();
- for( ; dqb != dqe; ++dqb, ++iter )
- ASSERT( *dqb == *iter, "unexpected element" );
-
- for( size_t i=0; i<100; ++i) {
- Bar tmp_bar;
- src_queue.push(Bar(i+1000));
- src_queue.push(Bar(i+1000));
- src_queue.try_pop(tmp_bar);
-
- dst_queue5.push(Bar(i+1000));
- dst_queue5.push(Bar(i+1000));
- dst_queue5.try_pop(tmp_bar);
- }
-
- ASSERT( src_queue.SIZE()==dst_queue5.SIZE(), NULL );
- dqb = dst_queue5.unsafe_begin();
- dqe = dst_queue5.unsafe_end();
- iter = src_queue.unsafe_begin();
- for( ; dqb != dqe; ++dqb, ++iter )
- ASSERT( *dqb == *iter, "unexpected element" );
- ASSERT( iter==src_queue.unsafe_end(), "different size?" );
-
-#if __TBB_EXCEPTION_HANDLING_BROKEN || __TBB_PLACEMENT_NEW_EXCEPTION_SAFETY_BROKEN
- REPORT("Warning: Part of the constructor test is skipped due to a known issue.\n");
-#else
- k = 0;
-#if TBB_DEPRECATED==0
- unsigned
-#endif
- int n_elements=0;
- tbb::concurrent_queue<BarEx> src_queue_ex;
- for( size_t size=0; size<1001; ++size ) {
- BarEx tmp_bar_ex;
- int n_successful_pushes=0;
- BarEx::set_mode( BarEx::PREPARATION );
- try {
- src_queue_ex.push(BarEx(k+(k^size)));
- ++n_successful_pushes;
- } catch (...) {
- }
- ++k;
- try {
- src_queue_ex.push(BarEx(k+(k^size)));
- ++n_successful_pushes;
- } catch (...) {
- }
- ++k;
- src_queue_ex.try_pop(tmp_bar_ex);
- n_elements += (n_successful_pushes - 1);
- ASSERT( src_queue_ex.SIZE()==n_elements, NULL);
-
- BarEx::set_mode( BarEx::COPY_CONSTRUCT );
- tbb::concurrent_queue<BarEx> dst_queue_ex( src_queue_ex );
-
- ASSERT( src_queue_ex.SIZE()==dst_queue_ex.SIZE(), NULL );
-
- tbb::concurrent_queue<BarEx>::const_iterator dqb_ex = CALL_BEGIN(dst_queue_ex, size);
- tbb::concurrent_queue<BarEx>::const_iterator dqe_ex = CALL_END(dst_queue_ex, size);
- tbb::concurrent_queue<BarEx>::const_iterator iter_ex = CALL_BEGIN(src_queue_ex, size);
-
- for( ; dqb_ex != dqe_ex; ++dqb_ex, ++iter_ex )
- ASSERT( *dqb_ex == *iter_ex, "unexpected element" );
- ASSERT( iter_ex==CALL_END(src_queue_ex,size), "different size?" );
- }
-#endif
-}
-
-template<typename Iterator1, typename Iterator2>
-void TestIteratorAux( Iterator1 i, Iterator2 j, int size ) {
- // Now test iteration
- Iterator1 old_i;
- for( int k=0; k<size; ++k ) {
- ASSERT( i!=j, NULL );
- ASSERT( !(i==j), NULL );
- Foo f;
- if( k&1 ) {
- // Test pre-increment
- f = *old_i++;
- // Test assignment
- i = old_i;
- } else {
- // Test post-increment
- f=*i++;
- if( k<size-1 ) {
- // Test "->"
- ASSERT( k+2==i->serial, NULL );
- }
- // Test assignment
- old_i = i;
- }
- ASSERT( k+1==f.serial, NULL );
- }
- ASSERT( !(i!=j), NULL );
- ASSERT( i==j, NULL );
-}
-
-template<typename Iterator1, typename Iterator2>
-void TestIteratorAssignment( Iterator2 j ) {
- Iterator1 i(j);
- ASSERT( i==j, NULL );
- ASSERT( !(i!=j), NULL );
- Iterator1 k;
- k = j;
- ASSERT( k==j, NULL );
- ASSERT( !(k!=j), NULL );
-}
-
-template<typename Iterator, typename T>
-void TestIteratorTraits() {
- AssertSameType( static_cast<typename Iterator::difference_type*>(0), static_cast<ptrdiff_t*>(0) );
- AssertSameType( static_cast<typename Iterator::value_type*>(0), static_cast<T*>(0) );
- AssertSameType( static_cast<typename Iterator::pointer*>(0), static_cast<T**>(0) );
- AssertSameType( static_cast<typename Iterator::iterator_category*>(0), static_cast<std::forward_iterator_tag*>(0) );
- T x;
- typename Iterator::reference xr = x;
- typename Iterator::pointer xp = &x;
- ASSERT( &xr==xp, NULL );
-}
-
-//! Test the iterators for concurrent_queue
-void TestIterator() {
- tbb::concurrent_queue<Foo> queue;
- tbb::concurrent_queue<Foo>& const_queue = queue;
- for( int j=0; j<500; ++j ) {
- TestIteratorAux( CALL_BEGIN(queue,j) , CALL_END(queue,j) , j );
- TestIteratorAux( CALL_BEGIN(const_queue,j), CALL_END(const_queue,j), j );
- TestIteratorAux( CALL_BEGIN(const_queue,j), CALL_END(queue,j) , j );
- TestIteratorAux( CALL_BEGIN(queue,j) , CALL_END(const_queue,j), j );
- Foo f;
- f.serial = j+1;
- queue.push(f);
- }
- TestIteratorAssignment<tbb::concurrent_queue<Foo>::const_iterator>( const_queue.unsafe_begin() );
- TestIteratorAssignment<tbb::concurrent_queue<Foo>::const_iterator>( queue.unsafe_begin() );
- TestIteratorAssignment<tbb::concurrent_queue<Foo>::iterator>( queue.unsafe_begin() );
- TestIteratorTraits<tbb::concurrent_queue<Foo>::const_iterator, const Foo>();
- TestIteratorTraits<tbb::concurrent_queue<Foo>::iterator, Foo>();
-}
-
-void TestConcurrentQueueType() {
- AssertSameType( tbb::concurrent_queue<Foo>::value_type(), Foo() );
- Foo f;
- const Foo g;
- tbb::concurrent_queue<Foo>::reference r = f;
- ASSERT( &r==&f, NULL );
- ASSERT( !r.is_const(), NULL );
- tbb::concurrent_queue<Foo>::const_reference cr = g;
- ASSERT( &cr==&g, NULL );
- ASSERT( cr.is_const(), NULL );
-}
-
-template<typename T>
-void TestEmptyQueue() {
- const tbb::concurrent_queue<T> queue;
- ASSERT( queue.SIZE()==0, NULL );
-#if TBB_DEPRECATED
- ASSERT( queue.capacity()>0, NULL );
- ASSERT( size_t(queue.capacity())>=size_t(-1)/(sizeof(void*)+sizeof(T)), NULL );
-#endif
-}
-
-#if TBB_DEPRECATED
-#define CALL_TRY_PUSH(q,f,i) (((i)&0x1)?(q).push_if_not_full(f):(q).try_push(f))
-void TestFullQueue() {
- for( int n=0; n<10; ++n ) {
- FooConstructed = 0;
- FooDestroyed = 0;
- tbb::concurrent_queue<Foo> queue;
- queue.set_capacity(n);
- for( int i=0; i<=n; ++i ) {
- Foo f;
- f.serial = i;
- bool result = CALL_TRY_PUSH(queue, f, i );
- ASSERT( result==(i<n), NULL );
- }
- for( int i=0; i<=n; ++i ) {
- Foo f;
- bool result = queue.pop_if_present( f );
- ASSERT( result==(i<n), NULL );
- ASSERT( !result || f.serial==i, NULL );
- }
- ASSERT( FooConstructed==FooDestroyed, NULL );
- }
-}
-#endif /* if TBB_DEPRECATED */
-
-#if TBB_DEPRECATED
-#define CALL_PUSH_IF_NOT_FULL(q,v,i) (((i)&0x1)?q.push_if_not_full(v):(q.push(v), true))
-#else
-#define CALL_PUSH_IF_NOT_FULL(q,v,i) (q.push(v), true)
-#endif
-
-void TestClear() {
- FooConstructed = 0;
- FooDestroyed = 0;
- const unsigned int n=5;
-
- tbb::concurrent_queue<Foo> queue;
-#if TBB_DEPRECATED
- const int q_capacity=10;
- queue.set_capacity(q_capacity);
-#endif
- for( size_t i=0; i<n; ++i ) {
- Foo f;
- f.serial = int(i);
- bool result = CALL_PUSH_IF_NOT_FULL(queue, f, i);
- ASSERT( result, NULL );
- }
- ASSERT( unsigned(queue.SIZE())==n, NULL );
- queue.clear();
- ASSERT( queue.SIZE()==0, NULL );
- for( size_t i=0; i<n; ++i ) {
- Foo f;
- f.serial = int(i);
- bool result = CALL_PUSH_IF_NOT_FULL(queue, f, i);
- ASSERT( result, NULL );
- }
- ASSERT( unsigned(queue.SIZE())==n, NULL );
- queue.clear();
- ASSERT( queue.SIZE()==0, NULL );
- for( size_t i=0; i<n; ++i ) {
- Foo f;
- f.serial = int(i);
- bool result = CALL_PUSH_IF_NOT_FULL(queue, f, i);
- ASSERT( result, NULL );
- }
- ASSERT( unsigned(queue.SIZE())==n, NULL );
-}
-
-#if TBB_DEPRECATED
-template<typename T>
-struct TestNegativeQueueBody: NoAssign {
- tbb::concurrent_queue<T>& queue;
- const int nthread;
- TestNegativeQueueBody( tbb::concurrent_queue<T>& q, int n ) : queue(q), nthread(n) {}
- void operator()( int k ) const {
- if( k==0 ) {
- int number_of_pops = nthread-1;
- // Wait for all pops to pend.
- while( queue.size()>-number_of_pops ) {
- __TBB_Yield();
- }
- for( int i=0; ; ++i ) {
- ASSERT( queue.size()==i-number_of_pops, NULL );
- ASSERT( queue.empty()==(queue.size()<=0), NULL );
- if( i==number_of_pops ) break;
- // Satisfy another pop
- queue.push( T() );
- }
- } else {
- // Pop item from queue
- T item;
- queue.pop(item);
- }
- }
-};
-
-//! Test a queue with a negative size.
-template<typename T>
-void TestNegativeQueue( int nthread ) {
- tbb::concurrent_queue<T> queue;
- NativeParallelFor( nthread, TestNegativeQueueBody<T>(queue,nthread) );
-}
-#endif /* if TBB_DEPRECATED */
-
-void TestExceptions() {
- typedef static_counting_allocator<std::allocator<FooEx>, size_t> allocator_t;
- typedef static_counting_allocator<std::allocator<char>, size_t> allocator_char_t;
- typedef tbb::concurrent_queue<FooEx, allocator_t> concur_queue_t;
-
- enum methods {
- m_push = 0,
- m_pop
- };
-
- if( Verbose )
- REPORT("Testing exception safety\n");
- // verify 'clear()' on exception; queue's destructor calls its clear()
- {
- concur_queue_t queue_clear;
- try {
- allocator_char_t::init_counters();
- allocator_char_t::set_limits(N/2);
- for( int k=0; k<N; k++ )
- queue_clear.push( FooEx() );
- } catch (...) {
- // TODO: some assert here?
- }
- }
- if( Verbose )
- REPORT("... queue destruction test passed\n");
-
- try {
- int n_pushed=0, n_popped=0;
- for(int t = 0; t <= 1; t++)// exception type -- 0 : from allocator(), 1 : from Foo's constructor
- {
- concur_queue_t queue_test;
- for( int m=m_push; m<=m_pop; m++ ) {
- // concurrent_queue internally rebinds the allocator to one with 'char'
- allocator_char_t::init_counters();
-
- if(t) MaxFooCount = MaxFooCount + 400;
- else allocator_char_t::set_limits(N/2);
-
- try {
- switch(m) {
- case m_push:
- for( int k=0; k<N; k++ ) {
- queue_test.push( FooEx() );
- n_pushed++;
- }
- break;
- case m_pop:
- n_popped=0;
- for( int k=0; k<n_pushed; k++ ) {
- FooEx elt;
- queue_test.try_pop( elt );
- n_popped++;
- }
- n_pushed = 0;
- allocator_char_t::set_limits();
- break;
- }
- if( !t && m==m_push ) ASSERT(false, "should throw an exception");
- } catch ( Foo_exception & ) {
- switch(m) {
- case m_push: {
- ASSERT( ptrdiff_t(queue_test.SIZE())==n_pushed, "incorrect queue size" );
- long tc = MaxFooCount;
- MaxFooCount = 0;
- for( int k=0; k<(int)tc; k++ ) {
- queue_test.push( FooEx() );
- n_pushed++;
- }
- MaxFooCount = tc;
- }
- break;
- case m_pop:
- MaxFooCount = 0; // disable exception
- n_pushed -= (n_popped+1); // including one that threw an exception
- ASSERT( n_pushed>=0, "n_pushed cannot be less than 0" );
- for( int k=0; k<1000; k++ ) {
- queue_test.push( FooEx() );
- n_pushed++;
- }
- ASSERT( !queue_test.empty(), "queue must not be empty" );
- ASSERT( ptrdiff_t(queue_test.SIZE())==n_pushed, "queue size must be equal to n pushed" );
- for( int k=0; k<n_pushed; k++ ) {
- FooEx elt;
- queue_test.try_pop( elt );
- }
- ASSERT( queue_test.empty(), "queue must be empty" );
- ASSERT( queue_test.SIZE()==0, "queue must be empty" );
- break;
- }
- } catch ( std::bad_alloc & ) {
- allocator_char_t::set_limits(); // disable exception from allocator
- size_t size = queue_test.SIZE();
- switch(m) {
- case m_push:
- ASSERT( size>0, "incorrect queue size");
- break;
- case m_pop:
- if( !t ) ASSERT( false, "should not throw an exceptin" );
- break;
- }
- }
- if( Verbose )
- REPORT("... for t=%d and m=%d, exception test passed\n", t, m);
- }
- }
- } catch(...) {
- ASSERT(false, "unexpected exception");
- }
-}
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- // Set default for minimum number of threads.
- MinThread = 1;
- ParseCommandLine(argc,argv);
-
- TestEmptyQueue<char>();
- TestEmptyQueue<Foo>();
-#if TBB_DEPRECATED
- TestFullQueue();
-#endif
- TestClear();
- TestConcurrentQueueType();
- TestIterator();
- TestConstructors();
-
- // Test concurrent operations
- for( int nthread=MinThread; nthread<=MaxThread; ++nthread ) {
-#if TBB_DEPRECATED
- TestNegativeQueue<Foo>(nthread);
-#endif
- for( size_t prefill=0; prefill<64; prefill+=(1+prefill/3) ) {
- TestPushPop(prefill,ptrdiff_t(-1),nthread);
- TestPushPop(prefill,ptrdiff_t(1),nthread);
- TestPushPop(prefill,ptrdiff_t(2),nthread);
- TestPushPop(prefill,ptrdiff_t(10),nthread);
- TestPushPop(prefill,ptrdiff_t(100),nthread);
- }
- }
-#if __TBB_EXCEPTION_HANDLING_BROKEN
- REPORT("Warning: Exception safety test is skipped due to a known issue.\n");
-#else
- TestExceptions();
-#endif
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/concurrent_vector.h"
-#include "tbb/tbb_allocator.h"
-#include "tbb/cache_aligned_allocator.h"
-#include "tbb/tbb_exception.h"
-#include <cstdio>
-#include <cstdlib>
-#include <stdexcept>
-#include "harness_report.h"
-#include "harness_assert.h"
-#include "harness_allocator.h"
-
-static bool known_issue_verbose = false;
-#define KNOWN_ISSUE(msg) if(!known_issue_verbose) known_issue_verbose = true, REPORT(msg)
-
-tbb::atomic<long> FooCount;
-long MaxFooCount = 0;
-
-//! Problem size
-const size_t N = 500000;
-
-//! Exception for concurrent_vector
-class Foo_exception : public std::bad_alloc {
-public:
- virtual const char *what() const throw() { return "out of Foo limit"; }
- virtual ~Foo_exception() throw() {}
-};
-
-static const int initial_value_of_bar = 42;
-struct Foo {
- int my_bar;
-public:
- enum State {
- ZeroInitialized=0,
- DefaultInitialized=0xDEFAUL,
- CopyInitialized=0xC0314,
- Destroyed=0xDEADF00
- } state;
- bool is_valid() const {
- return state==DefaultInitialized||state==CopyInitialized;
- }
- bool is_valid_or_zero() const {
- return is_valid()||(state==ZeroInitialized && !my_bar);
- }
- int& zero_bar() {
- ASSERT( is_valid_or_zero(), NULL );
- return my_bar;
- }
- int& bar() {
- ASSERT( is_valid(), NULL );
- return my_bar;
- }
- int bar() const {
- ASSERT( is_valid(), NULL );
- return my_bar;
- }
- Foo( int bar = initial_value_of_bar ) {
- my_bar = bar;
- if(MaxFooCount && FooCount >= MaxFooCount)
- throw Foo_exception();
- FooCount++;
- state = DefaultInitialized;
- }
- Foo( const Foo& foo ) {
- my_bar = foo.my_bar;
- ASSERT( foo.is_valid_or_zero(), "bad source for copy" );
- if(MaxFooCount && FooCount >= MaxFooCount)
- throw Foo_exception();
- FooCount++;
- state = CopyInitialized;
- }
- ~Foo() {
- ASSERT( is_valid_or_zero(), NULL );
- my_bar = ~initial_value_of_bar;
- if(state != ZeroInitialized) --FooCount;
- state = Destroyed;
- }
- bool operator==(const Foo &f) const { return my_bar == f.my_bar; }
- bool operator<(const Foo &f) const { return my_bar < f.my_bar; }
- bool is_const() const {return true;}
- bool is_const() {return false;}
-protected:
- char reserve[1];
- void operator=( const Foo& ) {}
-};
-
-class FooWithAssign: public Foo {
-public:
- void operator=( const FooWithAssign& x ) {
- my_bar = x.my_bar;
- ASSERT( x.is_valid_or_zero(), "bad source for assignment" );
- ASSERT( is_valid(), NULL );
- }
- bool operator==(const Foo &f) const { return my_bar == f.my_bar; }
- bool operator<(const Foo &f) const { return my_bar < f.my_bar; }
-};
-
-class FooIterator: public std::iterator<std::input_iterator_tag,FooWithAssign> {
- int x_bar;
-public:
- FooIterator(int x) {
- x_bar = x;
- }
- FooIterator &operator++() {
- x_bar++; return *this;
- }
- FooWithAssign operator*() {
- FooWithAssign foo; foo.bar() = x_bar;
- return foo;
- }
- bool operator!=(const FooIterator &i) { return x_bar != i.x_bar; }
-};
-
-inline void NextSize( int& s ) {
- if( s<=32 ) ++s;
- else s += s/10;
-}
-
-//! Check vector have expected size and filling
-template<typename vector_t>
-static void CheckVector( const vector_t& cv, size_t expected_size, size_t old_size ) {
- ASSERT( cv.capacity()>=expected_size, NULL );
- ASSERT( cv.size()==expected_size, NULL );
- ASSERT( cv.empty()==(expected_size==0), NULL );
- for( int j=0; j<int(expected_size); ++j ) {
- if( cv[j].bar()!=~j )
- REPORT("ERROR on line %d for old_size=%ld expected_size=%ld j=%d\n",__LINE__,long(old_size),long(expected_size),j);
- }
-}
-
-//! Test of assign, grow, copying with various sizes
-void TestResizeAndCopy() {
- typedef static_counting_allocator<debug_allocator<Foo,std::allocator>, std::size_t> allocator_t;
- typedef tbb::concurrent_vector<Foo, allocator_t> vector_t;
- allocator_t::init_counters();
- for( int old_size=0; old_size<=128; NextSize( old_size ) ) {
- for( int new_size=0; new_size<=1280; NextSize( new_size ) ) {
- long count = FooCount;
- vector_t v;
- ASSERT( count==FooCount, NULL );
- v.assign(old_size/2, Foo() );
- ASSERT( count+old_size/2==FooCount, NULL );
- for( int j=0; j<old_size/2; ++j )
- ASSERT( v[j].state == Foo::CopyInitialized, NULL);
- v.assign(FooIterator(0), FooIterator(old_size));
- v.resize(new_size, Foo(33) );
- ASSERT( count+new_size==FooCount, NULL );
- for( int j=0; j<new_size; ++j ) {
- int expected = j<old_size ? j : 33;
- if( v[j].bar()!=expected )
- REPORT("ERROR on line %d for old_size=%ld new_size=%ld v[%ld].bar()=%d != %d\n",__LINE__,long(old_size),long(new_size),long(j),v[j].bar(), expected);
- }
- ASSERT( v.size()==size_t(new_size), NULL );
- for( int j=0; j<new_size; ++j ) {
- v[j].bar() = ~j;
- }
- const vector_t& cv = v;
- // Try copy constructor
- vector_t copy_of_v(cv);
- CheckVector(cv,new_size,old_size);
- ASSERT( !(v != copy_of_v), NULL );
- v.clear();
- ASSERT( v.empty(), NULL );
- swap(v, copy_of_v);
- ASSERT( copy_of_v.empty(), NULL );
- CheckVector(v,new_size,old_size);
- }
- }
- ASSERT( allocator_t::items_allocated == allocator_t::items_freed, NULL);
- ASSERT( allocator_t::allocations == allocator_t::frees, NULL);
-}
-
-//! Test reserve, compact, capacity
-void TestCapacity() {
- typedef static_counting_allocator<debug_allocator<Foo,tbb::cache_aligned_allocator>, std::size_t> allocator_t;
- typedef tbb::concurrent_vector<Foo, allocator_t> vector_t;
- allocator_t::init_counters();
- for( size_t old_size=0; old_size<=11000; old_size=(old_size<5 ? old_size+1 : 3*old_size) ) {
- for( size_t new_size=0; new_size<=11000; new_size=(new_size<5 ? new_size+1 : 3*new_size) ) {
- long count = FooCount;
- {
- vector_t v; v.reserve(old_size);
- ASSERT( v.capacity()>=old_size, NULL );
- v.reserve( new_size );
- ASSERT( v.capacity()>=old_size, NULL );
- ASSERT( v.capacity()>=new_size, NULL );
- ASSERT( v.empty(), NULL );
- size_t fill_size = 2*new_size;
- for( size_t i=0; i<fill_size; ++i ) {
- ASSERT( size_t(FooCount)==count+i, NULL );
-#if TBB_DEPRECATED
- size_t j = v.grow_by(1);
-#else
- size_t j = v.grow_by(1) - v.begin();
-#endif
- ASSERT( j==i, NULL );
- v[j].bar() = int(~j);
- }
- vector_t copy_of_v(v); // should allocate first segment with same size as for shrink_to_fit()
- if(__TBB_Log2(/*reserved size*/old_size|1) > __TBB_Log2(fill_size|1) )
- ASSERT( v.capacity() != copy_of_v.capacity(), NULL );
- v.shrink_to_fit();
- ASSERT( v.capacity() == copy_of_v.capacity(), NULL );
- CheckVector(v, new_size*2, old_size); // check vector correctness
- ASSERT( v==copy_of_v, NULL ); // TODO: check also segments layout equality
- }
- ASSERT( FooCount==count, NULL );
- }
- }
- ASSERT( allocator_t::items_allocated == allocator_t::items_freed, NULL);
- ASSERT( allocator_t::allocations == allocator_t::frees, NULL);
-}
-
-struct AssignElement {
- typedef tbb::concurrent_vector<int>::range_type::iterator iterator;
- iterator base;
- void operator()( const tbb::concurrent_vector<int>::range_type& range ) const {
- for( iterator i=range.begin(); i!=range.end(); ++i ) {
- if( *i!=0 )
- REPORT("ERROR for v[%ld]\n", long(i-base));
- *i = int(i-base);
- }
- }
- AssignElement( iterator base_ ) : base(base_) {}
-};
-
-struct CheckElement {
- typedef tbb::concurrent_vector<int>::const_range_type::iterator iterator;
- iterator base;
- void operator()( const tbb::concurrent_vector<int>::const_range_type& range ) const {
- for( iterator i=range.begin(); i!=range.end(); ++i )
- if( *i != int(i-base) )
- REPORT("ERROR for v[%ld]\n", long(i-base));
- }
- CheckElement( iterator base_ ) : base(base_) {}
-};
-
-#include "tbb/tick_count.h"
-#include "tbb/parallel_for.h"
-#include "harness.h"
-
-//! Test parallel access by iterators
-void TestParallelFor( int nthread ) {
- typedef tbb::concurrent_vector<int> vector_t;
- vector_t v;
- v.resize(N);
- tbb::tick_count t0 = tbb::tick_count::now();
- if( Verbose )
- REPORT("Calling parallel_for with %ld threads\n",long(nthread));
- tbb::parallel_for( v.range(10000), AssignElement(v.begin()) );
- tbb::tick_count t1 = tbb::tick_count::now();
- const vector_t& u = v;
- tbb::parallel_for( u.range(10000), CheckElement(u.begin()) );
- tbb::tick_count t2 = tbb::tick_count::now();
- if( Verbose )
- REPORT("Time for parallel_for: assign time = %8.5f, check time = %8.5f\n",
- (t1-t0).seconds(),(t2-t1).seconds());
- for( long i=0; size_t(i)<v.size(); ++i )
- if( v[i]!=i )
- REPORT("ERROR for v[%ld]\n", i);
-}
-
-template<typename Iterator1, typename Iterator2>
-void TestIteratorAssignment( Iterator2 j ) {
- Iterator1 i(j);
- ASSERT( i==j, NULL );
- ASSERT( !(i!=j), NULL );
- Iterator1 k;
- k = j;
- ASSERT( k==j, NULL );
- ASSERT( !(k!=j), NULL );
-}
-
-template<typename Range1, typename Range2>
-void TestRangeAssignment( Range2 r2 ) {
- Range1 r1(r2); r1 = r2;
-}
-
-template<typename Iterator, typename T>
-void TestIteratorTraits() {
- AssertSameType( static_cast<typename Iterator::difference_type*>(0), static_cast<ptrdiff_t*>(0) );
- AssertSameType( static_cast<typename Iterator::value_type*>(0), static_cast<T*>(0) );
- AssertSameType( static_cast<typename Iterator::pointer*>(0), static_cast<T**>(0) );
- AssertSameType( static_cast<typename Iterator::iterator_category*>(0), static_cast<std::random_access_iterator_tag*>(0) );
- T x;
- typename Iterator::reference xr = x;
- typename Iterator::pointer xp = &x;
- ASSERT( &xr==xp, NULL );
-}
-
-template<typename Vector, typename Iterator>
-void CheckConstIterator( const Vector& u, int i, const Iterator& cp ) {
- typename Vector::const_reference pref = *cp;
- if( pref.bar()!=i )
- REPORT("ERROR for u[%ld] using const_iterator\n", long(i));
- typename Vector::difference_type delta = cp-u.begin();
- ASSERT( delta==i, NULL );
- if( u[i].bar()!=i )
- REPORT("ERROR for u[%ld] using subscripting\n", long(i));
- ASSERT( u.begin()[i].bar()==i, NULL );
-}
-
-template<typename Iterator1, typename Iterator2, typename V>
-void CheckIteratorComparison( V& u ) {
- V u2 = u;
- Iterator1 i = u.begin();
-
- for( int i_count=0; i_count<100; ++i_count ) {
- Iterator2 j = u.begin();
- Iterator2 i2 = u2.begin();
- for( int j_count=0; j_count<100; ++j_count ) {
- ASSERT( (i==j)==(i_count==j_count), NULL );
- ASSERT( (i!=j)==(i_count!=j_count), NULL );
- ASSERT( (i-j)==(i_count-j_count), NULL );
- ASSERT( (i<j)==(i_count<j_count), NULL );
- ASSERT( (i>j)==(i_count>j_count), NULL );
- ASSERT( (i<=j)==(i_count<=j_count), NULL );
- ASSERT( (i>=j)==(i_count>=j_count), NULL );
- ASSERT( !(i==i2), NULL );
- ASSERT( i!=i2, NULL );
- ++j;
- ++i2;
- }
- ++i;
- }
-}
-
-//! Test sequential iterators for vector type V.
-/** Also does timing. */
-template<typename T>
-void TestSequentialFor() {
- typedef tbb::concurrent_vector<FooWithAssign> V;
- V v(N);
- ASSERT(v.grow_by(0) == v.grow_by(0, FooWithAssign()), NULL);
-
- // Check iterator
- tbb::tick_count t0 = tbb::tick_count::now();
- typename V::iterator p = v.begin();
- ASSERT( !(*p).is_const(), NULL );
- ASSERT( !p->is_const(), NULL );
- for( int i=0; size_t(i)<v.size(); ++i, ++p ) {
- if( (*p).state!=Foo::DefaultInitialized )
- REPORT("ERROR for v[%ld]\n", long(i));
- typename V::reference pref = *p;
- pref.bar() = i;
- typename V::difference_type delta = p-v.begin();
- ASSERT( delta==i, NULL );
- ASSERT( -delta<=0, "difference type not signed?" );
- }
- tbb::tick_count t1 = tbb::tick_count::now();
-
- // Check const_iterator going forwards
- const V& u = v;
- typename V::const_iterator cp = u.begin();
- ASSERT( cp == v.cbegin(), NULL );
- ASSERT( (*cp).is_const(), NULL );
- ASSERT( cp->is_const(), NULL );
- ASSERT( *cp == v.front(), NULL);
- for( int i=0; size_t(i)<u.size(); ++i ) {
- CheckConstIterator(u,i,cp);
- V::const_iterator &cpr = ++cp;
- ASSERT( &cpr == &cp, "preincrement not returning a reference?");
- }
- tbb::tick_count t2 = tbb::tick_count::now();
- if( Verbose )
- REPORT("Time for serial for: assign time = %8.5f, check time = %8.5f\n",
- (t1-t0).seconds(),(t2-t1).seconds());
-
- // Now go backwards
- cp = u.end();
- ASSERT( cp == v.cend(), NULL );
- for( int i=int(u.size()); i>0; ) {
- --i;
- V::const_iterator &cpr = --cp;
- ASSERT( &cpr == &cp, "predecrement not returning a reference?");
- if( i>0 ) {
- typename V::const_iterator cp_old = cp--;
- int here = (*cp_old).bar();
- ASSERT( here==u[i].bar(), NULL );
- typename V::const_iterator cp_new = cp++;
- int prev = (*cp_new).bar();
- ASSERT( prev==u[i-1].bar(), NULL );
- }
- CheckConstIterator(u,i,cp);
- }
-
- // Now go forwards and backwards
- ptrdiff_t j = 0;
- cp = u.begin();
- for( size_t i=0; i<u.size(); ++i ) {
- CheckConstIterator(u,int(j),cp);
- typename V::difference_type delta = i*3 % u.size();
- if( 0<=j+delta && size_t(j+delta)<u.size() ) {
- V::const_iterator &cpr = (cp += delta);
- ASSERT( &cpr == &cp, "+= not returning a reference?");
- j += delta;
- }
- delta = i*7 % u.size();
- if( 0<=j-delta && size_t(j-delta)<u.size() ) {
- if( i&1 ) {
- V::const_iterator &cpr = (cp -= delta);
- ASSERT( &cpr == &cp, "-= not returning a reference?");
- } else
- cp = cp - delta; // Test operator-
- j -= delta;
- }
- }
-
- for( int i=0; size_t(i)<u.size(); i=(i<50?i+1:i*3) )
- for( int j=-i; size_t(i+j)<u.size(); j=(j<50?j+1:j*5) ) {
- ASSERT( (u.begin()+i)[j].bar()==i+j, NULL );
- ASSERT( (v.begin()+i)[j].bar()==i+j, NULL );
- ASSERT((v.cbegin()+i)[j].bar()==i+j, NULL );
- ASSERT( (i+u.begin())[j].bar()==i+j, NULL );
- ASSERT( (i+v.begin())[j].bar()==i+j, NULL );
- ASSERT((i+v.cbegin())[j].bar()==i+j, NULL );
- }
-
- CheckIteratorComparison<typename V::iterator, typename V::iterator>(v);
- CheckIteratorComparison<typename V::iterator, typename V::const_iterator>(v);
- CheckIteratorComparison<typename V::const_iterator, typename V::iterator>(v);
- CheckIteratorComparison<typename V::const_iterator, typename V::const_iterator>(v);
-
- TestIteratorAssignment<typename V::const_iterator>( u.begin() );
- TestIteratorAssignment<typename V::const_iterator>( v.begin() );
- TestIteratorAssignment<typename V::const_iterator>( v.cbegin() );
- TestIteratorAssignment<typename V::iterator>( v.begin() );
- // doesn't compile as expected: TestIteratorAssignment<typename V::iterator>( u.begin() );
-
- TestRangeAssignment<typename V::const_range_type>( u.range() );
- TestRangeAssignment<typename V::const_range_type>( v.range() );
- TestRangeAssignment<typename V::range_type>( v.range() );
- // doesn't compile as expected: TestRangeAssignment<typename V::range_type>( u.range() );
-
- // Check reverse_iterator
- typename V::reverse_iterator rp = v.rbegin();
- for( size_t i=v.size(); i>0; --i, ++rp ) {
- typename V::reference pref = *rp;
- ASSERT( size_t(pref.bar())==i-1, NULL );
- ASSERT( rp!=v.rend(), NULL );
- }
- ASSERT( rp==v.rend(), NULL );
-
- // Check const_reverse_iterator
- typename V::const_reverse_iterator crp = u.rbegin();
- ASSERT( crp == v.crbegin(), NULL );
- ASSERT( *crp == v.back(), NULL);
- for( size_t i=v.size(); i>0; --i, ++crp ) {
- typename V::const_reference cpref = *crp;
- ASSERT( size_t(cpref.bar())==i-1, NULL );
- ASSERT( crp!=u.rend(), NULL );
- }
- ASSERT( crp == u.rend(), NULL );
- ASSERT( crp == v.crend(), NULL );
-
- TestIteratorAssignment<typename V::const_reverse_iterator>( u.rbegin() );
- TestIteratorAssignment<typename V::reverse_iterator>( v.rbegin() );
-
- // test compliance with C++ Standard 2003, clause 23.1.1p9
- {
- tbb::concurrent_vector<int> v1, v2(1, 100);
- v1.assign(1, 100); ASSERT(v1 == v2, NULL);
- ASSERT(v1.size() == 1 && v1[0] == 100, "used integral iterators");
- }
-
- // cross-allocator tests
-#if !defined(_WIN64) || defined(_CPPLIB_VER)
- typedef local_counting_allocator<std::allocator<int>, size_t> allocator1_t;
- typedef tbb::cache_aligned_allocator<void> allocator2_t;
- typedef tbb::concurrent_vector<FooWithAssign, allocator1_t> V1;
- typedef tbb::concurrent_vector<FooWithAssign, allocator2_t> V2;
- V1 v1( v ); // checking cross-allocator copying
- V2 v2( 10 ); v2 = v1; // checking cross-allocator assignment
- ASSERT( (v1 == v) && !(v2 != v), NULL);
- ASSERT( !(v1 < v) && !(v2 > v), NULL);
- ASSERT( (v1 <= v) && (v2 >= v), NULL);
-#endif
-}
-
-static const size_t Modulus = 7;
-
-typedef static_counting_allocator<debug_allocator<Foo> > MyAllocator;
-typedef tbb::concurrent_vector<Foo, MyAllocator> MyVector;
-
-template<typename MyVector>
-class GrowToAtLeast: NoAssign {
- MyVector& my_vector;
-public:
- void operator()( const tbb::blocked_range<size_t>& range ) const {
- for( size_t i=range.begin(); i!=range.end(); ++i ) {
- size_t n = my_vector.size();
- size_t req = (i % (2*n+1))+1;
-#if TBB_DEPRECATED
- my_vector.grow_to_at_least(req);
-#else
- typename MyVector::iterator p = my_vector.grow_to_at_least(req);
- if( p-my_vector.begin() < typename MyVector::difference_type(req) )
- ASSERT( p->state == Foo::DefaultInitialized || p->state == Foo::ZeroInitialized, NULL);
-#endif
- ASSERT( my_vector.size()>=req, NULL );
- }
- }
- GrowToAtLeast( MyVector& vector ) : my_vector(vector) {}
-};
-
-void TestConcurrentGrowToAtLeast() {
- typedef static_counting_allocator< tbb::zero_allocator<Foo> > MyAllocator;
- typedef tbb::concurrent_vector<Foo, MyAllocator> MyVector;
- MyAllocator::init_counters();
- MyVector v(2, Foo(), MyAllocator());
- for( size_t s=1; s<1000; s*=10 ) {
- tbb::parallel_for( tbb::blocked_range<size_t>(0,10000*s,s), GrowToAtLeast<MyVector>(v), tbb::simple_partitioner() );
- }
- v.clear();
- ASSERT( 0 == v.get_allocator().frees, NULL);
- v.shrink_to_fit();
- size_t items_allocated = v.get_allocator().items_allocated,
- items_freed = v.get_allocator().items_freed;
- size_t allocations = v.get_allocator().allocations,
- frees = v.get_allocator().frees;
- ASSERT( items_allocated == items_freed, NULL);
- ASSERT( allocations == frees, NULL);
-}
-
-//! Test concurrent invocations of method concurrent_vector::grow_by
-template<typename MyVector>
-class GrowBy: NoAssign {
- MyVector& my_vector;
-public:
- void operator()( const tbb::blocked_range<int>& range ) const {
- ASSERT( range.begin() < range.end(), NULL );
-#if TBB_DEPRECATED
- for( int i=range.begin(); i!=range.end(); ++i )
-#else
- int i = range.begin(), h = (range.end() - i) / 2;
- typename MyVector::iterator s = my_vector.grow_by(h);
- for( h += i; i < h; ++i, ++s )
- s->bar() = i;
- for(; i!=range.end(); ++i )
-#endif
- {
- if( i&1 ) {
-#if TBB_DEPRECATED
- typename MyVector::reference element = my_vector[my_vector.grow_by(1)];
- element.bar() = i;
-#else
- my_vector.grow_by(1)->bar() = i;
-#endif
- } else {
- typename MyVector::value_type f;
- f.bar() = i;
-#if TBB_DEPRECATED
- size_t r;
-#else
- typename MyVector::iterator r;
-#endif
- if( i&2 )
- r = my_vector.push_back( f );
- else
- r = my_vector.grow_by(1, f);
-#if TBB_DEPRECATED
- ASSERT( my_vector[r].bar()==i, NULL );
-#else
- ASSERT( r->bar()==i, NULL );
-#endif
- }
- }
- }
- GrowBy( MyVector& vector ) : my_vector(vector) {}
-};
-
-//! Test concurrent invocations of method concurrent_vector::grow_by
-void TestConcurrentGrowBy( int nthread ) {
- MyAllocator::init_counters();
- {
- int m = 100000; MyAllocator a;
- MyVector v( a );
- tbb::parallel_for( tbb::blocked_range<int>(0,m,100), GrowBy<MyVector>(v), tbb::simple_partitioner() );
- ASSERT( v.size()==size_t(m), NULL );
-
- // Verify that v is a permutation of 0..m
- int inversions = 0, def_inits = 0, copy_inits = 0;
- bool* found = new bool[m];
- memset( found, 0, m );
- for( int i=0; i<m; ++i ) {
- if( v[i].state == Foo::DefaultInitialized ) ++def_inits;
- else if( v[i].state == Foo::CopyInitialized ) ++copy_inits;
- else {
- if(Verbose) std::printf("i: %d ", i);
- ASSERT( false, "v[i] seems not initialized");
- }
- int index = v[i].bar();
- ASSERT( !found[index], NULL );
- found[index] = true;
- if( i>0 )
- inversions += v[i].bar()<v[i-1].bar();
- }
- for( int i=0; i<m; ++i ) {
- ASSERT( found[i], NULL );
- ASSERT( nthread>1 || v[i].bar()==i, "sequential execution is wrong" );
- }
- delete[] found;
- if(Verbose) REPORT("Initialization by default constructor: %d, by copy: %d\n", def_inits, copy_inits);
- ASSERT( def_inits >= m/2, NULL );
- ASSERT( copy_inits >= m/4, NULL );
- if( nthread>1 && inversions<m/20 )
- REPORT("Warning: not much concurrency in TestConcurrentGrowBy (%d inversions)\n", inversions);
- }
- size_t items_allocated = MyAllocator::items_allocated,
- items_freed = MyAllocator::items_freed;
- size_t allocations = MyAllocator::allocations,
- frees = MyAllocator::frees;
- ASSERT( items_allocated == items_freed, NULL);
- ASSERT( allocations == frees, NULL);
-}
-
-//! Test the assignment operator and swap
-void TestAssign() {
- typedef tbb::concurrent_vector<FooWithAssign, local_counting_allocator<std::allocator<FooWithAssign>, size_t > > vector_t;
- local_counting_allocator<std::allocator<FooWithAssign>, size_t > init_alloc;
- init_alloc.allocations = 100;
- for( int dst_size=1; dst_size<=128; NextSize( dst_size ) ) {
- for( int src_size=2; src_size<=128; NextSize( src_size ) ) {
- vector_t u(FooIterator(0), FooIterator(src_size), init_alloc);
- for( int i=0; i<src_size; ++i )
- ASSERT( u[i].bar()==i, NULL );
- vector_t v(dst_size, FooWithAssign(), init_alloc);
- for( int i=0; i<dst_size; ++i ) {
- ASSERT( v[i].state==Foo::CopyInitialized, NULL );
- v[i].bar() = ~i;
- }
- ASSERT( v != u, NULL);
- v.swap(u);
- CheckVector(u, dst_size, src_size);
- u.swap(v);
- // using assignment
- v = u;
- ASSERT( v == u, NULL);
- u.clear();
- ASSERT( u.size()==0, NULL );
- ASSERT( v.size()==size_t(src_size), NULL );
- for( int i=0; i<src_size; ++i )
- ASSERT( v[i].bar()==i, NULL );
- ASSERT( 0 == u.get_allocator().frees, NULL);
- u.shrink_to_fit(); // deallocate unused memory
- size_t items_allocated = u.get_allocator().items_allocated,
- items_freed = u.get_allocator().items_freed;
- size_t allocations = u.get_allocator().allocations,
- frees = u.get_allocator().frees + 100;
- ASSERT( items_allocated == items_freed, NULL);
- ASSERT( allocations == frees, NULL);
- }
- }
-}
-
-// Test the comparison operators
-#include <string>
-void TestComparison() {
- std::string str[3]; str[0] = "abc";
- str[1].assign("cba");
- str[2].assign("abc"); // same as 0th
- tbb::concurrent_vector<char> var[3];
- var[0].assign(str[0].begin(), str[0].end());
- var[1].assign(str[0].rbegin(), str[0].rend());
- var[2].assign(var[1].rbegin(), var[1].rend()); // same as 0th
- for (int i = 0; i < 3; ++i) {
- for (int j = 0; j < 3; ++j) {
- ASSERT( (var[i] == var[j]) == (str[i] == str[j]), NULL );
- ASSERT( (var[i] != var[j]) == (str[i] != str[j]), NULL );
- ASSERT( (var[i] < var[j]) == (str[i] < str[j]), NULL );
- ASSERT( (var[i] > var[j]) == (str[i] > str[j]), NULL );
- ASSERT( (var[i] <= var[j]) == (str[i] <= str[j]), NULL );
- ASSERT( (var[i] >= var[j]) == (str[i] >= str[j]), NULL );
- }
- }
-}
-
-//------------------------------------------------------------------------
-// Regression test for problem where on oversubscription caused
-// concurrent_vector::grow_by to run very slowly (TR#196).
-//------------------------------------------------------------------------
-
-#include "tbb/task_scheduler_init.h"
-#include <math.h>
-
-typedef unsigned long Number;
-
-static tbb::concurrent_vector<Number> Primes;
-
-class FindPrimes {
- bool is_prime( Number val ) const {
- int limit, factor = 3;
- if( val<5u )
- return val==2;
- else {
- limit = long(sqrtf(float(val))+0.5f);
- while( factor<=limit && val % factor )
- ++factor;
- return factor>limit;
- }
- }
-public:
- void operator()( const tbb::blocked_range<Number>& r ) const {
- for( Number i=r.begin(); i!=r.end(); ++i ) {
- if( i%2 && is_prime(i) ) {
-#if TBB_DEPRECATED
- Primes[Primes.grow_by(1)] = i;
-#else
- Primes.push_back( i );
-#endif
- }
- }
- }
-};
-
-double TimeFindPrimes( int nthread ) {
- Primes.clear();
- Primes.reserve(1000000);// TODO: or compact()?
- tbb::task_scheduler_init init(nthread);
- tbb::tick_count t0 = tbb::tick_count::now();
- tbb::parallel_for( tbb::blocked_range<Number>(0,1000000,500), FindPrimes() );
- tbb::tick_count t1 = tbb::tick_count::now();
- return (t1-t0).seconds();
-}
-
-void TestFindPrimes() {
- // Time fully subscribed run.
- double t2 = TimeFindPrimes( tbb::task_scheduler_init::automatic );
-
- // Time parallel run that is very likely oversubscribed.
- double t128 = TimeFindPrimes(128);
-
- if( Verbose )
- REPORT("TestFindPrimes: t2==%g t128=%g k=%g\n", t2, t128, t128/t2);
-
- // We allow the 128-thread run a little extra time to allow for thread overhead.
- // Theoretically, following test will fail on machine with >128 processors.
- // But that situation is not going to come up in the near future,
- // and the generalization to fix the issue is not worth the trouble.
- if( t128 > 1.3*t2 ) {
- REPORT("Warning: grow_by is pathetically slow: t2==%g t128=%g k=%g\n", t2, t128, t128/t2);
- }
-}
-
-//------------------------------------------------------------------------
-// Test compatibility with STL sort.
-//------------------------------------------------------------------------
-
-#include <algorithm>
-
-void TestSort() {
- for( int n=0; n<100; n=n*3+1 ) {
- tbb::concurrent_vector<int> array(n);
- for( int i=0; i<n; ++i )
- array.at(i) = (i*7)%n;
- std::sort( array.begin(), array.end() );
- for( int i=0; i<n; ++i )
- ASSERT( array[i]==i, NULL );
- }
-}
-
-//------------------------------------------------------------------------
-// Test exceptions safety (from allocator and items constructors)
-//------------------------------------------------------------------------
-#if __TBB_EXCEPTIONS
-void TestExceptions() {
- typedef static_counting_allocator<debug_allocator<FooWithAssign>, std::size_t> allocator_t;
- typedef tbb::concurrent_vector<FooWithAssign, allocator_t> vector_t;
-
- enum methods {
- zero_method = 0,
- ctor_copy, ctor_size, assign_nt, assign_ir, op_equ, reserve, compact, grow,
- all_methods
- };
- ASSERT( !FooCount, NULL );
-
- try {
- vector_t src(FooIterator(0), FooIterator(N)); // original data
-
- for(int t = 0; t < 2; ++t) // exception type
- for(int m = zero_method+1; m < all_methods; ++m)
- {
- ASSERT( FooCount == N, "Previous iteration miss some Foo's de-/initialization" );
- allocator_t::init_counters();
- if(t) MaxFooCount = FooCount + N/4;
- else allocator_t::set_limits(N/4);
- vector_t victim;
- try {
- switch(m) {
- case ctor_copy: {
- vector_t acopy(src);
- } break; // auto destruction after exception is checked by ~Foo
- case ctor_size: {
- vector_t sized(N);
- } break; // auto destruction after exception is checked by ~Foo
- // Do not test assignment constructor due to reusing of same methods as below
- case assign_nt: {
- victim.assign(N, FooWithAssign());
- } break;
- case assign_ir: {
- victim.assign(FooIterator(0), FooIterator(N));
- } break;
- case op_equ: {
- victim.reserve(2); victim = src; // fragmented assignment
- } break;
- case reserve: {
- try {
- victim.reserve(victim.max_size()+1);
- } catch(std::length_error &) {
- } catch(...) {
- KNOWN_ISSUE("ERROR: unrecognized exception - known compiler issue\n");
- }
- victim.reserve(N);
- } break;
- case compact: {
- if(t) MaxFooCount = 0; else allocator_t::set_limits(); // reset limits
- victim.reserve(2); victim = src; // fragmented assignment
- if(t) MaxFooCount = FooCount + 10; else allocator_t::set_limits(1, false); // block any allocation, check NULL return from allocator
- victim.shrink_to_fit(); // should start defragmenting first segment
- } break;
- case grow: {
- tbb::task_scheduler_init init(2);
- if(t) MaxFooCount = FooCount + 31; // these numbers help to reproduce the live lock for versions < TBB2.2
- try {
- tbb::parallel_for( tbb::blocked_range<int>(0, N, 70), GrowBy<vector_t>(victim) );
- } catch(...) {
-#if TBB_USE_CAPTURED_EXCEPTION
- throw tbb::bad_last_alloc();
-#else
- throw;
-#endif
- }
- } break;
- default:;
- }
- if(!t || m != reserve) ASSERT(false, "should throw an exception");
- } catch(std::bad_alloc &e) {
- allocator_t::set_limits(); MaxFooCount = 0;
- size_t capacity = victim.capacity();
- size_t size = victim.size();
-#if TBB_DEPRECATED
- size_t req_size = victim.grow_by(0);
-#else
- size_t req_size = victim.grow_by(0) - victim.begin();
-#endif
- ASSERT( size <= capacity, NULL);
- ASSERT( req_size >= size, NULL);
- switch(m) {
- case reserve:
- if(t) ASSERT(false, NULL);
- case assign_nt:
- case assign_ir:
- if(!t) {
- ASSERT(capacity < N/2, "unexpected capacity");
- ASSERT(size == 0, "unexpected size");
- break;
- } else {
- ASSERT(size == N, "unexpected size");
- ASSERT(capacity >= N, "unexpected capacity");
- int i;
- for(i = 1; ; ++i)
- if(!victim[i].zero_bar()) break;
- else ASSERT(victim[i].bar() == (m == assign_ir)? i : initial_value_of_bar, NULL);
- for(; size_t(i) < size; ++i) ASSERT(!victim[i].zero_bar(), NULL);
- ASSERT(size_t(i) == size, NULL);
- break;
- }
- case grow:
- case op_equ:
- if(!t) {
- ASSERT(capacity > 0, NULL);
- ASSERT(capacity < N, "unexpected capacity");
- }
- {
- vector_t copy_of_victim(victim);
- ASSERT(copy_of_victim.size() > 0, NULL);
- for(int i = 0; ; ++i) {
- try {
- FooWithAssign &foo = victim.at(i);
- if( !foo.is_valid_or_zero() ) {
- std::printf("i: %d size: %zd req_size: %zd state: %d\n", i, size, req_size, foo.state);
- }
- int bar = foo.zero_bar();
- if(m != grow) ASSERT( bar == i || (t && bar == 0), NULL);
- if(size_t(i) < copy_of_victim.size()) ASSERT( copy_of_victim[i].bar() == bar, NULL);
- } catch(std::range_error &) { // skip broken segment
- ASSERT( size_t(i) < req_size, NULL );
- if(m == op_equ) break;
- } catch(std::out_of_range &){
- ASSERT( i > 0, NULL ); break;
- } catch(...) {
- KNOWN_ISSUE("ERROR: unrecognized exception - known compiler issue\n"); break;
- }
- }
- vector_t copy_of_victim2(10); copy_of_victim2 = victim;
- ASSERT(copy_of_victim == copy_of_victim2, "assignment doesn't match copying");
- if(m == op_equ) {
- try {
- victim = copy_of_victim2;
- } catch(tbb::bad_last_alloc &) { break;
- } catch(...) {
- KNOWN_ISSUE("ERROR: unrecognized exception - known compiler issue\n"); break;
- }
- ASSERT(t, NULL);
- }
- } break;
- case compact:
- ASSERT(capacity > 0, "unexpected capacity");
- ASSERT(victim == src, "shrink_to_fit() is broken");
- break;
-
- default:; // nothing to check here
- }
- if( Verbose ) REPORT("Exception %d: %s\t- ok\n", m, e.what());
- }
- }
- } catch(...) {
- ASSERT(false, "unexpected exception");
- }
-}
-#endif// __TBB_EXCEPTIONS
-//------------------------------------------------------------------------
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- // Test requires at least one thread.
- MinThread = 1;
- ParseCommandLine( argc, argv );
- if( MinThread<1 ) {
- REPORT("ERROR: MinThread=%d, but must be at least 1\n",MinThread); MinThread = 1;
- }
-#if !TBB_DEPRECATED
- TestIteratorTraits<tbb::concurrent_vector<Foo>::iterator,Foo>();
- TestIteratorTraits<tbb::concurrent_vector<Foo>::const_iterator,const Foo>();
- TestSequentialFor<FooWithAssign> ();
- TestResizeAndCopy();
- TestAssign();
-#endif
- TestCapacity();
- ASSERT( !FooCount, NULL );
- for( int nthread=MinThread; nthread<=MaxThread; ++nthread ) {
- tbb::task_scheduler_init init( nthread );
- TestParallelFor( nthread );
- TestConcurrentGrowToAtLeast();
- TestConcurrentGrowBy( nthread );
- }
- ASSERT( !FooCount, NULL );
-#if !TBB_DEPRECATED
- TestComparison();
-#if !__TBB_FLOATING_POINT_BROKEN
- TestFindPrimes();
-#endif
- TestSort();
-#if __TBB_EXCEPTIONS
-#if __TBB_EXCEPTION_HANDLING_BROKEN
- REPORT("Warning: Exception safety test is skipped due to a known issue.\n");
-#else
- TestExceptions();
-#endif
-#endif//__TBB_EXCEPTIONS
-#endif//!TBB_DEPRECATED
- ASSERT( !FooCount, NULL );
- if( Verbose )
- REPORT("sizeof(concurrent_vector<int>) == %d\n", (int)sizeof(tbb::concurrent_vector<int>));
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <limits.h> // for INT_MAX
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tbb_exception.h"
-#include "tbb/task.h"
-#include "tbb/atomic.h"
-#include "tbb/parallel_for.h"
-#include "tbb/parallel_reduce.h"
-#include "tbb/parallel_do.h"
-#include "tbb/pipeline.h"
-#include "tbb/parallel_scan.h"
-#include "tbb/blocked_range.h"
-#include "harness_assert.h"
-
-#if __TBB_EXCEPTIONS && !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
-
-#define FLAT_RANGE 100000
-#define FLAT_GRAIN 1000
-#define NESTING_RANGE 100
-#define NESTING_GRAIN 10
-#define NESTED_RANGE (FLAT_RANGE / NESTING_RANGE)
-#define NESTED_GRAIN (FLAT_GRAIN / NESTING_GRAIN)
-
-tbb::atomic<intptr_t> g_FedTasksCount; // number of tasks added by parallel_do feeder
-
-inline intptr_t Existed () { return INT_MAX; }
-
-#include "harness_eh.h"
-
-inline void ResetGlobals ( bool throwException = true, bool flog = false ) {
- ResetEhGlobals( throwException, flog );
- g_FedTasksCount = 0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Tests for tbb::parallel_for and tbb::parallel_reduce
-
-typedef size_t count_type;
-typedef tbb::blocked_range<count_type> range_type;
-
-inline intptr_t NumSubranges ( intptr_t length, intptr_t grain ) {
- intptr_t n = 1;
- for( ; length > grain; length -= length >> 1 )
- n *= 2;
- return n;
-}
-
-template<class Body>
-intptr_t TestNumSubrangesCalculation ( intptr_t length, intptr_t grain, intptr_t nested_length, intptr_t nested_grain ) {
- ResetGlobals();
- g_ThrowException = false;
- intptr_t nestingCalls = NumSubranges(length, grain),
- nestedCalls = NumSubranges(nested_length, nested_grain),
- maxExecuted = nestingCalls * (nestedCalls + 1);
- tbb::parallel_for( range_type(0, length, grain), Body() );
- ASSERT (g_CurExecuted == maxExecuted, "Wrong estimation of bodies invocation count");
- return maxExecuted;
-}
-
-class NoThrowParForBody {
-public:
- void operator()( const range_type& r ) const {
- volatile long x;
- count_type end = r.end();
- for( count_type i=r.begin(); i<end; ++i )
- x = 0;
- }
-};
-
-void Test0 () {
- ResetGlobals();
- tbb::simple_partitioner p;
- for( size_t i=0; i<10; ++i ) {
- tbb::parallel_for( range_type(0, 0, 1), NoThrowParForBody() );
- tbb::parallel_for( range_type(0, 0, 1), NoThrowParForBody(), p );
- tbb::parallel_for( range_type(0, 128, 8), NoThrowParForBody() );
- tbb::parallel_for( range_type(0, 128, 8), NoThrowParForBody(), p );
- }
-} // void Test0 ()
-
-//! Template that creates a functor suitable for parallel_reduce from a functor for parallel_for.
-template<typename ParForBody>
-class SimpleParReduceBody: NoAssign {
- ParForBody m_Body;
-public:
- void operator()( const range_type& r ) const { m_Body(r); }
- SimpleParReduceBody() {}
- SimpleParReduceBody( SimpleParReduceBody& left, tbb::split ) : m_Body(left.m_Body) {}
- void join( SimpleParReduceBody& /*right*/ ) {}
-}; // SimpleParReduceBody
-
-//! Test parallel_for and parallel_reduce for a given partitioner.
-/** The Body need only be suitable for a parallel_for. */
-template<typename ParForBody, typename Partitioner>
-void TestParallelLoopAux( Partitioner& partitioner ) {
- for( int i=0; i<2; ++i ) {
- ResetGlobals();
- TRY();
- if( i==0 )
- tbb::parallel_for( range_type(0, FLAT_RANGE, FLAT_GRAIN), ParForBody(), partitioner );
- else {
- SimpleParReduceBody<ParForBody> rb;
- tbb::parallel_reduce( range_type(0, FLAT_RANGE, FLAT_GRAIN), rb, partitioner );
- }
- CATCH_AND_ASSERT();
- ASSERT (exceptionCaught, "No exception thrown from the nesting parallel_for");
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- }
-}
-
-//! Test with parallel_for and parallel_reduce, over all three kinds of partitioners.
-/** The Body only needs to be suitable for tbb::parallel_for. */
-template<typename Body>
-void TestParallelLoop() {
- // The simple and auto partitioners should be const, but not the affinity partitioner.
- const tbb::simple_partitioner p0;
- TestParallelLoopAux<Body>( p0 );
- const tbb::auto_partitioner p1;
- TestParallelLoopAux<Body>( p1 );
- tbb::affinity_partitioner p2;
- TestParallelLoopAux<Body>( p2 );
-}
-
-class SimpleParForBody: NoAssign {
-public:
- void operator()( const range_type& r ) const {
- Harness::ConcurrencyTracker ct;
- volatile long x;
- for( count_type i = r.begin(); i != r.end(); ++i )
- x = 0;
- ++g_CurExecuted;
- WaitUntilConcurrencyPeaks();
- ThrowTestException(1);
- }
-};
-
-void Test1() {
- TestParallelLoop<SimpleParForBody>();
-} // void Test1 ()
-
-class NestingParForBody: NoAssign {
-public:
- void operator()( const range_type& ) const {
- Harness::ConcurrencyTracker ct;
- ++g_CurExecuted;
- tbb::parallel_for( tbb::blocked_range<size_t>(0, NESTED_RANGE, NESTED_GRAIN), SimpleParForBody() );
- }
-};
-
-//! Uses parallel_for body containing a nested parallel_for with the default context not wrapped by a try-block.
-/** Nested algorithms are spawned inside the new bound context by default. Since
- exceptions thrown from the nested parallel_for are not handled by the caller
- (nesting parallel_for body) in this test, they will cancel all the sibling nested
- algorithms. **/
-void Test2 () {
- TestParallelLoop<NestingParForBody>();
-} // void Test2 ()
-
-class NestingParForBodyWithIsolatedCtx {
-public:
- void operator()( const range_type& ) const {
- tbb::task_group_context ctx(tbb::task_group_context::isolated);
- ++g_CurExecuted;
- tbb::parallel_for( tbb::blocked_range<size_t>(0, NESTED_RANGE, NESTED_GRAIN), SimpleParForBody(), tbb::simple_partitioner(), ctx );
- }
-};
-
-//! Uses parallel_for body invoking a nested parallel_for with an isolated context without a try-block.
-/** Even though exceptions thrown from the nested parallel_for are not handled
- by the caller in this test, they will not affect sibling nested algorithms
- already running because of the isolated contexts. However because the first
- exception cancels the root parallel_for only the first g_NumThreads subranges
- will be processed (which launch nested parallel_fors) **/
-void Test3 () {
- ResetGlobals();
- typedef NestingParForBodyWithIsolatedCtx body_type;
- intptr_t nestedCalls = NumSubranges(NESTED_RANGE, NESTED_GRAIN),
- minExecuted = (g_NumThreads - 1) * nestedCalls;
- TRY();
- tbb::parallel_for( range_type(0, NESTING_RANGE, NESTING_GRAIN), body_type() );
- CATCH_AND_ASSERT();
- ASSERT (exceptionCaught, "No exception thrown from the nesting parallel_for");
- if ( g_SolitaryException ) {
- ASSERT (g_CurExecuted > minExecuted, "Too few tasks survived exception");
- ASSERT (g_CurExecuted <= minExecuted + (g_ExecutedAtCatch + g_NumThreads), "Too many tasks survived exception");
- }
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-} // void Test3 ()
-
-class NestingParForExceptionSafeBody {
-public:
- void operator()( const range_type& ) const {
- tbb::task_group_context ctx(tbb::task_group_context::isolated);
- TRY();
- tbb::parallel_for( tbb::blocked_range<size_t>(0, NESTED_RANGE, NESTED_GRAIN), SimpleParForBody(), tbb::simple_partitioner(), ctx );
- CATCH();
- }
-};
-
-//! Uses parallel_for body invoking a nested parallel_for (with default bound context) inside a try-block.
-/** Since exception(s) thrown from the nested parallel_for are handled by the caller
- in this test, they do not affect neither other tasks of the the root parallel_for
- nor sibling nested algorithms. **/
-void Test4 () {
- ResetGlobals( true, true );
- intptr_t nestedCalls = NumSubranges(NESTED_RANGE, NESTED_GRAIN),
- nestingCalls = NumSubranges(NESTING_RANGE, NESTING_GRAIN),
- maxExecuted = nestingCalls * nestedCalls;
- TRY();
- tbb::parallel_for( range_type(0, NESTING_RANGE, NESTING_GRAIN), NestingParForExceptionSafeBody() );
- CATCH();
- ASSERT (!exceptionCaught, "All exceptions must have been handled in the parallel_for body");
- intptr_t minExecuted = 0;
- if ( g_SolitaryException ) {
- minExecuted = maxExecuted - nestedCalls;
- ASSERT (g_Exceptions == 1, "No exception registered");
- ASSERT (g_CurExecuted >= minExecuted, "Too few tasks executed");
- ASSERT (g_CurExecuted <= minExecuted + g_NumThreads, "Too many tasks survived exception");
- }
- else {
- minExecuted = g_Exceptions;
- ASSERT (g_Exceptions > 1 && g_Exceptions <= nestingCalls, "Unexpected actual number of exceptions");
- ASSERT (g_CurExecuted >= minExecuted, "Too many executed tasks reported");
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived multiple exceptions");
- ASSERT (g_CurExecuted <= nestingCalls * (1 + g_NumThreads), "Too many tasks survived exception");
- }
-} // void Test4 ()
-
-class ParForBodyToCancel {
-public:
- void operator()( const range_type& ) const {
- ++g_CurExecuted;
- CancellatorTask::WaitUntilReady();
- }
-};
-
-template<class B>
-class ParForLauncherTask : public tbb::task {
- tbb::task_group_context &my_ctx;
-
- tbb::task* execute () {
- tbb::parallel_for( range_type(0, FLAT_RANGE, FLAT_GRAIN), B(), tbb::simple_partitioner(), my_ctx );
- return NULL;
- }
-public:
- ParForLauncherTask ( tbb::task_group_context& ctx ) : my_ctx(ctx) {}
-};
-
-//! Test for cancelling an algorithm from outside (from a task running in parallel with the algorithm).
-void Test5 () {
- ResetGlobals( false );
- RunCancellationTest<ParForLauncherTask<ParForBodyToCancel>, CancellatorTask>( NumSubranges(FLAT_RANGE, FLAT_GRAIN) / 4 );
- ASSERT (g_CurExecuted < g_ExecutedAtCatch + g_NumThreads, "Too many tasks were executed after cancellation");
-} // void Test5 ()
-
-class CancellatorTask2 : public tbb::task {
- tbb::task_group_context &m_GroupToCancel;
-
- tbb::task* execute () {
- Harness::ConcurrencyTracker ct;
- WaitUntilConcurrencyPeaks();
- m_GroupToCancel.cancel_group_execution();
- g_ExecutedAtCatch = g_CurExecuted;
- return NULL;
- }
-public:
- CancellatorTask2 ( tbb::task_group_context& ctx, intptr_t ) : m_GroupToCancel(ctx) {}
-};
-
-class ParForBodyToCancel2 {
-public:
- void operator()( const range_type& ) const {
- ++g_CurExecuted;
- Harness::ConcurrencyTracker ct;
- // The test will hang (and be timed out by the test system) if is_cancelled() is broken
- while( !tbb::task::self().is_cancelled() )
- __TBB_Yield();
- }
-};
-
-//! Test for cancelling an algorithm from outside (from a task running in parallel with the algorithm).
-/** This version also tests task::is_cancelled() method. **/
-void Test6 () {
- ResetGlobals();
- RunCancellationTest<ParForLauncherTask<ParForBodyToCancel2>, CancellatorTask2>();
- ASSERT (g_ExecutedAtCatch < g_NumThreads, "Somehow worker tasks started their execution before the cancellator task");
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch, "Some tasks were executed after cancellation");
-} // void Test6 ()
-
-////////////////////////////////////////////////////////////////////////////////
-// Regression test based on the contribution by the author of the following forum post:
-// http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30254959.aspx
-
-#define LOOP_COUNT 16
-#define MAX_NESTING 3
-#define REDUCE_RANGE 1024
-#define REDUCE_GRAIN 256
-
-class Worker {
-public:
- void DoWork (int & result, int nest);
-};
-
-class RecursiveParReduceBodyWithSharedWorker {
- Worker * m_SharedWorker;
- int m_NestingLevel;
- int m_Result;
-public:
- RecursiveParReduceBodyWithSharedWorker ( RecursiveParReduceBodyWithSharedWorker& src, tbb::split )
- : m_SharedWorker(src.m_SharedWorker)
- , m_NestingLevel(src.m_NestingLevel)
- , m_Result(0)
- {}
- RecursiveParReduceBodyWithSharedWorker ( Worker *w, int nesting )
- : m_SharedWorker(w)
- , m_NestingLevel(nesting)
- , m_Result(0)
- {}
-
- void operator() ( const tbb::blocked_range<size_t>& r ) {
- for (size_t i = r.begin (); i != r.end (); ++i) {
- int result = 0;
- m_SharedWorker->DoWork (result, m_NestingLevel);
- m_Result += result;
- }
- }
- void join (const RecursiveParReduceBodyWithSharedWorker & x) {
- m_Result += x.m_Result;
- }
- int result () { return m_Result; }
-};
-
-void Worker::DoWork ( int& result, int nest ) {
- ++nest;
- if ( nest < MAX_NESTING ) {
- RecursiveParReduceBodyWithSharedWorker rt (this, nest);
- tbb::parallel_reduce (tbb::blocked_range<size_t>(0, REDUCE_RANGE, REDUCE_GRAIN), rt);
- result = rt.result ();
- }
- else
- ++result;
-}
-
-//! Regression test for hanging that occurred with the first version of cancellation propagation
-void Test7 () {
- Worker w;
- int result = 0;
- w.DoWork (result, 0);
- ASSERT ( result == 1048576, "Wrong calculation result");
-}
-
-void RunParForAndReduceTests () {
- REMARK( "parallel for and reduce tests" );
- tbb::task_scheduler_init init (g_NumThreads);
- g_Master = Harness::CurrentTid();
-
- Test0();
-#if !__TBB_EXCEPTION_HANDLING_BROKEN
- Test1();
- Test3();
- Test4();
-#endif
- Test5();
- Test6();
- Test7();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Tests for tbb::parallel_do
-
-#define ITER_RANGE 1000
-#define ITEMS_TO_FEED 50
-#define NESTED_ITER_RANGE 100
-#define NESTING_ITER_RANGE 50
-
-#define PREPARE_RANGE(Iterator, rangeSize) \
- size_t test_vector[rangeSize + 1]; \
- for (int i =0; i < rangeSize; i++) \
- test_vector[i] = i; \
- Iterator begin(&test_vector[0]); \
- Iterator end(&test_vector[rangeSize])
-
-void Feed ( tbb::parallel_do_feeder<size_t> &feeder, size_t val ) {
- if (g_FedTasksCount < ITEMS_TO_FEED) {
- ++g_FedTasksCount;
- feeder.add(val);
- }
-}
-
-#include "harness_iterator.h"
-
-// Simple functor object with exception
-class SimpleParDoBody {
-public:
- void operator() ( size_t &value ) const {
- ++g_CurExecuted;
- Harness::ConcurrencyTracker ct;
- value += 1000;
- WaitUntilConcurrencyPeaks();
- ThrowTestException(1);
- }
-};
-
-// Simple functor object with exception and feeder
-class SimpleParDoBodyWithFeeder : SimpleParDoBody {
-public:
- void operator() ( size_t &value, tbb::parallel_do_feeder<size_t> &feeder ) const {
- Feed(feeder, 0);
- SimpleParDoBody::operator()(value);
- }
-};
-
-// Tests exceptions without nesting
-template <class Iterator, class simple_body>
-void Test1_parallel_do () {
- ResetGlobals();
- PREPARE_RANGE(Iterator, ITER_RANGE);
- TRY();
- tbb::parallel_do<Iterator, simple_body>(begin, end, simple_body() );
- CATCH_AND_ASSERT();
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-
-} // void Test1_parallel_do ()
-
-template <class Iterator>
-class NestingParDoBody {
-public:
- void operator()( size_t& /*value*/ ) const {
- ++g_CurExecuted;
- PREPARE_RANGE(Iterator, NESTED_ITER_RANGE);
- tbb::parallel_do<Iterator, SimpleParDoBody>(begin, end, SimpleParDoBody());
- }
-};
-
-template <class Iterator>
-class NestingParDoBodyWithFeeder : NestingParDoBody<Iterator> {
-public:
- void operator()( size_t& value, tbb::parallel_do_feeder<size_t>& feeder ) const {
- Feed(feeder, 0);
- NestingParDoBody<Iterator>::operator()(value);
- }
-};
-
-//! Uses parallel_do body containing a nested parallel_do with the default context not wrapped by a try-block.
-/** Nested algorithms are spawned inside the new bound context by default. Since
- exceptions thrown from the nested parallel_do are not handled by the caller
- (nesting parallel_do body) in this test, they will cancel all the sibling nested
- algorithms. **/
-template <class Iterator, class nesting_body>
-void Test2_parallel_do () {
- ResetGlobals();
- PREPARE_RANGE(Iterator, ITER_RANGE);
- TRY();
- tbb::parallel_do<Iterator, nesting_body >(begin, end, nesting_body() );
- CATCH_AND_ASSERT();
- ASSERT (exceptionCaught, "No exception thrown from the nesting parallel_for");
- //if ( g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-} // void Test2_parallel_do ()
-
-template <class Iterator>
-class NestingParDoBodyWithIsolatedCtx {
-public:
- void operator()( size_t& /*value*/ ) const {
- tbb::task_group_context ctx(tbb::task_group_context::isolated);
- ++g_CurExecuted;
- PREPARE_RANGE(Iterator, NESTED_ITER_RANGE);
- tbb::parallel_do<Iterator, SimpleParDoBody>(begin, end, SimpleParDoBody(), ctx);
- }
-};
-
-template <class Iterator>
-class NestingParDoBodyWithIsolatedCtxWithFeeder : NestingParDoBodyWithIsolatedCtx<Iterator> {
-public:
- void operator()( size_t& value, tbb::parallel_do_feeder<size_t> &feeder ) const {
- Feed(feeder, 0);
- NestingParDoBodyWithIsolatedCtx<Iterator>::operator()(value);
- }
-};
-
-//! Uses parallel_do body invoking a nested parallel_do with an isolated context without a try-block.
-/** Even though exceptions thrown from the nested parallel_do are not handled
- by the caller in this test, they will not affect sibling nested algorithms
- already running because of the isolated contexts. However because the first
- exception cancels the root parallel_do only the first g_NumThreads subranges
- will be processed (which launch nested parallel_dos) **/
-template <class Iterator, class nesting_body>
-void Test3_parallel_do () {
- ResetGlobals();
- PREPARE_RANGE(Iterator, NESTING_ITER_RANGE);
- intptr_t nestedCalls = NESTED_ITER_RANGE,
- minExecuted = (g_NumThreads - 1) * nestedCalls;
- TRY();
- tbb::parallel_do<Iterator, nesting_body >(begin, end, nesting_body());
- CATCH_AND_ASSERT();
- ASSERT (exceptionCaught, "No exception thrown from the nesting parallel_for");
- if ( g_SolitaryException ) {
- ASSERT (g_CurExecuted > minExecuted, "Too few tasks survived exception");
- ASSERT (g_CurExecuted <= minExecuted + (g_ExecutedAtCatch + g_NumThreads), "Too many tasks survived exception");
- }
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-} // void Test3_parallel_do ()
-
-template <class Iterator>
-class NestingParDoWithEhBody {
-public:
- void operator()( size_t& /*value*/ ) const {
- tbb::task_group_context ctx(tbb::task_group_context::isolated);
- PREPARE_RANGE(Iterator, NESTED_ITER_RANGE);
- TRY();
- tbb::parallel_do<Iterator, SimpleParDoBody>(begin, end, SimpleParDoBody(), ctx);
- CATCH();
- }
-};
-
-template <class Iterator>
-class NestingParDoWithEhBodyWithFeeder : NoAssign, NestingParDoWithEhBody<Iterator> {
-public:
- void operator()( size_t &value, tbb::parallel_do_feeder<size_t> &feeder ) const {
- Feed(feeder, 0);
- NestingParDoWithEhBody<Iterator>::operator()(value);
- }
-};
-
-//! Uses parallel_for body invoking a nested parallel_for (with default bound context) inside a try-block.
-/** Since exception(s) thrown from the nested parallel_for are handled by the caller
- in this test, they do not affect neither other tasks of the the root parallel_for
- nor sibling nested algorithms. **/
-template <class Iterator, class nesting_body_with_eh>
-void Test4_parallel_do () {
- ResetGlobals( true, true );
- PREPARE_RANGE(Iterator, NESTING_ITER_RANGE);
- TRY();
- tbb::parallel_do<Iterator, nesting_body_with_eh>(begin, end, nesting_body_with_eh());
- CATCH();
- ASSERT (!exceptionCaught, "All exceptions must have been handled in the parallel_do body");
- intptr_t nestedCalls = NESTED_ITER_RANGE,
- nestingCalls = NESTING_ITER_RANGE + g_FedTasksCount,
- maxExecuted = nestingCalls * nestedCalls,
- minExecuted = 0;
- if ( g_SolitaryException ) {
- minExecuted = maxExecuted - nestedCalls;
- ASSERT (g_Exceptions == 1, "No exception registered");
- ASSERT (g_CurExecuted >= minExecuted, "Too few tasks executed");
- ASSERT (g_CurExecuted <= minExecuted + g_NumThreads, "Too many tasks survived exception");
- }
- else {
- minExecuted = g_Exceptions;
- ASSERT (g_Exceptions > 1 && g_Exceptions <= nestingCalls, "Unexpected actual number of exceptions");
- ASSERT (g_CurExecuted >= minExecuted, "Too many executed tasks reported");
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived multiple exceptions");
- ASSERT (g_CurExecuted <= nestingCalls * (1 + g_NumThreads), "Too many tasks survived exception");
- }
-} // void Test4_parallel_do ()
-
-class ParDoBodyToCancel {
-public:
- void operator()( size_t& /*value*/ ) const {
- ++g_CurExecuted;
- CancellatorTask::WaitUntilReady();
- }
-};
-
-class ParDoBodyToCancelWithFeeder : ParDoBodyToCancel {
-public:
- void operator()( size_t& value, tbb::parallel_do_feeder<size_t> &feeder ) const {
- Feed(feeder, 0);
- ParDoBodyToCancel::operator()(value);
- }
-};
-
-template<class B, class Iterator>
-class ParDoWorkerTask : public tbb::task {
- tbb::task_group_context &my_ctx;
-
- tbb::task* execute () {
- PREPARE_RANGE(Iterator, NESTED_ITER_RANGE);
- tbb::parallel_do<Iterator, B>( begin, end, B(), my_ctx );
- return NULL;
- }
-public:
- ParDoWorkerTask ( tbb::task_group_context& ctx ) : my_ctx(ctx) {}
-};
-
-//! Test for cancelling an algorithm from outside (from a task running in parallel with the algorithm).
-template <class Iterator, class body_to_cancel>
-void Test5_parallel_do () {
- ResetGlobals( false );
- intptr_t threshold = 10;
- tbb::task_group_context ctx;
- ctx.reset();
- tbb::empty_task &r = *new( tbb::task::allocate_root() ) tbb::empty_task;
- r.set_ref_count(3);
- r.spawn( *new( r.allocate_child() ) CancellatorTask(ctx, threshold) );
- __TBB_Yield();
- r.spawn( *new( r.allocate_child() ) ParDoWorkerTask<body_to_cancel, Iterator>(ctx) );
- TRY();
- r.wait_for_all();
- CATCH();
- r.destroy(r);
- ASSERT (!exceptionCaught, "Cancelling tasks should not cause any exceptions");
- ASSERT (g_CurExecuted < g_ExecutedAtCatch + g_NumThreads, "Too many tasks were executed after cancellation");
-} // void Test5_parallel_do ()
-
-class ParDoBodyToCancel2 {
-public:
- void operator()( size_t& /*value*/ ) const {
- ++g_CurExecuted;
- // The test will hang (and be timed out by the test system) if is_cancelled() is broken
- while( !tbb::task::self().is_cancelled() )
- __TBB_Yield();
- }
-};
-
-class ParDoBodyToCancel2WithFeeder : ParDoBodyToCancel2 {
-public:
- void operator()( size_t& value, tbb::parallel_do_feeder<size_t> &feeder ) const {
- Feed(feeder, 0);
- ParDoBodyToCancel2::operator()(value);
- }
-};
-
-//! Test for cancelling an algorithm from outside (from a task running in parallel with the algorithm).
-/** This version also tests task::is_cancelled() method. **/
-template <class Iterator, class body_to_cancel>
-void Test6_parallel_do () {
- ResetGlobals();
- RunCancellationTest<ParDoWorkerTask<body_to_cancel, Iterator>, CancellatorTask2>();
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch, "Some tasks were executed after cancellation");
-} // void Test6_parallel_do ()
-
-// This body throws an exception only if the task was added by feeder
-class ParDoBodyWithThrowingFeederTasks {
-public:
- //! This form of the function call operator can be used when the body needs to add more work during the processing
- void operator() ( size_t &value, tbb::parallel_do_feeder<size_t> &feeder ) const {
- ++g_CurExecuted;
- Feed(feeder, 1);
- if (value == 1)
- ThrowTestException(1);
- }
-}; // class ParDoBodyWithThrowingFeederTasks
-
-// Test exception in task, which was added by feeder.
-template <class Iterator>
-void Test8_parallel_do () {
- ResetGlobals();
- PREPARE_RANGE(Iterator, ITER_RANGE);
- TRY();
- tbb::parallel_do<Iterator, ParDoBodyWithThrowingFeederTasks>(begin, end, ParDoBodyWithThrowingFeederTasks());
- CATCH();
- if (g_SolitaryException)
- ASSERT (exceptionCaught, "At least one exception should occur");
-} // void Test8_parallel_do ()
-
-#define RunWithSimpleBody(func, body) \
- func<Harness::RandomIterator<size_t>, body>(); \
- func<Harness::RandomIterator<size_t>, body##WithFeeder>(); \
- func<Harness::ForwardIterator<size_t>, body>(); \
- func<Harness::ForwardIterator<size_t>, body##WithFeeder>()
-
-#define RunWithTemplatedBody(func, body) \
- func<Harness::RandomIterator<size_t>, body<Harness::RandomIterator<size_t> > >(); \
- func<Harness::RandomIterator<size_t>, body##WithFeeder<Harness::RandomIterator<size_t> > >(); \
- func<Harness::ForwardIterator<size_t>, body<Harness::ForwardIterator<size_t> > >(); \
- func<Harness::ForwardIterator<size_t>, body##WithFeeder<Harness::ForwardIterator<size_t> > >()
-
-void RunParDoTests() {
- REMARK( "parallel do tests" );
- tbb::task_scheduler_init init (g_NumThreads);
- g_Master = Harness::CurrentTid();
-#if !__TBB_EXCEPTION_HANDLING_BROKEN
- RunWithSimpleBody(Test1_parallel_do, SimpleParDoBody);
- RunWithTemplatedBody(Test2_parallel_do, NestingParDoBody);
- RunWithTemplatedBody(Test3_parallel_do, NestingParDoBodyWithIsolatedCtx);
- RunWithTemplatedBody(Test4_parallel_do, NestingParDoWithEhBody);
-#endif
- RunWithSimpleBody(Test5_parallel_do, ParDoBodyToCancel);
- RunWithSimpleBody(Test6_parallel_do, ParDoBodyToCancel2);
-#if !__TBB_EXCEPTION_HANDLING_BROKEN
- Test8_parallel_do<Harness::ForwardIterator<size_t> >();
- Test8_parallel_do<Harness::RandomIterator<size_t> >();
-#endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Tests for tbb::pipeline
-
-#define NUM_ITEMS 100
-
-const size_t c_DataEndTag = size_t(~0);
-
-size_t g_NumTokens = 0;
-
-// Simple input filter class, it assigns 1 to all array members
-// It stops when it receives item equal to -1
-class InputFilter: public tbb::filter {
- tbb::atomic<size_t> m_Item;
- size_t m_Buffer[NUM_ITEMS + 1];
-public:
- InputFilter() : tbb::filter(parallel) {
- m_Item = 0;
- for (size_t i = 0; i < NUM_ITEMS; ++i )
- m_Buffer[i] = 1;
- m_Buffer[NUM_ITEMS] = c_DataEndTag;
- }
-
- void* operator()( void* ) {
- size_t item = m_Item.fetch_and_increment();
- if ( item >= NUM_ITEMS )
- return NULL;
- m_Buffer[item] = 1;
- return &m_Buffer[item];
- }
-
- size_t* buffer() { return m_Buffer; }
-}; // class InputFilter
-
-// Pipeline filter, without exceptions throwing
-class NoThrowFilter : public tbb::filter {
- size_t m_Value;
-public:
- enum operation {
- addition,
- subtraction,
- multiplication
- } m_Operation;
-
- NoThrowFilter(operation _operation, size_t value, bool is_parallel)
- : filter(is_parallel? tbb::filter::parallel : tbb::filter::serial_in_order),
- m_Value(value), m_Operation(_operation)
- {}
- void* operator()(void* item) {
- size_t &value = *(size_t*)item;
- ASSERT(value != c_DataEndTag, "terminator element is being processed");
- switch (m_Operation){
- case addition:
- value += m_Value;
- break;
- case subtraction:
- value -= m_Value;
- break;
- case multiplication:
- value *= m_Value;
- break;
- default:
- ASSERT(0, "Wrong operation parameter passed to NoThrowFilter");
- } // switch (m_Operation)
- return item;
- }
-};
-
-// Test pipeline without exceptions throwing
-void Test0_pipeline () {
- ResetGlobals();
- // Run test when serial filter is the first non-input filter
- InputFilter inputFilter;
- NoThrowFilter filter1(NoThrowFilter::addition, 99, false);
- NoThrowFilter filter2(NoThrowFilter::subtraction, 90, true);
- NoThrowFilter filter3(NoThrowFilter::multiplication, 5, false);
- // Result should be 50 for all items except the last
- tbb::pipeline p;
- p.add_filter(inputFilter);
- p.add_filter(filter1);
- p.add_filter(filter2);
- p.add_filter(filter3);
- p.run(8);
- for (size_t i = 0; i < NUM_ITEMS; ++i)
- ASSERT(inputFilter.buffer()[i] == 50, "pipeline didn't process items properly");
-} // void Test0_pipeline ()
-
-// Simple filter with exception throwing
-class SimpleFilter : public tbb::filter {
-public:
- SimpleFilter (tbb::filter::mode _mode ) : filter (_mode) {}
-
- void* operator()(void* item) {
- Harness::ConcurrencyTracker ct;
- ++g_CurExecuted;
- WaitUntilConcurrencyPeaks();
- ThrowTestException(1);
- return item;
- }
-}; // class SimpleFilter
-
-// This enumeration represents filters order in pipeline
-enum FilterSet {
- parallel__parallel=0,
- parallel__serial=1,
- parallel__serial_out_of_order=2,
- serial__parallel=4,
- serial__serial=5,
- serial__serial_out_of_order=6,
- serial_out_of_order__parallel=8,
- serial_out_of_order__serial=9,
- serial_out_of_order__serial_out_of_order=10
-};
-
-// The function returns filter type using filter number in set
-tbb::filter::mode filter_mode (FilterSet set, int number) {
- size_t tmp = set << (2 * (2 - number));
- switch (tmp&12){
- case 0:
- return tbb::filter::parallel;
- case 4:
- return tbb::filter::serial_in_order;
- case 8:
- return tbb::filter::serial_out_of_order;
- }
- ASSERT(0, "Wrong filter set passed to get_filter_type");
- return tbb::filter::parallel; // We should never get here, just to prevent compiler warnings
-}
-
-template<typename InFilter, typename Filter>
-class CustomPipeline : protected tbb::pipeline {
- InFilter inputFilter;
- Filter filter1;
- Filter filter2;
-public:
- CustomPipeline( FilterSet FilterSet )
- : filter1(filter_mode(FilterSet, 1))
- , filter2(filter_mode(FilterSet, 2))
- {
- add_filter(inputFilter);
- add_filter(filter1);
- add_filter(filter2);
- }
- void run () { tbb::pipeline::run(g_NumTokens); }
- void run ( tbb::task_group_context& ctx ) { tbb::pipeline::run(g_NumTokens, ctx); }
-
- using tbb::pipeline::add_filter;
-};
-
-typedef CustomPipeline<InputFilter, SimpleFilter> SimplePipeline;
-
-// Tests exceptions without nesting
-void Test1_pipeline ( FilterSet mode ) {
- ResetGlobals();
- SimplePipeline testPipeline(mode);
- TRY();
- testPipeline.run();
- if ( g_CurExecuted == 2 * NUM_ITEMS ) {
- // In case of all serial filters they might be all executed in the thread(s)
- // where exceptions are not allowed by the common test logic. So we just quit.
- return;
- }
- CATCH_AND_ASSERT();
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-
-} // void Test1_pipeline ()
-
-// Filter with nesting
-class NestingFilter : public tbb::filter {
-public:
- NestingFilter( tbb::filter::mode _mode ) : tbb::filter( _mode) {}
-
- void* operator()(void* item) {
- ++g_CurExecuted;
- SimplePipeline testPipeline(serial__parallel);
- testPipeline.run();
- return item;
- }
-}; // class NestingFilter
-
-//! Uses pipeline containing a nested pipeline with the default context not wrapped by a try-block.
-/** Nested algorithms are spawned inside the new bound context by default. Since
- exceptions thrown from the nested pipeline are not handled by the caller
- (nesting pipeline body) in this test, they will cancel all the sibling nested
- algorithms. **/
-void Test2_pipeline ( FilterSet mode ) {
- ResetGlobals();
- CustomPipeline<InputFilter, NestingFilter> testPipeline(mode);
- TRY();
- testPipeline.run();
- CATCH_AND_ASSERT();
- ASSERT (exceptionCaught, "No exception thrown from the nesting pipeline");
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-} // void Test2_pipeline ()
-
-class NestingFilterWithIsolatedCtx : public tbb::filter {
-public:
- NestingFilterWithIsolatedCtx(tbb::filter::mode m ) : filter (m) {}
-
- void* operator()(void* item) {
- ++g_CurExecuted;
- tbb::task_group_context ctx(tbb::task_group_context::isolated);
- SimplePipeline testPipeline(serial__parallel);
- testPipeline.run(ctx);
- return item;
- }
-}; // class NestingFilterWithIsolatedCtx
-
-//! Uses pipeline invoking a nested pipeline with an isolated context without a try-block.
-/** Even though exceptions thrown from the nested pipeline are not handled
- by the caller in this test, they will not affect sibling nested algorithms
- already running because of the isolated contexts. However because the first
- exception cancels the root parallel_do only the first g_NumThreads subranges
- will be processed (which launch nested pipelines) **/
-void Test3_pipeline ( FilterSet mode ) {
- ResetGlobals();
- intptr_t nestedCalls = 100,
- minExecuted = (g_NumThreads - 1) * nestedCalls;
- CustomPipeline<InputFilter, NestingFilterWithIsolatedCtx> testPipeline(mode);
- TRY();
- testPipeline.run();
- CATCH_AND_ASSERT();
- ASSERT (exceptionCaught, "No exception thrown from the nesting parallel_for");
- if ( g_SolitaryException ) {
- ASSERT (g_CurExecuted > minExecuted, "Too few tasks survived exception");
- ASSERT (g_CurExecuted <= minExecuted + (g_ExecutedAtCatch + g_NumThreads), "Too many tasks survived exception");
- }
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-} // void Test3_pipeline ()
-
-class NestingFilterWithEhBody : public tbb::filter {
-public:
- NestingFilterWithEhBody(tbb::filter::mode m ) : filter(m) {}
-
- void* operator()(void* item) {
- tbb::task_group_context ctx(tbb::task_group_context::isolated);
- SimplePipeline testPipeline(serial__parallel);
- TRY();
- testPipeline.run(ctx);
- CATCH();
- return item;
- }
-}; // class NestingFilterWithEhBody
-
-//! Uses pipeline body invoking a nested pipeline (with default bound context) inside a try-block.
-/** Since exception(s) thrown from the nested pipeline are handled by the caller
- in this test, they do not affect neither other tasks of the the root pipeline
- nor sibling nested algorithms. **/
-
-void Test4_pipeline ( FilterSet mode ) {
-#if __GNUC__ && !__INTEL_COMPILER
- if ( strncmp(__VERSION__, "4.1.0", 5) == 0 ) {
- REMARK_ONCE("Warning: One of exception handling tests is skipped due to a known issue.\n");
- return;
- }
-#endif
- ResetGlobals( true, true );
- intptr_t nestedCalls = NUM_ITEMS + 1,
- nestingCalls = 2 * (NUM_ITEMS + 1),
- maxExecuted = nestingCalls * nestedCalls;
- CustomPipeline<InputFilter, NestingFilterWithEhBody> testPipeline(mode);
- TRY();
- testPipeline.run();
- CATCH_AND_ASSERT();
- ASSERT (!exceptionCaught, "All exceptions must have been handled in the parallel_do body");
- intptr_t minExecuted = 0;
- if ( g_SolitaryException ) {
- minExecuted = maxExecuted - nestedCalls;
- ASSERT (g_Exceptions == 1, "No exception registered");
- ASSERT (g_CurExecuted <= minExecuted + g_NumThreads, "Too many tasks survived exception");
- }
- else {
- minExecuted = g_Exceptions;
- ASSERT (g_Exceptions > 1 && g_Exceptions <= nestingCalls, "Unexpected actual number of exceptions");
- ASSERT (g_CurExecuted >= minExecuted, "Too many executed tasks reported");
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived multiple exceptions");
- ASSERT (g_CurExecuted <= nestingCalls * (1 + g_NumThreads), "Too many tasks survived exception");
- }
-} // void Test4_pipeline ()
-
-class FilterToCancel : public tbb::filter {
-public:
- FilterToCancel(bool is_parallel)
- : filter( is_parallel ? tbb::filter::parallel : tbb::filter::serial_in_order )
- {}
- void* operator()(void* item) {
- ++g_CurExecuted;
- CancellatorTask::WaitUntilReady();
- return item;
- }
-}; // class FilterToCancel
-
-template <class Filter_to_cancel>
-class PipelineLauncherTask : public tbb::task {
- tbb::task_group_context &my_ctx;
-public:
- PipelineLauncherTask ( tbb::task_group_context& ctx ) : my_ctx(ctx) {}
-
- tbb::task* execute () {
- // Run test when serial filter is the first non-input filter
- InputFilter inputFilter;
- Filter_to_cancel filterToCancel(true);
- tbb::pipeline p;
- p.add_filter(inputFilter);
- p.add_filter(filterToCancel);
- p.run(g_NumTokens, my_ctx);
- return NULL;
- }
-};
-
-//! Test for cancelling an algorithm from outside (from a task running in parallel with the algorithm).
-void Test5_pipeline () {
- ResetGlobals();
- g_ThrowException = false;
- intptr_t threshold = 10;
- tbb::task_group_context ctx;
- ctx.reset();
- tbb::empty_task &r = *new( tbb::task::allocate_root() ) tbb::empty_task;
- r.set_ref_count(3);
- r.spawn( *new( r.allocate_child() ) CancellatorTask(ctx, threshold) );
- __TBB_Yield();
- r.spawn( *new( r.allocate_child() ) PipelineLauncherTask<FilterToCancel>(ctx) );
- TRY();
- r.wait_for_all();
- CATCH();
- r.destroy(r);
- ASSERT (!exceptionCaught, "Cancelling tasks should not cause any exceptions");
- ASSERT (g_CurExecuted < g_ExecutedAtCatch + g_NumThreads, "Too many tasks were executed after cancellation");
-} // void Test5_pipeline ()
-
-class FilterToCancel2 : public tbb::filter {
-public:
- FilterToCancel2(bool is_parallel)
- : filter ( is_parallel ? tbb::filter::parallel : tbb::filter::serial_in_order)
- {}
-
- void* operator()(void* item) {
- ++g_CurExecuted;
- // The test will hang (and be timed out by the tesst system) if is_cancelled() is broken
- while( !tbb::task::self().is_cancelled() )
- __TBB_Yield();
- return item;
- }
-};
-
-//! Test for cancelling an algorithm from outside (from a task running in parallel with the algorithm).
-/** This version also tests task::is_cancelled() method. **/
-void Test6_pipeline () {
- ResetGlobals();
- RunCancellationTest<PipelineLauncherTask<FilterToCancel2>, CancellatorTask2>();
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch, "Some tasks were executed after cancellation");
-} // void Test6_pipeline ()
-
-//! Testing filter::finalize method
-#define BUFFER_SIZE 32
-#define NUM_BUFFERS 1024
-
-tbb::atomic<size_t> g_AllocatedCount; // Number of currently allocated buffers
-tbb::atomic<size_t> g_TotalCount; // Total number of allocated buffers
-
-//! Base class for all filters involved in finalize method testing
-class FinalizationBaseFilter : public tbb::filter {
-public:
- FinalizationBaseFilter ( tbb::filter::mode m ) : filter(m) {}
-
- // Deletes buffers if exception occured
- virtual void finalize( void* item ) {
- size_t* m_Item = (size_t*)item;
- delete[] m_Item;
- --g_AllocatedCount;
- }
-};
-
-//! Input filter to test finalize method
-class InputFilterWithFinalization: public FinalizationBaseFilter {
-public:
- InputFilterWithFinalization() : FinalizationBaseFilter(tbb::filter::serial) {
- g_TotalCount = 0;
- }
- void* operator()( void* ){
- if (g_TotalCount == NUM_BUFFERS)
- return NULL;
- size_t* item = new size_t[BUFFER_SIZE];
- for (int i = 0; i < BUFFER_SIZE; i++)
- item[i] = 1;
- ++g_TotalCount;
- ++g_AllocatedCount;
- return item;
- }
-};
-
-// The filter multiplies each buffer item by 10.
-class ProcessingFilterWithFinalization : public FinalizationBaseFilter {
-public:
- ProcessingFilterWithFinalization (tbb::filter::mode _mode) : FinalizationBaseFilter (_mode) {}
-
- void* operator()( void* item) {
- if (g_TotalCount > NUM_BUFFERS / 2)
- ThrowTestException(1);
- size_t* m_Item = (size_t*)item;
- for (int i = 0; i < BUFFER_SIZE; i++)
- m_Item[i] *= 10;
- return item;
- }
-};
-
-// Output filter deletes previously allocated buffer
-class OutputFilterWithFinalization : public FinalizationBaseFilter {
-public:
- OutputFilterWithFinalization (tbb::filter::mode m) : FinalizationBaseFilter (m) {}
-
- void* operator()( void* item){
- size_t* m_Item = (size_t*)item;
- delete[] m_Item;
- --g_AllocatedCount;
- return NULL;
- }
-};
-
-//! Tests filter::finalize method
-void Test8_pipeline (FilterSet mode) {
- ResetGlobals();
- g_AllocatedCount = 0;
- CustomPipeline<InputFilterWithFinalization, ProcessingFilterWithFinalization> testPipeline(mode);
- OutputFilterWithFinalization my_output_filter(tbb::filter::parallel);
-
- testPipeline.add_filter(my_output_filter);
- TRY();
- testPipeline.run();
- CATCH();
- ASSERT (g_AllocatedCount == 0, "Memory leak: Some my_object weren't destroyed");
-} // void Test8_pipeline ()
-
-// Tests pipeline function passed with different combination of filters
-template<void testFunc(FilterSet)>
-void TestWithDifferentFilters() {
- testFunc(parallel__parallel);
- testFunc(parallel__serial);
- testFunc(parallel__serial_out_of_order);
- testFunc(serial__parallel);
- testFunc(serial__serial);
- testFunc(serial__serial_out_of_order);
- testFunc(serial_out_of_order__parallel);
- testFunc(serial_out_of_order__serial);
- testFunc(serial_out_of_order__serial_out_of_order);
-}
-
-void RunPipelineTests() {
- REMARK( "pipeline tests" );
- tbb::task_scheduler_init init (g_NumThreads);
- g_Master = Harness::CurrentTid();
- g_NumTokens = 2 * g_NumThreads;
-
- Test0_pipeline();
-#if !__TBB_EXCEPTION_HANDLING_BROKEN
- TestWithDifferentFilters<Test1_pipeline>();
- TestWithDifferentFilters<Test2_pipeline>();
- TestWithDifferentFilters<Test3_pipeline>();
- TestWithDifferentFilters<Test4_pipeline>();
-#endif /* !__TBB_EXCEPTION_HANDLING_BROKEN */
- Test5_pipeline();
- Test6_pipeline();
-#if !__TBB_EXCEPTION_HANDLING_BROKEN
- TestWithDifferentFilters<Test8_pipeline>();
-#endif
-}
-#endif /* __TBB_EXCEPTIONS */
-
-////////////////////////////////////////////////////////////////////////////////
-// Tests for tbb::parallel_scan
-
-const int id = 0;
-const int PSCAN_SIZE_OF_BUFFER = 100;
-
-class PScanBodyNothrow : public tbb::internal::no_assign {
- size_t sum;
- const size_t* const x;
- size_t* const y;
-public:
- PScanBodyNothrow( size_t y_[], const size_t x_[] ) : sum(id), x(x_), y(y_) {}
- size_t get_sum() const {return sum;}
- template<typename Tag>
- void operator()( const tbb::blocked_range<int>& r, Tag ) {
- size_t temp = sum;
- for( int i=r.begin(); i<r.end(); ++i ) {
- temp = temp + x[i];
- if( Tag::is_final_scan() )
- y[i] = temp;
- }
- sum = temp;
- }
- PScanBodyNothrow( PScanBodyNothrow& b, tbb::split ) : sum(id), x(b.x), y(b.y) {}
- void reverse_join( PScanBodyNothrow& a ) { sum = a.sum + sum;}
- void assign( PScanBodyNothrow& b ) {sum = b.sum;}
-};
-
-// Test parallel_scan without exceptions throwing
-void Test0_parallel_scan () {
- ResetGlobals();
-
- // TODO move to a function or macro
- size_t x[100], y[100], y_ref[100], sum = 0;
- for (size_t i = 0; i < 100; i ++)
- {
- x[i] = i;
- y[i] = 0;
- sum += x[i];
- y_ref[i] = sum;
- }
-
- PScanBodyNothrow body(y,x);
- tbb::parallel_scan( tbb::blocked_range<int>(0, 100, 1), body );
- for (size_t i = 0; i < 100; i ++)
- {
- ASSERT(y[i] == y_ref[i], "Sum got from parallel_scan is different from serial one");
- }
- ASSERT(body.get_sum() == y_ref[99], "Sum got from parallel_scan is different from serial one");
-
-} // void Test0_parallel_scan ()
-
-// Simple parallel_scan body which throws an exception
-class SimplePscanBody {
-public:
- SimplePscanBody( ) {}
- template<typename Tag>
- void operator()( const tbb::blocked_range<int>& , Tag ) {
- ++g_CurExecuted;
- Harness::ConcurrencyTracker ct;
- WaitUntilConcurrencyPeaks();
- ThrowTestException(1);
- }
- SimplePscanBody( SimplePscanBody&, tbb::split ) {}
- void reverse_join( SimplePscanBody& ) {}
- void assign( SimplePscanBody& ) {}
-};
-
-// Tests tbb::parallel_scan exceptions handling without nesting
-void Test1_parallel_scan()
-{
- ResetGlobals();
-
- TRY();
- SimplePscanBody simple_body;
- tbb::parallel_scan( tbb::blocked_range<int>(0, 100, 1), simple_body );
- CATCH_AND_ASSERT();
-
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-} // void Test1_parallel_scan()
-
-class NestingPScanBody {
-public:
- NestingPScanBody( ) {}
- template<typename Tag>
- void operator()( const tbb::blocked_range<int>&, Tag ) {
- ++g_CurExecuted;
- if ( Harness::CurrentTid() == g_Master )
- __TBB_Yield();
-
- SimplePscanBody simple_body;
- tbb::parallel_scan( tbb::blocked_range<int>(0, 100, 1), simple_body );
- }
- NestingPScanBody( NestingPScanBody& , tbb::split ) {}
- void reverse_join( NestingPScanBody& ) {}
- void assign( NestingPScanBody& ) {}
-};
-
-//! Uses parallel_scan body containing a nested parallel_scan with the default context not wrapped by a try-block.
-/** Nested algorithms are spawned inside the new bound context by default. Since
- exceptions thrown from the nested parallel_scan are not handled by the caller
- (nesting parallel_scan body) in this test, they will cancel all the sibling nested
- algorithms. **/
-void Test2_parallel_scan () {
- ResetGlobals();
-
- TRY();
- NestingPScanBody nesting_body;
- tbb::parallel_scan( tbb::blocked_range<int>(0, 100, 1), nesting_body );
- CATCH_AND_ASSERT();
-
- ASSERT (g_ExceptionThrown, "No exception thrown from the nesting parallel_scan");
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
- ASSERT (g_Exceptions == 1, "No try_blocks in any body expected in this test");
- if ( !g_SolitaryException )
- ASSERT (g_CurExecuted <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks survived exception");
-} // void Test2_parallel_scan ()
-
-class PScanBodyToCancel {
-public:
- PScanBodyToCancel( ) {}
- template<typename Tag>
- void operator()( const tbb::blocked_range<int>&, Tag ) {
- ++g_CurExecuted;
- CancellatorTask::WaitUntilReady();
- }
- PScanBodyToCancel( PScanBodyToCancel& , tbb::split ) {}
- void reverse_join( PScanBodyToCancel& ) {}
- void assign( PScanBodyToCancel& ) {}
-};
-
-typedef class EmptyClass {
-} Default_partitioner;
-
-template <typename Partitioner>
-class MyWorkerPScanTask : public tbb::task
-{
- tbb::task_group_context &my_ctx;
-
- tbb::task* execute () {
- PScanBodyToCancel body_to_cancel;
- tbb::parallel_scan( tbb::blocked_range<int>(0, 100, 1), body_to_cancel, Partitioner(), my_ctx );
- return NULL;
- }
-public:
- MyWorkerPScanTask ( tbb::task_group_context& ctx ) : my_ctx(ctx) {}
-};
-
-template <>
-class MyWorkerPScanTask<Default_partitioner> : public tbb::task
-{
- tbb::task_group_context &my_ctx;
-
- tbb::task* execute () {
- PScanBodyToCancel body_to_cancel;
- tbb::parallel_scan( tbb::blocked_range<int>(0, 100, 1), body_to_cancel, my_ctx );
- return NULL;
- }
-public:
- MyWorkerPScanTask ( tbb::task_group_context& ctx ) : my_ctx(ctx) {}
-};
-
-
-//! Test for cancelling an algorithm from outside (from a task running in parallel with the algorithm).
-template <typename Partitioner>
-void Test5_parallel_scan () {
- ResetGlobals( false );
- RunCancellationTest<MyWorkerPScanTask<Partitioner>, CancellatorTask>( 1 );
- ASSERT (g_CurExecuted < g_ExecutedAtCatch + g_NumThreads, "Too many tasks were executed after cancellation");
-} // void Test5_parallel_scan ()
-
-
-void RunPScanTests()
-{
- tbb::task_scheduler_init init (g_NumThreads);
- g_Master = Harness::CurrentTid();
-
- Test0_parallel_scan();
-#if !(__GLIBC__==2&&__GLIBC_MINOR__==3)
- Test1_parallel_scan();
- Test2_parallel_scan();
-#endif /* __GLIBC__ */
- if (g_NumThreads > 2) {
- Test5_parallel_scan<tbb::simple_partitioner>();
- Test5_parallel_scan<tbb::auto_partitioner>();
- Test5_parallel_scan<Default_partitioner>(); // default partitioner
- }
-}
-
-/** If min and max thread numbers specified on the command line are different,
- the test is run only for 2 sizes of the thread pool (MinThread and MaxThread)
- to be able to test the high and low contention modes while keeping the test reasonably fast **/
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- ParseCommandLine( argc, argv );
- MinThread = max(2, MinThread);
- MaxThread = max(MinThread, MaxThread);
- ASSERT (FLAT_RANGE >= FLAT_GRAIN * MaxThread, "Fix defines");
-#if __TBB_EXCEPTIONS
- int step = max(MaxThread - MinThread, 1);
- for ( g_NumThreads = MinThread; g_NumThreads <= MaxThread; g_NumThreads += step ) {
- REMARK ("Number of threads %d", g_NumThreads);
- // Execute in all the possible modes
- for ( size_t j = 0; j < 4; ++j ) {
- g_ExceptionInMaster = (j & 1) == 1;
- g_SolitaryException = (j & 2) == 1;
- RunParForAndReduceTests();
- RunParDoTests();
- RunPipelineTests();
- RunPScanTests();
- }
- }
-#if __TBB_EXCEPTION_HANDLING_BROKEN
- REPORT("Warning: Exception handling tests are skipped due to a known issue.\n");
-#endif
- REPORT("done\n");
-#else /* !__TBB_EXCEPTION_HANDLING_BROKEN */
- REPORT("skipped\n");
-#endif /* !__TBB_EXCEPTIONS */
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// to avoid usage of #pragma comment
-#define __TBB_NO_IMPLICIT_LINKAGE 1
-
-#define COUNT_TASK_NODES 1
-#define __TBB_TASK_CPP_DIRECTLY_INCLUDED 1
-#include "../tbb/task.cpp"
-
-#if __TBB_EXCEPTIONS && !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
-
-#include "tbb/task_scheduler_init.h"
-#include "tbb/spin_mutex.h"
-#include "tbb/tick_count.h"
-#include <string>
-
-#define NUM_CHILD_TASKS 256
-#define NUM_ROOT_TASKS 32
-#define NUM_ROOTS_IN_GROUP 8
-
-//! Statistics about number of tasks in different states
-class TaskStats {
- typedef tbb::spin_mutex::scoped_lock lock_t;
- //! Number of tasks allocated that was ever allocated
- volatile intptr_t m_Existed;
- //! Number of tasks executed to the moment
- volatile intptr_t m_Executed;
- //! Number of tasks allocated but not yet destroyed to the moment
- volatile intptr_t m_Existing;
-
- mutable tbb::spin_mutex m_Mutex;
-public:
- //! Assumes that assignment is noncontended for the left-hand operand
- const TaskStats& operator= ( const TaskStats& rhs ) {
- if ( this != &rhs ) {
- lock_t lock(rhs.m_Mutex);
- m_Existed = rhs.m_Existed;
- m_Executed = rhs.m_Executed;
- m_Existing = rhs.m_Existing;
- }
- return *this;
- }
- intptr_t Existed() const { return m_Existed; }
- intptr_t Executed() const { return m_Executed; }
- intptr_t Existing() const { return m_Existing; }
- void IncExisted() { lock_t lock(m_Mutex); ++m_Existed; ++m_Existing; }
- void IncExecuted() { lock_t lock(m_Mutex); ++m_Executed; }
- void DecExisting() { lock_t lock(m_Mutex); --m_Existing; }
- //! Assumed to be used in uncontended manner only
- void Reset() { m_Executed = m_Existing = m_Existed = 0; }
-};
-
-TaskStats g_CurStat;
-
-inline intptr_t Existed () { return g_CurStat.Existed(); }
-
-#include "harness_eh.h"
-
-bool g_BoostExecutedCount = true;
-volatile bool g_TaskWasCancelled = false;
-
-inline void ResetGlobals () {
- ResetEhGlobals();
- g_BoostExecutedCount = true;
- g_TaskWasCancelled = false;
- g_CurStat.Reset();
-}
-
-inline void WaitForException () {
- while ( !g_ExceptionCaught )
- __TBB_Yield();
-}
-
-#define ASSERT_TEST_POSTCOND() \
- ASSERT (g_CurStat.Existed() >= g_CurStat.Executed(), "Total number of tasks is less than executed"); \
- ASSERT (!g_CurStat.Existing(), "Not all task objects have been destroyed"); \
- ASSERT (!tbb::task::self().is_cancelled(), "Scheduler's default context has not been cleaned up properly");
-
-
-class SimpleThrowingTask : public tbb::task {
-public:
- tbb::task* execute () { throw 0; }
-
- ~SimpleThrowingTask() {
-#if !__TBB_RELAXED_OWNERSHIP
- ASSERT( tbb::task::self().is_owned_by_current_thread(), NULL );
-#endif /* !__TBB_RELAXED_OWNERSHIP */
- }
-};
-
-//! Checks if innermost running task information is updated correctly during cancellation processing
-void Test0 () {
- tbb::task_scheduler_init init (1);
- tbb::empty_task &r = *new( tbb::task::allocate_root() ) tbb::empty_task;
- tbb::task_list tl;
- tl.push_back( *new( r.allocate_child() ) SimpleThrowingTask );
- tl.push_back( *new( r.allocate_child() ) SimpleThrowingTask );
- r.set_ref_count( 3 );
- try {
- r.spawn_and_wait_for_all( tl );
- }
- catch (...) {}
- r.destroy( r );
-}
-
-class TaskBase : public tbb::task {
- tbb::task* execute () {
- tbb::task* t = NULL;
- try {
- t = do_execute();
- } catch ( ... ) {
- g_CurStat.IncExecuted();
- throw;
- }
- g_CurStat.IncExecuted();
- return t;
- }
-protected:
- TaskBase ( bool throwException = true ) : m_Throw(throwException) { g_CurStat.IncExisted(); }
- ~TaskBase () { g_CurStat.DecExisting(); }
-
- virtual tbb::task* do_execute () = 0;
-
- bool m_Throw;
-}; // class TaskBase
-
-class LeafTask : public TaskBase
-{
- tbb::task* do_execute () {
- Harness::ConcurrencyTracker ct;
- WaitUntilConcurrencyPeaks();
- if ( g_BoostExecutedCount )
- ++g_CurExecuted;
- if ( m_Throw )
- ThrowTestException(NUM_CHILD_TASKS/2);
- if ( !g_ThrowException )
- __TBB_Yield();
- return NULL;
- }
-public:
- LeafTask ( bool throw_exception = true ) : TaskBase(throw_exception) {}
-};
-
-class SimpleRootTask : public TaskBase {
- tbb::task* do_execute () {
- set_ref_count(NUM_CHILD_TASKS + 1);
- for ( size_t i = 0; i < NUM_CHILD_TASKS; ++i )
- spawn( *new( allocate_child() ) LeafTask(m_Throw) );
- wait_for_all();
- return NULL;
- }
-public:
- SimpleRootTask ( bool throw_exception = true ) : TaskBase(throw_exception) {}
-};
-
-//! Default exception behavior test.
-/** Allocates a root task that spawns a bunch of children, one or several of which throw
- a test exception in a worker or master thread (depending on the global setting). **/
-void Test1 () {
- ResetGlobals();
- tbb::empty_task &r = *new( tbb::task::allocate_root() ) tbb::empty_task;
- ASSERT (!g_CurStat.Existing() && !g_CurStat.Existed() && !g_CurStat.Executed(),
- "something wrong with the task accounting");
- r.set_ref_count(NUM_CHILD_TASKS + 1);
- for ( int i = 0; i < NUM_CHILD_TASKS; ++i )
- r.spawn( *new( r.allocate_child() ) LeafTask );
- TRY();
- r.wait_for_all();
- CATCH_AND_ASSERT();
- r.destroy(r);
- ASSERT_TEST_POSTCOND();
-} // void Test1 ()
-
-//! Default exception behavior test.
-/** Allocates and spawns root task that runs a bunch of children, one of which throws
- a test exception in a worker thread. (Similar to Test1, except that the root task
- is spawned by the test function, and children are created by the root task instead
- of the test function body.) **/
-void Test2 () {
- ResetGlobals();
- SimpleRootTask &r = *new( tbb::task::allocate_root() ) SimpleRootTask;
- ASSERT (g_CurStat.Existing() == 1 && g_CurStat.Existed() == 1 && !g_CurStat.Executed(),
- "something wrong with the task accounting");
- TRY();
- tbb::task::spawn_root_and_wait(r);
- CATCH_AND_ASSERT();
- ASSERT (g_ExceptionCaught, "no exception occurred");
- ASSERT_TEST_POSTCOND();
-} // void Test2 ()
-
-//! The same as Test2() except the root task has explicit context.
-/** The context is initialized as bound in order to check correctness of its associating
- with a root task. **/
-void Test3 () {
- ResetGlobals();
- tbb::task_group_context ctx(tbb::task_group_context::bound);
- SimpleRootTask &r = *new( tbb::task::allocate_root(ctx) ) SimpleRootTask;
- ASSERT (g_CurStat.Existing() == 1 && g_CurStat.Existed() == 1 && !g_CurStat.Executed(),
- "something wrong with the task accounting");
- TRY();
- tbb::task::spawn_root_and_wait(r);
- CATCH_AND_ASSERT();
- ASSERT (g_ExceptionCaught, "no exception occurred");
- ASSERT_TEST_POSTCOND();
-} // void Test2 ()
-
-class RootLauncherTask : public TaskBase {
- tbb::task_group_context::kind_type m_CtxKind;
-
- tbb::task* do_execute () {
- tbb::task_group_context ctx (tbb::task_group_context::isolated);
- SimpleRootTask &r = *new( allocate_root(ctx) ) SimpleRootTask;
- TRY();
- spawn_root_and_wait(r);
- // Give a child of our siblings a chance to throw the test exception
- WaitForException();
- CATCH();
- ASSERT (!g_UnknownException, "unknown exception was caught");
- return NULL;
- }
-public:
- RootLauncherTask ( tbb::task_group_context::kind_type ctx_kind = tbb::task_group_context::isolated ) : m_CtxKind(ctx_kind) {}
-};
-
-/** Allocates and spawns a bunch of roots, which allocate and spawn new root with
- isolated context, which at last spawns a bunch of children each, one of which
- throws a test exception in a worker thread. **/
-void Test4 () {
- ResetGlobals();
- tbb::task_list tl;
- for ( size_t i = 0; i < NUM_ROOT_TASKS; ++i )
- tl.push_back( *new( tbb::task::allocate_root() ) RootLauncherTask );
- TRY();
- tbb::task::spawn_root_and_wait(tl);
- CATCH_AND_ASSERT();
- ASSERT (!exceptionCaught, "exception in this scope is unexpected");
- intptr_t num_tasks_expected = NUM_ROOT_TASKS * (NUM_CHILD_TASKS + 2);
- ASSERT (g_CurStat.Existed() == num_tasks_expected, "Wrong total number of tasks");
- if ( g_SolitaryException )
- ASSERT (g_CurStat.Executed() >= num_tasks_expected - NUM_CHILD_TASKS, "Unexpected number of executed tasks");
- ASSERT_TEST_POSTCOND();
-} // void Test4 ()
-
-class RootsGroupLauncherTask : public TaskBase {
- tbb::task* do_execute () {
- tbb::task_group_context ctx (tbb::task_group_context::isolated);
- tbb::task_list tl;
- for ( size_t i = 0; i < NUM_ROOT_TASKS; ++i )
- tl.push_back( *new( allocate_root(ctx) ) SimpleRootTask );
- TRY();
- spawn_root_and_wait(tl);
- // Give worker a chance to throw exception
- WaitForException();
- CATCH_AND_ASSERT();
- return NULL;
- }
-};
-
-/** Allocates and spawns a bunch of roots, which allocate and spawn groups of roots
- with an isolated context shared by all group members, which at last spawn a bunch
- of children each, one of which throws a test exception in a worker thread. **/
-void Test5 () {
- ResetGlobals();
- tbb::task_list tl;
- for ( size_t i = 0; i < NUM_ROOTS_IN_GROUP; ++i )
- tl.push_back( *new( tbb::task::allocate_root() ) RootsGroupLauncherTask );
- TRY();
- tbb::task::spawn_root_and_wait(tl);
- CATCH_AND_ASSERT();
- ASSERT (!exceptionCaught, "unexpected exception intercepted");
- if ( g_SolitaryException ) {
- intptr_t num_tasks_expected = NUM_ROOTS_IN_GROUP * (1 + NUM_ROOT_TASKS * (1 + NUM_CHILD_TASKS));
- intptr_t min_num_tasks_executed = num_tasks_expected - NUM_ROOT_TASKS * (NUM_CHILD_TASKS + 1);
- ASSERT (g_CurStat.Executed() >= min_num_tasks_executed, "Too few tasks executed");
- }
- ASSERT_TEST_POSTCOND();
-} // void Test5 ()
-
-class ThrowingRootLauncherTask : public TaskBase {
- tbb::task* do_execute () {
- tbb::task_group_context ctx (tbb::task_group_context::bound);
- SimpleRootTask &r = *new( allocate_root(ctx) ) SimpleRootTask(false);
- TRY();
- spawn_root_and_wait(r);
- CATCH();
- ASSERT (!exceptionCaught, "unexpected exception intercepted");
- ThrowTestException(NUM_CHILD_TASKS);
- g_TaskWasCancelled |= is_cancelled();
- return NULL;
- }
-};
-
-class BoundHierarchyLauncherTask : public TaskBase {
- bool m_Recover;
-
- void alloc_roots ( tbb::task_group_context& ctx, tbb::task_list& tl ) {
- for ( size_t i = 0; i < NUM_ROOT_TASKS; ++i )
- tl.push_back( *new( allocate_root(ctx) ) ThrowingRootLauncherTask );
- }
-
- tbb::task* do_execute () {
- tbb::task_group_context ctx (tbb::task_group_context::isolated);
- tbb::task_list tl;
- alloc_roots(ctx, tl);
- TRY();
- spawn_root_and_wait(tl);
- CATCH_AND_ASSERT();
- ASSERT (exceptionCaught, "no exception occurred");
- ASSERT (!tl.empty(), "task list was cleared somehow");
- if ( g_SolitaryException )
- ASSERT (g_TaskWasCancelled, "No tasks were cancelled despite of exception");
- if ( m_Recover ) {
- // Test task_group_context::unbind and task_group_context::reset methods
- g_ThrowException = false;
- exceptionCaught = false;
- tl.clear();
- alloc_roots(ctx, tl);
- ctx.reset();
- try {
- spawn_root_and_wait(tl);
- }
- catch (...) {
- exceptionCaught = true;
- }
- ASSERT (!exceptionCaught, "unexpected exception occurred");
- }
- return NULL;
- }
-public:
- BoundHierarchyLauncherTask ( bool recover = false ) : m_Recover(recover) {}
-
-}; // class BoundHierarchyLauncherTask
-
-//! Test for bound contexts forming 2 level tree. Exception is thrown on the 1st (root) level.
-/** Allocates and spawns a root that spawns a bunch of 2nd level roots sharing
- the same isolated context, each of which in their turn spawns a single 3rd level
- root with the bound context, and these 3rd level roots spawn bunches of leaves
- in the end. Leaves do not generate exceptions. The test exception is generated
- by one of the 2nd level roots. **/
-void Test6 () {
- ResetGlobals();
- BoundHierarchyLauncherTask &r = *new( tbb::task::allocate_root() ) BoundHierarchyLauncherTask;
- TRY();
- tbb::task::spawn_root_and_wait(r);
- CATCH_AND_ASSERT();
- ASSERT (!exceptionCaught, "unexpected exception intercepted");
- // After the first of the branches (ThrowingRootLauncherTask) completes,
- // the rest of the task tree may be collapsed before having a chance to execute leaves.
- // A number of branches running concurrently with the first one will be able to spawn leaves though.
- /// \todo: If additional checkpoints are added to scheduler the following assertion must weaken
- intptr_t num_tasks_expected = 1 + NUM_ROOT_TASKS * (2 + NUM_CHILD_TASKS);
- intptr_t min_num_tasks_created = 1 + g_NumThreads * 2 + NUM_CHILD_TASKS;
- // 2 stands for BoundHierarchyLauncherTask and SimpleRootTask
- // 1 corresponds to BoundHierarchyLauncherTask
- intptr_t min_num_tasks_executed = 2 + 1 + NUM_CHILD_TASKS;
- ASSERT (g_CurStat.Existed() <= num_tasks_expected, "Number of expected tasks is calculated incorrectly");
- ASSERT (g_CurStat.Existed() >= min_num_tasks_created, "Too few tasks created");
- ASSERT (g_CurStat.Executed() >= min_num_tasks_executed, "Too few tasks executed");
- ASSERT_TEST_POSTCOND();
-} // void Test6 ()
-
-//! Tests task_group_context::unbind and task_group_context::reset methods.
-/** Allocates and spawns a root that spawns a bunch of 2nd level roots sharing
- the same isolated context, each of which in their turn spawns a single 3rd level
- root with the bound context, and these 3rd level roots spawn bunches of leaves
- in the end. Leaves do not generate exceptions. The test exception is generated
- by one of the 2nd level roots. **/
-void Test7 () {
- ResetGlobals();
- BoundHierarchyLauncherTask &r = *new( tbb::task::allocate_root() ) BoundHierarchyLauncherTask;
- TRY();
- tbb::task::spawn_root_and_wait(r);
- CATCH_AND_ASSERT();
- ASSERT (!exceptionCaught, "unexpected exception intercepted");
- ASSERT_TEST_POSTCOND();
-} // void Test6 ()
-
-class BoundHierarchyLauncherTask2 : public TaskBase {
- tbb::task* do_execute () {
- tbb::task_group_context ctx;
- tbb::task_list tl;
- for ( size_t i = 0; i < NUM_ROOT_TASKS; ++i )
- tl.push_back( *new( allocate_root(ctx) ) RootLauncherTask(tbb::task_group_context::bound) );
- TRY();
- spawn_root_and_wait(tl);
- CATCH_AND_ASSERT();
- // Exception must be intercepted by RootLauncherTask
- ASSERT (!exceptionCaught, "no exception occurred");
- return NULL;
- }
-}; // class BoundHierarchyLauncherTask2
-
-//! Test for bound contexts forming 2 level tree. Exception is thrown in the 2nd (outer) level.
-/** Allocates and spawns a root that spawns a bunch of 2nd level roots sharing
- the same isolated context, each of which in their turn spawns a single 3rd level
- root with the bound context, and these 3rd level roots spawn bunches of leaves
- in the end. The test exception is generated by one of the leaves. **/
-void Test8 () {
- ResetGlobals();
- BoundHierarchyLauncherTask2 &r = *new( tbb::task::allocate_root() ) BoundHierarchyLauncherTask2;
- TRY();
- tbb::task::spawn_root_and_wait(r);
- CATCH_AND_ASSERT();
- ASSERT (!exceptionCaught, "unexpected exception intercepted");
- if ( g_SolitaryException ) {
- intptr_t num_tasks_expected = 1 + NUM_ROOT_TASKS * (2 + NUM_CHILD_TASKS);
- intptr_t min_num_tasks_created = 1 + g_NumThreads * (2 + NUM_CHILD_TASKS);
- intptr_t min_num_tasks_executed = num_tasks_expected - (NUM_CHILD_TASKS + 1);
- ASSERT (g_CurStat.Existed() <= num_tasks_expected, "Number of expected tasks is calculated incorrectly");
- ASSERT (g_CurStat.Existed() >= min_num_tasks_created, "Too few tasks created");
- ASSERT (g_CurStat.Executed() >= min_num_tasks_executed, "Too few tasks executed");
- }
- ASSERT_TEST_POSTCOND();
-} // void Test8 ()
-
-template<class T>
-class CtxLauncherTask : public tbb::task {
- tbb::task_group_context &m_Ctx;
-
- tbb::task* execute () {
- tbb::task::spawn_root_and_wait( *new( tbb::task::allocate_root(m_Ctx) ) T );
- return NULL;
- }
-public:
- CtxLauncherTask ( tbb::task_group_context& ctx ) : m_Ctx(ctx) {}
-};
-
-//! Test for cancelling a task hierarchy from outside (from a task running in parallel with it).
-void Test9 () {
- ResetGlobals();
- g_ThrowException = false;
- tbb::task_group_context ctx;
- tbb::task_list tl;
- tl.push_back( *new( tbb::task::allocate_root() ) CtxLauncherTask<SimpleRootTask>(ctx) );
- tl.push_back( *new( tbb::task::allocate_root() ) CancellatorTask(ctx, NUM_CHILD_TASKS / 4) );
- TRY();
- tbb::task::spawn_root_and_wait(tl);
- CATCH();
- ASSERT (!exceptionCaught, "Cancelling tasks should not cause any exceptions");
- ASSERT (g_CurStat.Executed() <= g_ExecutedAtCatch + g_NumThreads, "Too many tasks were executed after cancellation");
- ASSERT_TEST_POSTCOND();
-} // void Test9 ()
-
-template<typename T>
-void ThrowMovableException ( intptr_t threshold, const T& data ) {
- if ( IsThrowingThread() )
- return;
- if ( !g_SolitaryException ) {
- g_ExceptionThrown = 1;
- REMARK ("About to throw one of multiple movable_exceptions... :");
- throw tbb::movable_exception<T>(data);
- }
- while ( g_CurStat.Existed() < threshold )
- __TBB_Yield();
- if ( __TBB_CompareAndSwapW(&g_ExceptionThrown, 1, 0) == 0 ) {
- REMARK ("About to throw solitary movable_exception... :");
- throw tbb::movable_exception<T>(data);
- }
-}
-
-const int g_IntExceptionData = -375;
-const std::string g_StringExceptionData = "My test string";
-
-// Exception data class implementing minimal requirements of tbb::movable_exception
-class ExceptionData {
- const ExceptionData& operator = ( const ExceptionData& src );
- explicit ExceptionData ( int n ) : m_Int(n), m_String(g_StringExceptionData) {}
-public:
- ExceptionData ( const ExceptionData& src ) : m_Int(src.m_Int), m_String(src.m_String) {}
- ~ExceptionData () {}
-
- int m_Int;
- std::string m_String;
-
- // Simple way to provide an instance when all initializing constructors are private
- // and to avoid memory reclamation problems.
- static ExceptionData s_data;
-};
-
-ExceptionData ExceptionData::s_data(g_IntExceptionData);
-
-typedef tbb::movable_exception<int> SolitaryMovableException;
-typedef tbb::movable_exception<ExceptionData> MultipleMovableException;
-
-class LeafTaskWithMovableExceptions : public TaskBase {
- bool m_IntAsData;
-
- tbb::task* do_execute () {
- Harness::ConcurrencyTracker ct;
- WaitUntilConcurrencyPeaks();
- if ( g_SolitaryException )
- ThrowMovableException<int>(NUM_CHILD_TASKS/2, g_IntExceptionData);
- else
- ThrowMovableException<ExceptionData>(NUM_CHILD_TASKS/2, ExceptionData::s_data);
- return NULL;
- }
-};
-
-void CheckException ( tbb::tbb_exception& e ) {
- ASSERT (strcmp(e.name(), (g_SolitaryException ? typeid(SolitaryMovableException)
- : typeid(MultipleMovableException)).name() ) == 0,
- "Unexpected original exception name");
- ASSERT (strcmp(e.what(), "tbb::movable_exception") == 0, "Unexpected original exception info ");
- if ( g_SolitaryException ) {
- SolitaryMovableException& me = dynamic_cast<SolitaryMovableException&>(e);
- ASSERT (me.data() == g_IntExceptionData, "Unexpected solitary movable_exception data");
- }
- else {
- MultipleMovableException& me = dynamic_cast<MultipleMovableException&>(e);
- ASSERT (me.data().m_Int == g_IntExceptionData, "Unexpected multiple movable_exception int data");
- ASSERT (me.data().m_String == g_StringExceptionData, "Unexpected multiple movable_exception string data");
- }
-}
-
-void CheckException () {
- try {
- throw;
- } catch ( tbb::tbb_exception& e ) {
- CheckException(e);
- }
- catch ( ... ) {
- }
-}
-
-//! Test for movable_exception behavior, and external exception recording.
-/** Allocates a root task that spawns a bunch of children, one or several of which throw
- a movable exception in a worker or master thread (depending on the global settings).
- The test also checks the correctness of multiple rethrowing of the pending exception. **/
-void Test10 () {
- ResetGlobals();
- tbb::task_group_context ctx;
- tbb::empty_task *r = new( tbb::task::allocate_root() ) tbb::empty_task;
- ASSERT (!g_CurStat.Existing() && !g_CurStat.Existed() && !g_CurStat.Executed(),
- "something wrong with the task accounting");
- r->set_ref_count(NUM_CHILD_TASKS + 1);
- for ( int i = 0; i < NUM_CHILD_TASKS; ++i )
- r->spawn( *new( r->allocate_child() ) LeafTaskWithMovableExceptions );
- TRY()
- r->wait_for_all();
- } catch ( ... ) {
- ASSERT (!ctx.is_group_execution_cancelled(), "");
- CheckException();
- try {
- throw;
- } catch ( tbb::tbb_exception& e ) {
- CheckException(e);
- g_ExceptionCaught = exceptionCaught = true;
- }
- catch ( ... ) {
- g_ExceptionCaught = true;
- g_UnknownException = unknownException = true;
- }
- ctx.register_pending_exception();
- ASSERT (ctx.is_group_execution_cancelled(), "After exception registration the context must be in the cancelled state");
- }
- r->destroy(*r);
- ASSERT_EXCEPTION();
- ASSERT_TEST_POSTCOND();
-
- r = new( tbb::task::allocate_root(ctx) ) tbb::empty_task;
- r->set_ref_count(1);
- g_ExceptionCaught = g_UnknownException = false;
- try {
- r->wait_for_all();
- } catch ( tbb::tbb_exception& e ) {
- CheckException(e);
- g_ExceptionCaught = true;
- }
- catch ( ... ) {
- g_ExceptionCaught = true;
- g_UnknownException = true;
- }
- ASSERT (g_ExceptionCaught, "no exception occurred");
- ASSERT (!g_UnknownException, "unknown exception was caught");
- r->destroy(*r);
-} // void Test10 ()
-
-
-const int MaxNestingDepth = 256;
-
-class CtxDestroyerTask : public tbb::task {
- int m_nestingLevel;
-
- tbb::task* execute () {
- ASSERT ( m_nestingLevel >= 0 && m_nestingLevel < MaxNestingDepth, "Wrong nesting level. The test is broken" );
- tbb::task_group_context ctx;
- tbb::task *t = new( tbb::task::allocate_root(ctx) ) tbb::empty_task;
- int level = ++m_nestingLevel;
- if ( level < MaxNestingDepth ) {
- execute();
- }
- else {
- CancellatorTask::WaitUntilReady();
- ++g_CurExecuted;
- }
- if ( ctx.is_group_execution_cancelled() )
- ++s_numCancelled;
- t->destroy(*t);
- return NULL;
- }
-public:
- CtxDestroyerTask () : m_nestingLevel(0) { s_numCancelled = 0; }
-
- static int s_numCancelled;
-};
-
-int CtxDestroyerTask::s_numCancelled = 0;
-
-//! Test for data race between cancellation propagation and context destruction.
-/** If the data race ever occurs, an assertion inside TBB will be triggered. **/
-void TestCtxDestruction () {
- for ( size_t i = 0; i < 10; ++i ) {
- tbb::task_group_context ctx;
- tbb::task_list tl;
- ResetGlobals();
- g_BoostExecutedCount = false;
- g_ThrowException = false;
- CancellatorTask::Reset();
- // CtxLauncherTask just runs some work to cancel
- //tl.push_back( *new( tbb::task::allocate_root() ) CtxLauncherTask<SimpleRootTask>(ctx) );
- tl.push_back( *new( tbb::task::allocate_root() ) CtxLauncherTask<CtxDestroyerTask>(ctx) );
- tl.push_back( *new( tbb::task::allocate_root() ) CancellatorTask(ctx, 1) );
- tbb::task::spawn_root_and_wait(tl);
- ASSERT( g_CurExecuted == 1, "Test is broken" );
- ASSERT( CtxDestroyerTask::s_numCancelled <= MaxNestingDepth, "Test is broken" );
- }
-} // void TestCtxDestruction()
-
-void RunTests ()
-{
- REMARK ("Number of threads %d", g_NumThreads);
- tbb::task_scheduler_init init (g_NumThreads);
- g_Master = Harness::CurrentTid();
- Test1();
- Test2();
- Test3();
- Test4();
- Test5();
- Test6();
- Test7();
- Test8();
- Test9();
- Test10();
- TestCtxDestruction();
-}
-#endif /* __TBB_EXCEPTIONS */
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- ParseCommandLine( argc, argv );
- MinThread = min(NUM_ROOTS_IN_GROUP, max(2, MinThread));
- MaxThread = min(NUM_ROOTS_IN_GROUP, max(MinThread, MaxThread));
- ASSERT (NUM_ROOTS_IN_GROUP < NUM_ROOT_TASKS, "Fix defines");
-#if __TBB_EXCEPTIONS
- // Test0 always runs on one thread
- Test0();
- for ( g_NumThreads = MinThread; g_NumThreads <= MaxThread; ++g_NumThreads ) {
- for ( size_t j = 0; j < 2; ++j ) {
- g_SolitaryException = (j & 2) == 1;
- RunTests();
- }
- }
- REPORT("done\n");
-#else
- REPORT("skipped\n");
-#endif /* __TBB_EXCEPTIONS */
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/enumerable_thread_specific.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/parallel_for.h"
-#include "tbb/parallel_reduce.h"
-#include "tbb/blocked_range.h"
-#include "tbb/tick_count.h"
-#include "tbb/tbb_allocator.h"
-#include "tbb/tbb_thread.h"
-
-#include <cstring>
-#include <vector>
-#include <deque>
-#include <list>
-#include <map>
-#include <utility>
-
-#include "harness_assert.h"
-#include "harness.h"
-
-#if __TBB_GCC_WARNING_SUPPRESSION_ENABLED
-#pragma GCC diagnostic ignored "-Wuninitialized"
-#endif
-
-static tbb::atomic<int> construction_counter;
-static tbb::atomic<int> destruction_counter;
-
-const int REPETITIONS = 10;
-const int N = 100000;
-const int VALID_NUMBER_OF_KEYS = 100;
-const double EXPECTED_SUM = (REPETITIONS + 1) * N;
-
-//
-// A minimal class
-// Define: default and copy constructor, and allow implicit operator&
-// Hide: operator=
-//
-
-class minimal: NoAssign {
-private:
- int my_value;
-public:
- minimal(int val=0) : my_value(val) { ++construction_counter; }
- minimal( const minimal &m ) : my_value(m.my_value) { ++construction_counter; }
- ~minimal() { ++destruction_counter; }
- void set_value( const int i ) { my_value = i; }
- int value( ) const { return my_value; }
-};
-
-//
-// A helper class that simplifies writing the tests since minimal does not
-// define = or + operators.
-//
-
-template< typename T >
-struct test_helper {
- static inline void init(T &e) { e = static_cast<T>(0); }
- static inline void sum(T &e, const int addend ) { e += static_cast<T>(addend); }
- static inline void sum(T &e, const double addend ) { e += static_cast<T>(addend); }
- static inline void set(T &e, const int value ) { e = static_cast<T>(value); }
- static inline double get(const T &e ) { return static_cast<double>(e); }
-};
-
-template< >
-struct test_helper<minimal> {
- static inline void init(minimal &sum) { sum.set_value( 0 ); }
- static inline void sum(minimal &sum, const int addend ) { sum.set_value( sum.value() + addend); }
- static inline void sum(minimal &sum, const double addend ) { sum.set_value( sum.value() + static_cast<int>(addend)); }
- static inline void sum(minimal &sum, const minimal &addend ) { sum.set_value( sum.value() + addend.value()); }
- static inline void set(minimal &v, const int value ) { v.set_value( static_cast<int>(value) ); }
- static inline double get(const minimal &sum ) { return static_cast<double>(sum.value()); }
-};
-
-//// functors for initialization and combine
-
-// Addition
-template <typename T>
-struct FunctorAddFinit {
- T operator()() { return 0; }
-};
-
-template <>
-struct FunctorAddFinit<minimal> {
- minimal operator()() { return minimal(0); }
-};
-
-template <typename T>
-struct FunctorAddFinit7 {
- T operator()() { return 7; }
-};
-
-template <>
-struct FunctorAddFinit7<minimal> {
- minimal operator()() { return minimal(7); }
-};
-
-template <typename T>
-struct FunctorAddCombine {
- T operator()(T left, T right ) const {
- return left + right;
- }
-};
-
-template <>
-struct FunctorAddCombine<minimal> {
- minimal operator()(minimal left, minimal right ) {
- return minimal(left.value() + right.value());
- }
-};
-
-template <typename T>
-struct FunctorAddCombineRef {
- T operator()(const T& left, const T& right ) const {
- return left + right;
- }
-};
-
-template <>
-struct FunctorAddCombineRef<minimal> {
- minimal operator()(const minimal& left, const minimal& right ) const {
- return minimal(left.value() + right.value());
- }
-};
-
-template <typename T>
-T my_finit( ) { return 0; }
-
-template <typename T>
-T my_combine( T left, T right) { return left + right; }
-
-template <typename T>
-T my_combine_ref( const T &left, const T &right) { return left + right; }
-
-template <>
-minimal my_finit( ) { return minimal(0); }
-
-template <>
-minimal my_combine( minimal left, minimal right) { return minimal(left.value() + right.value()); }
-
-template <>
-minimal my_combine_ref( const minimal &left, const minimal &right) { return minimal(left.value() + right.value()); }
-
-template <typename T>
-class combine_one_helper {
-public:
- combine_one_helper(T& _result) : my_result(_result) {}
- void operator()(const T& new_bit) { test_helper<T>::sum(my_result, new_bit); }
- combine_one_helper& operator=(const combine_one_helper& other) {
- test_helper<T>::set(my_result, test_helper<T>::get(other));
- return *this;
- }
-private:
- T& my_result;
-};
-
-
-
-//// end functors
-
-template< typename T >
-void run_serial_scalar_tests(const char *test_name) {
- tbb::tick_count t0;
- T sum;
- test_helper<T>::init(sum);
-
- if (Verbose) REPORT("Testing serial %s... ", test_name);
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
- for (int i = 0; i < N; ++i) {
- test_helper<T>::sum(sum,1);
- }
- }
-
- double result_value = test_helper<T>::get(sum);
- ASSERT( EXPECTED_SUM == result_value, NULL);
- if (Verbose)
- REPORT("done\nserial %s, 0, %g, %g\n", test_name, result_value, ( tbb::tick_count::now() - t0).seconds());
-}
-
-
-template <typename T>
-class parallel_scalar_body: NoAssign {
-
- tbb::enumerable_thread_specific<T> &sums;
-
-public:
-
- parallel_scalar_body ( tbb::enumerable_thread_specific<T> &_sums ) : sums(_sums) { }
-
- void operator()( const tbb::blocked_range<int> &r ) const {
- for (int i = r.begin(); i != r.end(); ++i)
- test_helper<T>::sum( sums.local(), 1 );
- }
-
-};
-
-template< typename T >
-void run_parallel_scalar_tests(const char *test_name) {
-
- static tbb::enumerable_thread_specific<T> static_sums(static_cast<T>(0));
-
- tbb::task_scheduler_init init(tbb::task_scheduler_init::deferred);
- T exemplar;
- test_helper<T>::init(exemplar);
- T exemplar23;
- test_helper<T>::set(exemplar23,23);
-
- for (int p = MinThread; p <= MaxThread; ++p) {
-
-
- if (p == 0) continue;
-
- if (Verbose) REPORT("Testing parallel %s on %d thread(s)... ", test_name, p);
- init.initialize(p);
-
- tbb::tick_count t0;
-
- T iterator_sum;
- test_helper<T>::init(iterator_sum);
-
- T finit_ets_sum;
- test_helper<T>::init(finit_ets_sum);
-
- T const_iterator_sum;
- test_helper<T>::init(const_iterator_sum);
-
- T range_sum;
- test_helper<T>::init(range_sum);
-
- T const_range_sum;
- test_helper<T>::init(const_range_sum);
-
- T cconst_sum;
- test_helper<T>::init(cconst_sum);
-
- T assign_sum;
- test_helper<T>::init(assign_sum);
-
- T cassgn_sum;
- test_helper<T>::init(cassgn_sum);
- T non_cassgn_sum;
- test_helper<T>::init(non_cassgn_sum);
-
- T combine_sum;
- test_helper<T>::init(combine_sum);
-
- T combine_ref_sum;
- test_helper<T>::init(combine_ref_sum);
-
- T combine_one_sum;
- test_helper<T>::init(combine_one_sum);
-
- T static_sum;
- test_helper<T>::init(static_sum);
-
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
-
- static_sums.clear();
-
- tbb::enumerable_thread_specific<T> sums(exemplar);
- FunctorAddFinit<T> my_finit;
- tbb::enumerable_thread_specific<T> finit_ets(my_finit);
-
- ASSERT( sums.empty(), NULL);
- tbb::parallel_for( tbb::blocked_range<int>( 0, N, 10000 ), parallel_scalar_body<T>( sums ) );
- ASSERT( !sums.empty(), NULL);
-
- ASSERT( finit_ets.empty(), NULL);
- tbb::parallel_for( tbb::blocked_range<int>( 0, N, 10000 ), parallel_scalar_body<T>( finit_ets ) );
- ASSERT( !finit_ets.empty(), NULL);
-
- ASSERT(static_sums.empty(), NULL);
- tbb::parallel_for( tbb::blocked_range<int>( 0, N, 10000 ), parallel_scalar_body<T>( static_sums ) );
- ASSERT( !static_sums.empty(), NULL);
-
-
- // Use combine
- test_helper<T>::sum(combine_sum, sums.combine(my_combine<T>));
- test_helper<T>::sum(combine_ref_sum, sums.combine(my_combine_ref<T>));
- test_helper<T>::sum(static_sum, static_sums.combine(my_combine<T>));
-
- combine_one_helper<T> my_helper(combine_one_sum);
- sums.combine_each(my_helper);
-
- // use iterator
- typename tbb::enumerable_thread_specific<T>::size_type size = 0;
- for ( typename tbb::enumerable_thread_specific<T>::iterator i = sums.begin(); i != sums.end(); ++i ) {
- ++size;
- test_helper<T>::sum(iterator_sum, *i);
- }
- ASSERT( sums.size() == size, NULL);
-
- // use const_iterator
- for ( typename tbb::enumerable_thread_specific<T>::const_iterator i = sums.begin(); i != sums.end(); ++i ) {
- test_helper<T>::sum(const_iterator_sum, *i);
- }
-
- // use range_type
- typename tbb::enumerable_thread_specific<T>::range_type r = sums.range();
- for ( typename tbb::enumerable_thread_specific<T>::range_type::const_iterator i = r.begin(); i != r.end(); ++i ) {
- test_helper<T>::sum(range_sum, *i);
- }
-
- // use const_range_type
- typename tbb::enumerable_thread_specific<T>::const_range_type cr = sums.range();
- for ( typename tbb::enumerable_thread_specific<T>::const_range_type::iterator i = cr.begin(); i != cr.end(); ++i ) {
- test_helper<T>::sum(const_range_sum, *i);
- }
-
- // test copy constructor, with TLS-cached locals
-
- typedef typename tbb::enumerable_thread_specific<T, tbb::cache_aligned_allocator<T>, tbb::ets_key_per_instance> cached_ets_type;
-
- cached_ets_type cconst(sums);
- /// tbb::enumerable_thread_specific<T> cconst(sums);
-
- for ( typename cached_ets_type::const_iterator i = cconst.begin(); i != cconst.end(); ++i ) {
- test_helper<T>::sum(cconst_sum, *i);
- }
-
- // test assignment
- tbb::enumerable_thread_specific<T> assigned;
- assigned = sums;
-
- for ( typename tbb::enumerable_thread_specific<T>::const_iterator i = assigned.begin(); i != assigned.end(); ++i ) {
- test_helper<T>::sum(assign_sum, *i);
- }
-
- // test assign to and from cached locals
- cached_ets_type cassgn;
- cassgn = sums;
- for ( typename cached_ets_type::const_iterator i = cassgn.begin(); i != cassgn.end(); ++i ) {
- test_helper<T>::sum(cassgn_sum, *i);
- }
-
- tbb::enumerable_thread_specific<T> non_cassgn;
- non_cassgn = cassgn;
- for ( typename tbb::enumerable_thread_specific<T>::const_iterator i = non_cassgn.begin(); i != non_cassgn.end(); ++i ) {
- test_helper<T>::sum(non_cassgn_sum, *i);
- }
-
- // test finit-initialized ets
- for(typename tbb::enumerable_thread_specific<T>::const_iterator i = finit_ets.begin(); i != finit_ets.end(); ++i) {
- test_helper<T>::sum(finit_ets_sum, *i);
- }
-
- }
-
- ASSERT( EXPECTED_SUM == test_helper<T>::get(iterator_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(const_iterator_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(range_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(const_range_sum), NULL);
-
- ASSERT( EXPECTED_SUM == test_helper<T>::get(combine_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(combine_ref_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(cconst_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(assign_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(cassgn_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(non_cassgn_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(finit_ets_sum), NULL);
- ASSERT( EXPECTED_SUM == test_helper<T>::get(static_sum), NULL);
-
- if (Verbose)
- REPORT("done\nparallel %s, %d, %g, %g\n", test_name, p, test_helper<T>::get(iterator_sum),
- ( tbb::tick_count::now() - t0).seconds());
- init.terminate();
- }
-}
-
-
-template <typename T>
-class parallel_vector_for_body: NoAssign {
-
- tbb::enumerable_thread_specific< std::vector<T, tbb::tbb_allocator<T> > > &locals;
-
-public:
-
- parallel_vector_for_body ( tbb::enumerable_thread_specific< std::vector<T, tbb::tbb_allocator<T> > > &_locals ) : locals(_locals) { }
-
- void operator()( const tbb::blocked_range<int> &r ) const {
- T one;
- test_helper<T>::set(one, 1);
-
- for (int i = r.begin(); i < r.end(); ++i) {
- locals.local().push_back( one );
- }
- }
-
-};
-
-template <typename R, typename T>
-struct parallel_vector_reduce_body {
-
- T sum;
- size_t count;
-
- parallel_vector_reduce_body ( ) : count(0) { test_helper<T>::init(sum); }
- parallel_vector_reduce_body ( parallel_vector_reduce_body<R, T> &, tbb::split ) : count(0) { test_helper<T>::init(sum); }
-
- void operator()( const R &r ) {
- for (typename R::iterator ri = r.begin(); ri != r.end(); ++ri) {
- const std::vector< T, tbb::tbb_allocator<T> > &v = *ri;
- ++count;
- for (typename std::vector<T, tbb::tbb_allocator<T> >::const_iterator vi = v.begin(); vi != v.end(); ++vi) {
- test_helper<T>::sum(sum, *vi);
- }
- }
- }
-
- void join( const parallel_vector_reduce_body &b ) {
- test_helper<T>::sum(sum,b.sum);
- count += b.count;
- }
-
-};
-
-template< typename T >
-void run_parallel_vector_tests(const char *test_name) {
- tbb::tick_count t0;
- tbb::task_scheduler_init init(tbb::task_scheduler_init::deferred);
- typedef std::vector<T, tbb::tbb_allocator<T> > container_type;
-
- for (int p = MinThread; p <= MaxThread; ++p) {
-
- if (p == 0) continue;
- if (Verbose) REPORT("Testing parallel %s on %d thread(s)... ", test_name, p);
- init.initialize(p);
-
- T sum;
- test_helper<T>::init(sum);
-
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
- typedef typename tbb::enumerable_thread_specific< container_type > ets_type;
- ets_type vs;
-
- ASSERT( vs.empty(), NULL);
- tbb::parallel_for ( tbb::blocked_range<int> (0, N, 10000), parallel_vector_for_body<T>( vs ) );
- ASSERT( !vs.empty(), NULL);
-
- // copy construct
- ets_type vs2(vs); // this causes an assertion failure, related to allocators...
-
- // assign
- ets_type vs3;
- vs3 = vs;
-
- parallel_vector_reduce_body< typename tbb::enumerable_thread_specific< std::vector< T, tbb::tbb_allocator<T> > >::const_range_type, T > pvrb;
- tbb::parallel_reduce ( vs.range(1), pvrb );
-
- test_helper<T>::sum(sum, pvrb.sum);
-
- ASSERT( vs.size() == pvrb.count, NULL);
-
- tbb::flattened2d<ets_type> fvs = flatten2d(vs);
- size_t ccount = fvs.size();
- size_t elem_cnt = 0;
- for(typename tbb::flattened2d<ets_type>::const_iterator i = fvs.begin(); i != fvs.end(); ++i) {
- ++elem_cnt;
- };
- ASSERT(ccount == elem_cnt, NULL);
-
- elem_cnt = 0;
- for(typename tbb::flattened2d<ets_type>::iterator i = fvs.begin(); i != fvs.end(); ++i) {
- ++elem_cnt;
- };
- ASSERT(ccount == elem_cnt, NULL);
- }
-
- double result_value = test_helper<T>::get(sum);
- ASSERT( EXPECTED_SUM == result_value, NULL);
- if (Verbose)
- REPORT("done\nparallel %s, %d, %g, %g\n", test_name, p, result_value, ( tbb::tick_count::now() - t0).seconds());
- init.terminate();
- }
-}
-
-template<typename T>
-void run_cross_type_vector_tests(const char *test_name) {
- tbb::tick_count t0;
- tbb::task_scheduler_init init(tbb::task_scheduler_init::deferred);
- typedef std::vector<T, tbb::tbb_allocator<T> > container_type;
-
- for (int p = MinThread; p <= MaxThread; ++p) {
-
- if (p == 0) continue;
- if (Verbose) REPORT("Testing parallel %s on %d thread(s)... ", test_name, p);
- init.initialize(p);
-
- T sum;
- test_helper<T>::init(sum);
-
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
- typedef typename tbb::enumerable_thread_specific< container_type, tbb::cache_aligned_allocator<container_type>, tbb::ets_no_key > ets_nokey_type;
- typedef typename tbb::enumerable_thread_specific< container_type, tbb::cache_aligned_allocator<container_type>, tbb::ets_key_per_instance > ets_tlskey_type;
- ets_nokey_type vs;
-
- ASSERT( vs.empty(), NULL);
- tbb::parallel_for ( tbb::blocked_range<int> (0, N, 10000), parallel_vector_for_body<T>( vs ) );
- ASSERT( !vs.empty(), NULL);
-
- // copy construct
- ets_tlskey_type vs2(vs);
-
- // assign
- ets_nokey_type vs3;
- vs3 = vs2;
-
- parallel_vector_reduce_body< typename tbb::enumerable_thread_specific< std::vector< T, tbb::tbb_allocator<T> > >::const_range_type, T > pvrb;
- tbb::parallel_reduce ( vs3.range(1), pvrb );
-
- test_helper<T>::sum(sum, pvrb.sum);
-
- ASSERT( vs3.size() == pvrb.count, NULL);
-
- tbb::flattened2d<ets_nokey_type> fvs = flatten2d(vs3);
- size_t ccount = fvs.size();
- size_t elem_cnt = 0;
- for(typename tbb::flattened2d<ets_nokey_type>::const_iterator i = fvs.begin(); i != fvs.end(); ++i) {
- ++elem_cnt;
- };
- ASSERT(ccount == elem_cnt, NULL);
-
- elem_cnt = 0;
- for(typename tbb::flattened2d<ets_nokey_type>::iterator i = fvs.begin(); i != fvs.end(); ++i) {
- ++elem_cnt;
- };
- ASSERT(ccount == elem_cnt, NULL);
- }
-
- double result_value = test_helper<T>::get(sum);
- ASSERT( EXPECTED_SUM == result_value, NULL);
- if (Verbose)
- REPORT("done\nparallel %s, %d, %g, %g\n", test_name, p, result_value, ( tbb::tick_count::now() - t0).seconds());
- init.terminate();
- }
-}
-
-template< typename T >
-void run_serial_vector_tests(const char *test_name) {
- tbb::tick_count t0;
- T sum;
- test_helper<T>::init(sum);
- T one;
- test_helper<T>::set(one, 1);
-
- if (Verbose) REPORT("Testing serial %s... ", test_name);
- for (int t = -1; t < REPETITIONS; ++t) {
- if (Verbose && t == 0) t0 = tbb::tick_count::now();
- std::vector<T, tbb::tbb_allocator<T> > v;
- for (int i = 0; i < N; ++i) {
- v.push_back( one );
- }
- for (typename std::vector<T, tbb::tbb_allocator<T> >::const_iterator i = v.begin(); i != v.end(); ++i)
- test_helper<T>::sum(sum, *i);
- }
-
- double result_value = test_helper<T>::get(sum);
- ASSERT( EXPECTED_SUM == result_value, NULL);
- if (Verbose)
- REPORT("done\nserial %s, 0, %g, %g\n", test_name, result_value, ( tbb::tick_count::now() - t0).seconds());
-}
-
-void
-run_serial_tests() {
- run_serial_scalar_tests<int>("int");
- run_serial_scalar_tests<double>("double");
- run_serial_scalar_tests<minimal>("minimal");
- run_serial_vector_tests<int>("std::vector<int, tbb::tbb_allocator<int> >");
- run_serial_vector_tests<double>("std::vector<double, tbb::tbb_allocator<double> >");
-}
-
-void
-run_parallel_tests() {
- run_parallel_scalar_tests<int>("int");
- run_parallel_scalar_tests<double>("double");
- run_parallel_scalar_tests<minimal>("minimal");
- run_parallel_vector_tests<int>("std::vector<int, tbb::tbb_allocator<int> >");
- run_parallel_vector_tests<double>("std::vector<double, tbb::tbb_allocator<double> >");
-}
-
-void
-run_cross_type_tests() {
- // cross-type scalar tests are part of run_serial_scalar_tests
- run_cross_type_vector_tests<int>("std::vector<int, tbb::tbb_allocator<int> >");
- run_parallel_vector_tests<double>("std::vector<double, tbb::tbb_allocator<double> >");
-}
-
-typedef tbb::enumerable_thread_specific<minimal> * minimal_ptr;
-
-class set_body {
- minimal_ptr *a;
-
-public:
- set_body( minimal_ptr *_a ) : a(_a) { }
-
- void operator() ( ) const {
- for (int i = 0; i < VALID_NUMBER_OF_KEYS; ++i) {
- a[i]->local().set_value(i + 1);
- }
- }
-
-};
-
-void do_tbb_threads( int max_threads, minimal_ptr *a ) {
- std::vector< tbb::tbb_thread * > threads;
-
- for (int p = 0; p < max_threads; ++p) {
- threads.push_back( new tbb::tbb_thread ( set_body( a ) ) );
- }
-
- for (int p = 0; p < max_threads; ++p) {
- threads[p]->join();
- }
- for(int p = 0; p < max_threads; ++p) {
- delete threads[p];
- }
-}
-
-void
-flog_key_creation_and_deletion() {
-
- const int FLOG_REPETITIONS = 100;
- minimal_ptr a[VALID_NUMBER_OF_KEYS];
- tbb::task_scheduler_init init(tbb::task_scheduler_init::deferred);
-
- for (int p = MinThread; p <= MaxThread; ++p) {
-
- if (p == 0) continue;
-
- if (Verbose) REPORT("Testing repeated deletes on %d threads... ", p);
-
- for (int j = 0; j < FLOG_REPETITIONS; ++j) {
- construction_counter = 0;
- destruction_counter = 0;
-
- // causes VALID_NUMER_OF_KEYS exemplar instances to be constructed
- for (int i = 0; i < VALID_NUMBER_OF_KEYS; ++i) {
- a[i] = new tbb::enumerable_thread_specific<minimal>;
- }
-
- // causes p * VALID_NUMBER_OF_KEYS minimals to be created
- do_tbb_threads(p, a);
-
- for (int i = 0; i < VALID_NUMBER_OF_KEYS; ++i) {
- for ( tbb::enumerable_thread_specific< minimal >::iterator tli = a[i]->begin();
- tli != a[i]->end(); ++tli ) {
- ASSERT( (*tli).value() == i+1, NULL );
- }
- delete a[i];
- a[i] = NULL;
- }
- }
-
- ASSERT( int(construction_counter) == (p+1)*VALID_NUMBER_OF_KEYS, NULL );
- ASSERT( int(destruction_counter) == (p+1)*VALID_NUMBER_OF_KEYS, NULL );
-
- if (Verbose) REPORT("done\nTesting repeated clears on %d threads... ", p);
-
- construction_counter = 0;
- destruction_counter = 0;
-
- // causes VALID_NUMER_OF_KEYS exemplar instances to be constructed
- for (int i = 0; i < VALID_NUMBER_OF_KEYS; ++i) {
- a[i] = new tbb::enumerable_thread_specific<minimal>;
- }
-
- for (int j = 0; j < FLOG_REPETITIONS; ++j) {
-
- // causes p * VALID_NUMBER_OF_KEYS minimals to be created
- do_tbb_threads(p, a);
-
- for (int i = 0; i < VALID_NUMBER_OF_KEYS; ++i) {
- for ( tbb::enumerable_thread_specific< minimal >::iterator tli = a[i]->begin();
- tli != a[i]->end(); ++tli ) {
- ASSERT( (*tli).value() == i+1, NULL );
- }
- a[i]->clear();
- ASSERT( static_cast<int>(a[i]->end() - a[i]->begin()) == 0, NULL );
- }
-
- }
-
- for (int i = 0; i < VALID_NUMBER_OF_KEYS; ++i) {
- delete a[i];
- a[i] = NULL;
- }
-
- ASSERT( int(construction_counter) == (FLOG_REPETITIONS*p+1)*VALID_NUMBER_OF_KEYS, NULL );
- ASSERT( int(destruction_counter) == (FLOG_REPETITIONS*p+1)*VALID_NUMBER_OF_KEYS, NULL );
-
- if (Verbose) REPORT("done\n");
- }
-
-}
-
-template <typename inner_container>
-void
-flog_segmented_interator() {
-
- bool found_error = false;
- typedef typename inner_container::value_type T;
- typedef std::vector< inner_container > nested_vec;
- inner_container my_inner_container;
- my_inner_container.clear();
- nested_vec my_vec;
-
- // simple nested vector (neither level empty)
- const int maxval = 10;
- for(int i=0; i < maxval; i++) {
- my_vec.push_back(my_inner_container);
- for(int j = 0; j < maxval; j++) {
- my_vec.at(i).push_back((T)(maxval * i + j));
- }
- }
-
- tbb::internal::segmented_iterator<nested_vec, T> my_si(my_vec);
-
- T ii;
- for(my_si=my_vec.begin(), ii=0; my_si != my_vec.end(); ++my_si, ++ii) {
- if((*my_si) != ii) {
- found_error = true;
- if(Verbose) REPORT( "*my_si=%d\n", int(*my_si));
- }
- }
-
- // outer level empty
- my_vec.clear();
- for(my_si=my_vec.begin(); my_si != my_vec.end(); ++my_si) {
- found_error = true;
- }
-
- // inner levels empty
- my_vec.clear();
- for(int i =0; i < maxval; ++i) {
- my_vec.push_back(my_inner_container);
- }
- for(my_si = my_vec.begin(); my_si != my_vec.end(); ++my_si) {
- found_error = true;
- }
-
- // every other inner container is empty
- my_vec.clear();
- for(int i=0; i < maxval; ++i) {
- my_vec.push_back(my_inner_container);
- if(i%2) {
- for(int j = 0; j < maxval; ++j) {
- my_vec.at(i).push_back((T)(maxval * (i/2) + j));
- }
- }
- }
- for(my_si = my_vec.begin(), ii=0; my_si != my_vec.end(); ++my_si, ++ii) {
- if((*my_si) != ii) {
- found_error = true;
- if(Verbose) REPORT("*my_si=%d, ii=%d\n", (int)(*my_si), (int)ii);
- }
- }
-
- tbb::internal::segmented_iterator<nested_vec, const T> my_csi(my_vec);
- for(my_csi=my_vec.begin(), ii=0; my_csi != my_vec.end(); ++my_csi, ++ii) {
- if((*my_csi) != ii) {
- found_error = true;
- if(Verbose) REPORT( "*my_csi=%d\n", int(*my_csi));
- }
- }
-
- // outer level empty
- my_vec.clear();
- for(my_csi=my_vec.begin(); my_csi != my_vec.end(); ++my_csi) {
- found_error = true;
- }
-
- // inner levels empty
- my_vec.clear();
- for(int i =0; i < maxval; ++i) {
- my_vec.push_back(my_inner_container);
- }
- for(my_csi = my_vec.begin(); my_csi != my_vec.end(); ++my_csi) {
- found_error = true;
- }
-
- // every other inner container is empty
- my_vec.clear();
- for(int i=0; i < maxval; ++i) {
- my_vec.push_back(my_inner_container);
- if(i%2) {
- for(int j = 0; j < maxval; ++j) {
- my_vec.at(i).push_back((T)(maxval * (i/2) + j));
- }
- }
- }
- for(my_csi = my_vec.begin(), ii=0; my_csi != my_vec.end(); ++my_csi, ++ii) {
- if((*my_csi) != ii) {
- found_error = true;
- if(Verbose) REPORT("*my_csi=%d, ii=%d\n", (int)(*my_csi), (int)ii);
- }
- }
-
-
- if(found_error) REPORT("segmented_iterator failed\n");
-}
-
-template <typename Key, typename Val>
-void
-flog_segmented_iterator_map() {
- typedef typename std::map<Key, Val> my_map;
- typedef std::vector< my_map > nested_vec;
- my_map my_inner_container;
- my_inner_container.clear();
- nested_vec my_vec;
- my_vec.clear();
- bool found_error = false;
-
- // simple nested vector (neither level empty)
- const int maxval = 4;
- for(int i=0; i < maxval; i++) {
- my_vec.push_back(my_inner_container);
- for(int j = 0; j < maxval; j++) {
- my_vec.at(i).insert(std::make_pair<Key,Val>(maxval * i + j, 2*(maxval*i + j)));
- }
- }
-
- tbb::internal::segmented_iterator<nested_vec, std::pair<const Key, Val> > my_si(my_vec);
- Key ii;
- for(my_si=my_vec.begin(), ii=0; my_si != my_vec.end(); ++my_si, ++ii) {
- if(((*my_si).first != ii) || ((*my_si).second != 2*ii)) {
- found_error = true;
- if(Verbose) REPORT( "ii=%d, (*my_si).first=%d, second=%d\n",ii, int((*my_si).first), int((*my_si).second));
- }
- }
-
- tbb::internal::segmented_iterator<nested_vec, const std::pair<const Key, Val> > my_csi(my_vec);
- for(my_csi=my_vec.begin(), ii=0; my_csi != my_vec.end(); ++my_csi, ++ii) {
- if(((*my_csi).first != ii) || ((*my_csi).second != 2*ii)) {
- found_error = true;
- if(Verbose) REPORT( "ii=%d, (*my_csi).first=%d, second=%d\n",ii, int((*my_csi).first), int((*my_csi).second));
- }
- }
-}
-
-void
-run_segmented_iterator_tests() {
- // only the following containers can be used with the segmented iterator.
- if(Verbose) REPORT("Running Segmented Iterator Tests\n");
- flog_segmented_interator<std::vector< int > >();
- flog_segmented_interator<std::vector< double > >();
- flog_segmented_interator<std::deque< int > >();
- flog_segmented_interator<std::deque< double > >();
- flog_segmented_interator<std::list< int > >();
- flog_segmented_interator<std::list< double > >();
-
- flog_segmented_iterator_map<int, int>();
- flog_segmented_iterator_map<int, double>();
-}
-
-template <typename T>
-void
-run_assign_and_copy_constructor_test(const char *test_name) {
- if (Verbose) REPORT("Testing assignment and copy construction for %s\n", test_name);
-
- // test initializer with exemplar (combine returns the exemplar value if no threads have created locals.)
- T initializer0;
- test_helper<T>::init(initializer0);
- T initializer7;
- test_helper<T>::set(initializer7,7);
- tbb::enumerable_thread_specific<T> create1(initializer7);
- ASSERT(7 == test_helper<T>::get(create1.combine(my_combine<T>)), NULL);
-
- // test copy construction with exemplar initializer
- tbb::enumerable_thread_specific<T> copy1(create1);
- ASSERT(7 == test_helper<T>::get(copy1.combine(my_combine<T>)), NULL);
-
- // test copy assignment with exemplar initializer
- tbb::enumerable_thread_specific<T> assign1(initializer0);
- assign1 = create1;
- ASSERT(7 == test_helper<T>::get(assign1.combine(my_combine<T>)), NULL);
-
- // test creation with finit function (combine returns finit return value if no threads have created locals)
- FunctorAddFinit7<T> my_finit7;
- tbb::enumerable_thread_specific<T> create2(my_finit7);
- ASSERT(7 == test_helper<T>::get(create2.combine(my_combine<T>)), NULL);
-
- // test copy construction with function initializer
- tbb::enumerable_thread_specific<T> copy2(create2);
- ASSERT(7 == test_helper<T>::get(copy2.combine(my_combine<T>)), NULL);
-
- // test copy assignment with function initializer
- FunctorAddFinit<T> my_finit;
- tbb::enumerable_thread_specific<T> assign2(my_finit);
- assign2 = create2;
- ASSERT(7 == test_helper<T>::get(assign2.combine(my_combine<T>)), NULL);
-}
-
-void
-run_assignment_and_copy_constructor_tests() {
- if(Verbose) REPORT("Running assignment and copy constructor tests\n");
- run_assign_and_copy_constructor_test<int>("int");
- run_assign_and_copy_constructor_test<double>("double");
- run_assign_and_copy_constructor_test<minimal>("minimal");
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char *argv[]) {
- ParseCommandLine(argc, argv);
- run_segmented_iterator_tests();
-
- flog_key_creation_and_deletion();
-
- if (MinThread == 0)
- run_serial_tests();
-
- if (MaxThread > 0) {
- run_parallel_tests();
- run_cross_type_tests();
- }
-
- run_assignment_and_copy_constructor_tests();
-
- REPORT("done\n");
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <cstdio>
-#include <cstdlib>
-#include <cassert>
-#include <utility>
-#include "tbb/task.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/tick_count.h"
-#include "tbb/parallel_for.h"
-#include "tbb/blocked_range.h"
-#include "tbb/mutex.h"
-#include "tbb/spin_mutex.h"
-#include "tbb/queuing_mutex.h"
-#include "harness.h"
-
-using namespace std;
-using namespace tbb;
-
-///////////////////// Parallel methods ////////////////////////
-
-// *** Serial shared by mutexes *** //
-int SharedI = 1, SharedN;
-template<typename M>
-class SharedSerialFibBody: NoAssign {
- M &mutex;
-public:
- SharedSerialFibBody( M &m ) : mutex( m ) {}
- //! main loop
- void operator()( const blocked_range<int>& /*range*/ ) const {
- for(;;) {
- typename M::scoped_lock lock( mutex );
- if(SharedI >= SharedN) break;
- volatile double sum = 7.3;
- sum *= 11.17;
- ++SharedI;
- }
- }
-};
-
-//! Root function
-template<class M>
-void SharedSerialFib(int n)
-{
- SharedI = 1;
- SharedN = n;
- M mutex;
- parallel_for( blocked_range<int>(0,4,1), SharedSerialFibBody<M>( mutex ) );
-}
-
-/////////////////////////// Main ////////////////////////////////////////////////////
-
-double Tsum = 0; int Tnum = 0;
-
-typedef void (*MeasureFunc)(int);
-//! Measure ticks count in loop [2..n]
-void Measure(const char *name, MeasureFunc func, int n)
-{
- tick_count t0;
- tick_count::interval_t T;
- if( Verbose )
- REPORT("%s",name);
- t0 = tick_count::now();
- for(int number = 2; number <= n; number++)
- func(number);
- T = tick_count::now() - t0;
- double avg = Tnum? Tsum/Tnum : 1;
- if (avg == 0.0) avg = 1;
- if(avg * 100 < T.seconds()) {
- REPORT("Warning: halting detected (%g sec, av: %g)\n", T.seconds(), avg);
- ASSERT(avg * 1000 > T.seconds(), "Too long halting period");
- } else {
- Tsum += T.seconds(); Tnum++;
- }
- if( Verbose )
- REPORT("\t- in %f msec\n", T.seconds()*1000);
-}
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- MaxThread = 8; MinThread = 2;
- ParseCommandLine( argc, argv );
- int NumbersCount = 100;
- short recycle = 100;
-
- do {
- for(int threads = 2; threads <= MaxThread; threads++)
- {
- task_scheduler_init scheduler_init(threads);
- if( Verbose )
- REPORT("Threads number is %d\t", threads);
- Measure("Shared serial (wrapper mutex)\t", SharedSerialFib<mutex>, NumbersCount);
- //sum = Measure("Shared serial (spin_mutex)", SharedSerialFib<tbb::spin_mutex>, NumbersCount);
- //sum = Measure("Shared serial (queuing_mutex)", SharedSerialFib<tbb::queuing_mutex>, NumbersCount);
- }
- } while(--recycle);
- if(!Verbose)
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Program for basic correctness of handle_perror, which is internal
-// to the TBB shared library.
-
-#include <cerrno>
-#include <stdexcept>
-#include "../tbb/tbb_misc.h"
-#include "harness.h"
-
-static void TestHandlePerror() {
- bool caught = false;
- try {
- tbb::internal::handle_perror( EAGAIN, "apple" );
- } catch( std::runtime_error& e ) {
- if( Verbose )
- REPORT("caught runtime_exception('%s')\n",e.what());
- ASSERT( memcmp(e.what(),"apple: ",7)==0, NULL );
- ASSERT( strstr(e.what(),"unavailable")!=NULL, "bad error message?" );
- caught = true;
- }
- ASSERT(caught,NULL);
-}
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- ParseCommandLine( argc, argv );
-#if !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
- TestHandlePerror();
-#endif
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#if __APPLE__
-
-#include "harness.h"
-#include <cstdlib>
-#include "tbb/task_scheduler_init.h"
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-
-bool exec_test(const char *self) {
- int status = 1;
- pid_t p = fork();
- if(p < 0) {
- REPORT("fork error: errno=%d: %s\n", errno, strerror(errno));
- return true;
- }
- else if(p) { // parent
- if(waitpid(p, &status, 0) != p) {
- REPORT("wait error: errno=%d: %s\n", errno, strerror(errno));
- return true;
- }
- if(WIFEXITED(status)) {
- if(!WEXITSTATUS(status)) return false; // ok
- else REPORT("child has exited with return code 0x%x\n", WEXITSTATUS(status));
- } else {
- REPORT("child error 0x%x:%s%s ", status, WIFSIGNALED(status)?" signalled":"",
- WIFSTOPPED(status)?" stopped":"");
- if(WIFSIGNALED(status))
- REPORT("%s%s", sys_siglist[WTERMSIG(status)], WCOREDUMP(status)?" core dumped":"");
- if(WIFSTOPPED(status))
- REPORT("with %d stop-code", WSTOPSIG(status));
- REPORT("\n");
- }
- }
- else { // child
- // reproduces error much often
- execl(self, self, "0", NULL);
- REPORT("exec fails %s: %d: %s\n", self, errno, strerror(errno));
- exit(2);
- }
- return true;
-}
-
-__TBB_TEST_EXPORT
-int main( int argc, char * argv[] ) {
- MinThread = 3000;
- ParseCommandLine( argc, argv );
- if( MinThread <= 0 ) {
- tbb::task_scheduler_init init( 2 ); // even number required for an error
- } else {
- for(int i = 0; i<MinThread; i++)
- if(exec_test(argv[0])) {
- REPORT("ERROR: execution fails at %d-th iteration!\n", i);
- exit(1);
- }
-
- REPORT("done\n");
- }
- return 0;
-}
-
-#else /* !__APPLE__ */
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-
-__TBB_TEST_EXPORT
-int main() {
- REPORT("skip\n");
- return 0;
-}
-
-#endif /* !__APPLE__ */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#if !TBB_USE_THREADING_TOOLS
- #define TBB_USE_THREADING_TOOLS 1
-#endif
-
-#include "harness.h"
-
-#if DO_ITT_NOTIFY
-
-#include "tbb/spin_mutex.h"
-#include "tbb/spin_rw_mutex.h"
-#include "tbb/queuing_rw_mutex.h"
-#include "tbb/queuing_mutex.h"
-#include "tbb/mutex.h"
-#include "tbb/recursive_mutex.h"
-#include "tbb/parallel_for.h"
-#include "tbb/blocked_range.h"
-#include "tbb/task_scheduler_init.h"
-
-
-#include "../tbb/itt_notify.h"
-
-
-template<typename M>
-class WorkEmulator: NoAssign {
- M& m_mutex;
- static volatile size_t s_anchor;
-public:
- void operator()( tbb::blocked_range<size_t>& range ) const {
- for( size_t i=range.begin(); i!=range.end(); ++i ) {
- typename M::scoped_lock lock(m_mutex);
- for ( size_t j = 0; j!=range.end(); ++j )
- s_anchor = (s_anchor - i) / 2 + (s_anchor + j) / 2;
- }
- }
- WorkEmulator( M& mutex ) : m_mutex(mutex) {}
-};
-
-template<typename M>
-volatile size_t WorkEmulator<M>::s_anchor = 0;
-
-
-template<class M>
-void Test( const char * name ) {
- REMARK("%s time = ",name);
- M mtx;
- tbb::profiling::set_name(mtx, name);
-
- const int n = 10000;
- tbb::parallel_for( tbb::blocked_range<size_t>(0,n,n/100), WorkEmulator<M>(mtx) );
-}
-
- #define TEST_MUTEX(type, name) Test<tbb::type>( name )
-
-#endif /* !DO_ITT_NOTIFY */
-
-__TBB_TEST_EXPORT
-int main( int argc, char * argv[] ) {
- // Default is to run on two threads
- MinThread = MaxThread = 2;
- ParseCommandLine( argc, argv );
-#if DO_ITT_NOTIFY
- for( int p=MinThread; p<=MaxThread; ++p ) {
- REMARK( "testing with %d workers\n", p );
- tbb::task_scheduler_init init( p );
- TEST_MUTEX( spin_mutex, "Spin Mutex" );
- TEST_MUTEX( queuing_mutex, "Queuing Mutex" );
- TEST_MUTEX( queuing_rw_mutex, "Queuing RW Mutex" );
- TEST_MUTEX( spin_rw_mutex, "Spin RW Mutex" );
- }
- REPORT("done\n");
-#else /* !DO_ITT_NOTIFY */
- REPORT("skip\n");
-#endif /* !DO_ITT_NOTIFY */
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-const int MByte = 1048576; //1MB
-
-/* _WIN32_WINNT should be defined at the very beginning,
- because other headers might include <windows.h>
-*/
-
-#if _WIN32 || _WIN64
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0500
-#include <windows.h>
-#include <stdio.h>
-#include "harness_report.h"
-
-void limitMem( int limit )
-{
- static HANDLE hJob = NULL;
- JOBOBJECT_EXTENDED_LIMIT_INFORMATION jobInfo;
-
- jobInfo.BasicLimitInformation.LimitFlags = JOB_OBJECT_LIMIT_PROCESS_MEMORY;
- jobInfo.ProcessMemoryLimit = limit? limit*MByte : 2*1024LL*MByte;
- if (NULL == hJob) {
- if (NULL == (hJob = CreateJobObject(NULL, NULL))) {
- REPORT("Can't assign create job object: %ld\n", GetLastError());
- exit(1);
- }
- if (0 == AssignProcessToJobObject(hJob, GetCurrentProcess())) {
- REPORT("Can't assign process to job object: %ld\n", GetLastError());
- exit(1);
- }
- }
- if (0 == SetInformationJobObject(hJob, JobObjectExtendedLimitInformation,
- &jobInfo, sizeof(jobInfo))) {
- REPORT("Can't set limits: %ld\n", GetLastError());
- exit(1);
- }
-}
-#else
-#include <sys/resource.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <sys/types.h> // uint64_t on FreeBSD, needed for rlim_t
-#include "harness_report.h"
-
-void limitMem( int limit )
-{
- rlimit rlim;
- rlim.rlim_cur = limit? limit*MByte : (rlim_t)RLIM_INFINITY;
- rlim.rlim_max = (rlim_t)RLIM_INFINITY;
- int ret = setrlimit(RLIMIT_AS,&rlim);
- if (0 != ret) {
- REPORT("Can't set limits: errno %d\n", errno);
- exit(1);
- }
-}
-#endif
-
-#include <time.h>
-#include <errno.h>
-#include <vector>
-#define __TBB_NO_IMPLICIT_LINKAGE 1
-#include "tbb/scalable_allocator.h"
-#include "tbb/tbb_machine.h"
-
-#include "harness.h"
-#include "harness_barrier.h"
-#if __linux__
-#include <stdint.h> // uintptr_t
-#endif
-#if _WIN32 || _WIN64
-#include <malloc.h> // _aligned_(malloc|free|realloc)
-#endif
-
-const size_t COUNT_ELEM_CALLOC = 2;
-const int COUNT_TESTS = 1000;
-const int COUNT_ELEM = 50000;
-const size_t MAX_SIZE = 1000;
-const int COUNTEXPERIMENT = 10000;
-
-const char strError[]="failed";
-const char strOk[]="done";
-
-typedef unsigned int UINT;
-typedef unsigned char UCHAR;
-typedef unsigned long DWORD;
-typedef unsigned char BYTE;
-
-
-typedef void* TestMalloc(size_t size);
-typedef void* TestCalloc(size_t num, size_t size);
-typedef void* TestRealloc(void* memblock, size_t size);
-typedef void TestFree(void* memblock);
-typedef int TestPosixMemalign(void **memptr, size_t alignment, size_t size);
-typedef void* TestAlignedMalloc(size_t size, size_t alignment);
-typedef void* TestAlignedRealloc(void* memblock, size_t size, size_t alignment);
-typedef void TestAlignedFree(void* memblock);
-
-TestMalloc* Tmalloc;
-TestCalloc* Tcalloc;
-TestRealloc* Trealloc;
-TestFree* Tfree;
-TestAlignedFree* Taligned_free;
-// call alignment-related function via pointer and check result's alignment
-int Tposix_memalign(void **memptr, size_t alignment, size_t size);
-void* Taligned_malloc(size_t size, size_t alignment);
-void* Taligned_realloc(void* memblock, size_t size, size_t alignment);
-
-// pointers to alignment-related functions used while testing
-TestPosixMemalign* Rposix_memalign;
-TestAlignedMalloc* Raligned_malloc;
-TestAlignedRealloc* Raligned_realloc;
-
-bool error_occurred = false;
-
-#if __APPLE__
-// Tests that use the variable are skipped on Mac OS* X
-#else
-static bool perProcessLimits = true;
-#endif
-
-const size_t POWERS_OF_2 = 20;
-
-#if __linux__ && __ia64__
-/* Can't use Intel compiler intrinsic due to internal error reported by
- 10.1 compiler */
-pthread_mutex_t counter_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-int32_t __TBB_machine_fetchadd4__TBB_full_fence (volatile void *ptr, int32_t value)
-{
- pthread_mutex_lock(&counter_mutex);
- int32_t result = *(int32_t*)ptr;
- *(int32_t*)ptr = result + value;
- pthread_mutex_unlock(&counter_mutex);
- return result;
-}
-
-void __TBB_machine_pause(int32_t /*delay*/) {}
-
-#elif (_WIN32||_WIN64) && defined(_M_AMD64)
-
-void __TBB_machine_pause(__int32 /*delay*/ ) {}
-
-#endif
-
-struct MemStruct
-{
- void* Pointer;
- UINT Size;
-
- MemStruct() : Pointer(NULL), Size(0) {}
- MemStruct(void* Pointer, UINT Size) : Pointer(Pointer), Size(Size) {}
-};
-
-class CMemTest: NoAssign
-{
- UINT CountErrors;
- int total_threads;
- bool FullLog;
- Harness::SpinBarrier *limitBarrier;
- static bool firstTime;
-
-public:
- CMemTest(int total_threads, Harness::SpinBarrier *limitBarrier,
- bool isVerbose=false) :
- CountErrors(0), total_threads(total_threads), limitBarrier(limitBarrier)
- {
- srand((UINT)time(NULL));
- FullLog=isVerbose;
- rand();
- }
- void InvariantDataRealloc(bool aligned); //realloc does not change data
- void NULLReturn(UINT MinSize, UINT MaxSize); // NULL pointer + check errno
- void UniquePointer(); // unique pointer - check with padding
- void AddrArifm(); // unique pointer - check with pointer arithmetic
- bool ShouldReportError();
- void Free_NULL(); //
- void Zerofilling(); // check if arrays are zero-filled
- void TestAlignedParameters();
- void RunAllTests(int total_threads);
- ~CMemTest() {}
-};
-
-class Limit {
- int limit;
-public:
- Limit(int limit) : limit(limit) {}
- void operator() () const {
- limitMem(limit);
- }
-};
-
-int argC;
-char** argV;
-
-struct RoundRobin: NoAssign {
- const long number_of_threads;
- mutable CMemTest test;
-
- RoundRobin( long p, Harness::SpinBarrier *limitBarrier, bool verbose ) :
- number_of_threads(p), test(p, limitBarrier, verbose) {}
- void operator()( int /*id*/ ) const
- {
- test.RunAllTests(number_of_threads);
- }
-};
-
-bool CMemTest::firstTime = true;
-
-static void setSystemAllocs()
-{
- Tmalloc=malloc;
- Trealloc=realloc;
- Tcalloc=calloc;
- Tfree=free;
-#if _WIN32 || _WIN64
- Raligned_malloc=_aligned_malloc;
- Raligned_realloc=_aligned_realloc;
- Taligned_free=_aligned_free;
- Rposix_memalign=0;
-#elif __APPLE__ || __sun // Max OS X and Solaris don't have posix_memalign
- Raligned_malloc=0;
- Raligned_realloc=0;
- Taligned_free=0;
- Rposix_memalign=0;
-#else
- Raligned_malloc=0;
- Raligned_realloc=0;
- Taligned_free=0;
- Rposix_memalign=posix_memalign;
-#endif
-}
-
-// check that realloc works as free and as malloc
-void ReallocParam()
-{
- const int ITERS = 1000;
- int i;
- void *bufs[ITERS];
-
- bufs[0] = Trealloc(NULL, 30*MByte);
- ASSERT(bufs[0], "Can't get memory to start the test.");
-
- for (i=1; i<ITERS; i++)
- {
- bufs[i] = Trealloc(NULL, 30*MByte);
- if (NULL == bufs[i])
- break;
- }
- ASSERT(i<ITERS, "Limits should be decreased for the test to work.");
-
- Trealloc(bufs[0], 0);
- /* There is a race for the free space between different threads at
- this point. So, have to run the test sequentially.
- */
- bufs[0] = Trealloc(NULL, 30*MByte);
- ASSERT(bufs[0], NULL);
-
- for (int j=0; j<i; j++)
- Trealloc(bufs[j], 0);
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- argC=argc;
- argV=argv;
- MaxThread = MinThread = 1;
- Tmalloc=scalable_malloc;
- Trealloc=scalable_realloc;
- Tcalloc=scalable_calloc;
- Tfree=scalable_free;
- Rposix_memalign=scalable_posix_memalign;
- Raligned_malloc=scalable_aligned_malloc;
- Raligned_realloc=scalable_aligned_realloc;
- Taligned_free=scalable_aligned_free;
-
- // check if we were called to test standard behavior
- for (int i=1; i< argc; i++) {
- if (strcmp((char*)*(argv+i),"-s")==0)
- {
- setSystemAllocs();
- argC--;
- break;
- }
- }
-
- ParseCommandLine( argC, argV );
-#if __linux__
- /* According to man pthreads
- "NPTL threads do not share resource limits (fixed in kernel 2.6.10)".
- Use per-threads limits for affected systems.
- */
- if ( LinuxKernelVersion() < 2*1000000 + 6*1000 + 10)
- perProcessLimits = false;
-#endif
- //-------------------------------------
-#if __APPLE__
- /* Skip due to lack of memory limit enforcing under Mac OS X. */
-#else
- limitMem(200);
- ReallocParam();
- limitMem(0);
-#endif
- for( int p=MaxThread; p>=MinThread; --p ) {
- if( Verbose )
- REPORT("testing with %d threads\n", p );
- Harness::SpinBarrier *barrier = new Harness::SpinBarrier(p);
- NativeParallelFor( p, RoundRobin(p, barrier, Verbose) );
- delete barrier;
- }
- if( !error_occurred ) REPORT("done\n");
- return 0;
-}
-
-struct TestStruct
-{
- DWORD field1:2;
- DWORD field2:6;
- double field3;
- UCHAR field4[100];
- TestStruct* field5;
-// std::string field6;
- std::vector<int> field7;
- double field8;
- bool IzZero()
- {
- UCHAR *tmp;
- tmp=(UCHAR*)this;
- bool b=true;
- for (int i=0; i<(int)sizeof(TestStruct); i++)
- if (tmp[i]) b=false;
- return b;
- }
-};
-
-int Tposix_memalign(void **memptr, size_t alignment, size_t size)
-{
- int ret = Rposix_memalign(memptr, alignment, size);
- if (0 == ret)
- ASSERT(0==((uintptr_t)*memptr & (alignment-1)),
- "allocation result should be aligned");
- return ret;
-}
-void* Taligned_malloc(size_t size, size_t alignment)
-{
- void *ret = Raligned_malloc(size, alignment);
- if (0 != ret)
- ASSERT(0==((uintptr_t)ret & (alignment-1)),
- "allocation result should be aligned");
- return ret;
-}
-void* Taligned_realloc(void* memblock, size_t size, size_t alignment)
-{
- void *ret = Raligned_realloc(memblock, size, alignment);
- if (0 != ret)
- ASSERT(0==((uintptr_t)ret & (alignment-1)),
- "allocation result should be aligned");
- return ret;
-}
-
-inline size_t choose_random_alignment() {
- return sizeof(void*)<<(rand() % POWERS_OF_2);
-}
-
-void CMemTest::InvariantDataRealloc(bool aligned)
-{
- size_t size, sizeMin;
- CountErrors=0;
- if (FullLog) REPORT("\nInvariant data by realloc....");
- UCHAR* pchar;
- sizeMin=size=rand()%MAX_SIZE+10;
- pchar = aligned?
- (UCHAR*)Taligned_realloc(NULL,size,choose_random_alignment())
- : (UCHAR*)Trealloc(NULL,size);
- if (NULL == pchar)
- return;
- for (size_t k=0; k<size; k++)
- pchar[k]=(UCHAR)k%255+1;
- for (int i=0; i<COUNTEXPERIMENT; i++)
- {
- size=rand()%MAX_SIZE+10;
- UCHAR *pcharNew = aligned?
- (UCHAR*)Taligned_realloc(pchar,size, choose_random_alignment())
- : (UCHAR*)Trealloc(pchar,size);
- if (NULL == pcharNew)
- continue;
- pchar = pcharNew;
- sizeMin=size<sizeMin ? size : sizeMin;
- for (size_t k=0; k<sizeMin; k++)
- if (pchar[k] != (UCHAR)k%255+1)
- {
- CountErrors++;
- if (ShouldReportError())
- {
- REPORT("stand '%c', must stand '%c'\n",pchar[k],(UCHAR)k%255+1);
- REPORT("error: data changed (at %llu, SizeMin=%llu)\n",
- (long long unsigned)k,(long long unsigned)sizeMin);
- }
- }
- }
- if (aligned)
- Taligned_realloc(pchar,0,choose_random_alignment());
- else
- Trealloc(pchar,0);
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
- //REPORT("end check\n");
-}
-
-struct PtrSize {
- void *ptr;
- size_t size;
-};
-
-static int cmpAddrs(const void *p1, const void *p2)
-{
- const PtrSize *a = (const PtrSize *)p1;
- const PtrSize *b = (const PtrSize *)p2;
-
- return a->ptr < b->ptr ? -1 : ( a->ptr == b->ptr ? 0 : 1);
-}
-
-void CMemTest::AddrArifm()
-{
- PtrSize *arr = (PtrSize*)Tmalloc(COUNT_ELEM*sizeof(PtrSize));
-
- if (FullLog) REPORT("\nUnique pointer using Address arithmetics\n");
- if (FullLog) REPORT("malloc....");
- ASSERT(arr, NULL);
- for (int i=0; i<COUNT_ELEM; i++)
- {
- arr[i].size=rand()%MAX_SIZE;
- arr[i].ptr=Tmalloc(arr[i].size);
- }
- qsort(arr, COUNT_ELEM, sizeof(PtrSize), cmpAddrs);
-
- for (int i=0; i<COUNT_ELEM-1; i++)
- {
- if (NULL!=arr[i].ptr && NULL!=arr[i+1].ptr)
- ASSERT((uintptr_t)arr[i].ptr+arr[i].size <= (uintptr_t)arr[i+1].ptr,
- "intersection detected");
- }
- //----------------------------------------------------------------
- if (FullLog) REPORT("realloc....");
- for (int i=0; i<COUNT_ELEM; i++)
- {
- size_t count=arr[i].size*2;
- void *tmpAddr=Trealloc(arr[i].ptr,count);
- if (NULL!=tmpAddr) {
- arr[i].ptr = tmpAddr;
- arr[i].size = count;
- } else if (count==0) { // becasue realloc(..., 0) works as free
- arr[i].ptr = NULL;
- arr[i].size = 0;
- }
- }
- qsort(arr, COUNT_ELEM, sizeof(PtrSize), cmpAddrs);
-
- for (int i=0; i<COUNT_ELEM-1; i++)
- {
- if (NULL!=arr[i].ptr && NULL!=arr[i+1].ptr)
- ASSERT((uintptr_t)arr[i].ptr+arr[i].size <= (uintptr_t)arr[i+1].ptr,
- "intersection detected");
- }
- for (int i=0; i<COUNT_ELEM; i++)
- {
- Tfree(arr[i].ptr);
- }
- //-------------------------------------------
- if (FullLog) REPORT("calloc....");
- for (int i=0; i<COUNT_ELEM; i++)
- {
- arr[i].size=rand()%MAX_SIZE;
- arr[i].ptr=Tcalloc(arr[i].size,1);
- }
- qsort(arr, COUNT_ELEM, sizeof(PtrSize), cmpAddrs);
-
- for (int i=0; i<COUNT_ELEM-1; i++)
- {
- if (NULL!=arr[i].ptr && NULL!=arr[i+1].ptr)
- ASSERT((uintptr_t)arr[i].ptr+arr[i].size <= (uintptr_t)arr[i+1].ptr,
- "intersection detected");
- }
- for (int i=0; i<COUNT_ELEM; i++)
- {
- Tfree(arr[i].ptr);
- }
- Tfree(arr);
-}
-
-void CMemTest::Zerofilling()
-{
- TestStruct* TSMas;
- size_t CountElement;
- CountErrors=0;
- if (FullLog) REPORT("\nzeroings elements of array....");
- //test struct
- for (int i=0; i<COUNTEXPERIMENT; i++)
- {
- CountElement=rand()%MAX_SIZE;
- TSMas=(TestStruct*)Tcalloc(CountElement,sizeof(TestStruct));
- if (NULL == TSMas)
- continue;
- for (size_t j=0; j<CountElement; j++)
- {
- if (!(TSMas+j)->IzZero())
- {
- CountErrors++;
- if (ShouldReportError()) REPORT("detect nonzero element at TestStruct\n");
- }
- }
- Tfree(TSMas);
- }
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
-}
-
-// As several threads concurrently trying to push to memory limits, adding to
-// vectors may have intermittent failures.
-void reliablePushBack(std::vector<MemStruct> *vec, const MemStruct &mStruct)
-{
- for (int i=0; i<10000; i++) {
- try {
- vec->push_back(mStruct);
- } catch(std::bad_alloc) {
- continue;
- }
- return;
- }
- ASSERT(0, "Unable to get free memory.");
-}
-
-void CMemTest::NULLReturn(UINT MinSize, UINT MaxSize)
-{
- std::vector<MemStruct> PointerList;
- void *tmp;
- CountErrors=0;
- int CountNULL;
- if (FullLog) REPORT("\nNULL return & check errno:\n");
- UINT Size;
- do {
- Size=rand()%(MaxSize-MinSize)+MinSize;
- tmp=Tmalloc(Size);
- if (tmp != NULL)
- {
- memset(tmp, 0, Size);
- reliablePushBack(&PointerList, MemStruct(tmp, Size));
- }
- } while(tmp != NULL);
- if (FullLog) REPORT("\n");
-
- // preparation complete, now running tests
- // malloc
- if (FullLog) REPORT("malloc....");
- CountNULL = 0;
- while (CountNULL==0)
- for (int j=0; j<COUNT_TESTS; j++)
- {
- Size=rand()%(MaxSize-MinSize)+MinSize;
- errno = ENOMEM+j+1;
- tmp=Tmalloc(Size);
- if (tmp == NULL)
- {
- CountNULL++;
- if (errno != ENOMEM) {
- CountErrors++;
- if (ShouldReportError()) REPORT("NULL returned, error: errno (%d) != ENOMEM\n", errno);
- }
- }
- else
- {
- // Technically, if malloc returns a non-NULL pointer, it is allowed to set errno anyway.
- // However, on most systems it does not set errno.
- bool known_issue = false;
-#if __linux__
- if( errno==ENOMEM ) known_issue = true;
-#endif /* __linux__ */
- if (errno != ENOMEM+j+1 && !known_issue) {
- CountErrors++;
- if (ShouldReportError()) REPORT("error: errno changed to %d though valid pointer was returned\n", errno);
- }
- memset(tmp, 0, Size);
- reliablePushBack(&PointerList, MemStruct(tmp, Size));
- }
- }
- if (FullLog) REPORT("end malloc\n");
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
-
- CountErrors=0;
- //calloc
- if (FullLog) REPORT("calloc....");
- CountNULL = 0;
- while (CountNULL==0)
- for (int j=0; j<COUNT_TESTS; j++)
- {
- Size=rand()%(MaxSize-MinSize)+MinSize;
- errno = ENOMEM+j+1;
- tmp=Tcalloc(COUNT_ELEM_CALLOC,Size);
- if (tmp == NULL)
- {
- CountNULL++;
- if (errno != ENOMEM) {
- CountErrors++;
- if (ShouldReportError()) REPORT("NULL returned, error: errno(%d) != ENOMEM\n", errno);
- }
- }
- else
- {
- // Technically, if calloc returns a non-NULL pointer, it is allowed to set errno anyway.
- // However, on most systems it does not set errno.
- bool known_issue = false;
-#if __linux__
- if( errno==ENOMEM ) known_issue = true;
-#endif /* __linux__ */
- if (errno != ENOMEM+j+1 && !known_issue) {
- CountErrors++;
- if (ShouldReportError()) REPORT("error: errno changed to %d though valid pointer was returned\n", errno);
- }
- reliablePushBack(&PointerList, MemStruct(tmp, Size));
- }
- }
- if (FullLog) REPORT("end calloc\n");
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
- CountErrors=0;
- if (FullLog) REPORT("realloc....");
- CountNULL = 0;
- if (PointerList.size() > 0)
- while (CountNULL==0)
- for (size_t i=0; i<(size_t)COUNT_TESTS && i<PointerList.size(); i++)
- {
- errno = 0;
- tmp=Trealloc(PointerList[i].Pointer,PointerList[i].Size*2);
- if (PointerList[i].Pointer == tmp) // the same place
- {
- bool known_issue = false;
-#if __linux__
- if( errno==ENOMEM ) known_issue = true;
-#endif /* __linux__ */
- if (errno != 0 && !known_issue) {
- CountErrors++;
- if (ShouldReportError()) REPORT("valid pointer returned, error: errno not kept\n");
- }
- PointerList[i].Size *= 2;
- }
- else if (tmp != PointerList[i].Pointer && tmp != NULL) // another place
- {
- bool known_issue = false;
-#if __linux__
- if( errno==ENOMEM ) known_issue = true;
-#endif /* __linux__ */
- if (errno != 0 && !known_issue) {
- CountErrors++;
- if (ShouldReportError()) REPORT("valid pointer returned, error: errno not kept\n");
- }
- PointerList[i].Pointer = tmp;
- PointerList[i].Size *= 2;
- }
- else if (tmp == NULL)
- {
- CountNULL++;
- if (errno != ENOMEM)
- {
- CountErrors++;
- if (ShouldReportError()) REPORT("NULL returned, error: errno(%d) != ENOMEM\n", errno);
- }
- // check data integrity
- BYTE *zer=(BYTE*)PointerList[i].Pointer;
- for (UINT k=0; k<PointerList[i].Size; k++)
- if (zer[k] != 0)
- {
- CountErrors++;
- if (ShouldReportError()) REPORT("NULL returned, error: data changed\n");
- }
- }
- }
- if (FullLog) REPORT("realloc end\n");
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
- for (UINT i=0; i<PointerList.size(); i++)
- {
- Tfree(PointerList[i].Pointer);
- }
-}
-
-
-void CMemTest::UniquePointer()
-{
- CountErrors=0;
- int **MasPointer = (int **)Tmalloc(sizeof(int*)*COUNT_ELEM);
- size_t *MasCountElem = (size_t*)Tmalloc(sizeof(size_t)*COUNT_ELEM);
- if (FullLog) REPORT("\nUnique pointer using 0\n");
- ASSERT(MasCountElem && MasPointer, NULL);
- //
- //-------------------------------------------------------
- //malloc
- for (int i=0; i<COUNT_ELEM; i++)
- {
- MasCountElem[i]=rand()%MAX_SIZE;
- MasPointer[i]=(int*)Tmalloc(MasCountElem[i]*sizeof(int));
- if (NULL == MasPointer[i])
- MasCountElem[i]=0;
- for (UINT j=0; j<MasCountElem[i]; j++)
- *(MasPointer[i]+j)=0;
- }
- if (FullLog) REPORT("malloc....");
- for (UINT i=0; i<COUNT_ELEM-1; i++)
- {
- for (UINT j=0; j<MasCountElem[i]; j++)
- {
- if (*(*(MasPointer+i)+j)!=0)
- {
- CountErrors++;
- if (ShouldReportError()) REPORT("error, detect 1 with 0x%p\n",(*(MasPointer+i)+j));
- }
- *(*(MasPointer+i)+j)+=1;
- }
- }
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
- //----------------------------------------------------------
- //calloc
- for (int i=0; i<COUNT_ELEM; i++)
- Tfree(MasPointer[i]);
- CountErrors=0;
- for (long i=0; i<COUNT_ELEM; i++)
- {
- MasPointer[i]=(int*)Tcalloc(MasCountElem[i]*sizeof(int),2);
- if (NULL == MasPointer[i])
- MasCountElem[i]=0;
- }
- if (FullLog) REPORT("calloc....");
- for (int i=0; i<COUNT_ELEM-1; i++)
- {
- for (UINT j=0; j<*(MasCountElem+i); j++)
- {
- if (*(*(MasPointer+i)+j)!=0)
- {
- CountErrors++;
- if (ShouldReportError()) REPORT("error, detect 1 with 0x%p\n",(*(MasPointer+i)+j));
- }
- *(*(MasPointer+i)+j)+=1;
- }
- }
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
- //---------------------------------------------------------
- //realloc
- CountErrors=0;
- for (int i=0; i<COUNT_ELEM; i++)
- {
- MasCountElem[i]*=2;
- *(MasPointer+i)=
- (int*)Trealloc(*(MasPointer+i),MasCountElem[i]*sizeof(int));
- if (NULL == MasPointer[i])
- MasCountElem[i]=0;
- for (UINT j=0; j<MasCountElem[i]; j++)
- *(*(MasPointer+i)+j)=0;
- }
- if (FullLog) REPORT("realloc....");
- for (int i=0; i<COUNT_ELEM-1; i++)
- {
- for (UINT j=0; j<*(MasCountElem+i); j++)
- {
- if (*(*(MasPointer+i)+j)!=0)
- {
- CountErrors++;
- }
- *(*(MasPointer+i)+j)+=1;
- }
- }
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
- for (int i=0; i<COUNT_ELEM; i++)
- Tfree(MasPointer[i]);
- Tfree(MasCountElem);
- Tfree(MasPointer);
-}
-
-bool CMemTest::ShouldReportError()
-{
- if (FullLog)
- return true;
- else
- if (firstTime) {
- firstTime = false;
- return true;
- } else
- return false;
-}
-
-void CMemTest::Free_NULL()
-{
- CountErrors=0;
- if (FullLog) REPORT("\ncall free with parameter NULL....");
- errno = 0;
- for (int i=0; i<COUNTEXPERIMENT; i++)
- {
- Tfree(NULL);
- if (errno != 0)
- {
- CountErrors++;
- if (ShouldReportError()) REPORT("error is found by a call free with parameter NULL\n");
- }
- }
- if (CountErrors) REPORT("%s\n",strError);
- else if (FullLog) REPORT("%s\n",strOk);
- error_occurred |= ( CountErrors>0 ) ;
-}
-
-void CMemTest::TestAlignedParameters()
-{
- void *memptr;
- int ret;
-
- if (Rposix_memalign) {
- // alignment isn't power of 2
- for (int bad_align=3; bad_align<16; bad_align++)
- if (bad_align&(bad_align-1)) {
- ret = Tposix_memalign(NULL, bad_align, 100);
- ASSERT(EINVAL==ret, NULL);
- }
-
- memptr = &ret;
- ret = Tposix_memalign(&memptr, 5*sizeof(void*), 100);
- ASSERT(memptr == &ret,
- "memptr should not be changed after unsuccesful call");
- ASSERT(EINVAL==ret, NULL);
-
- // alignment is power of 2, but not a multiple of sizeof(void *),
- // we expect that sizeof(void*) > 2
- ret = Tposix_memalign(NULL, 2, 100);
- ASSERT(EINVAL==ret, NULL);
- }
- if (Raligned_malloc) {
- // alignment isn't power of 2
- for (int bad_align=3; bad_align<16; bad_align++)
- if (bad_align&(bad_align-1)) {
- memptr = Taligned_malloc(100, bad_align);
- ASSERT(NULL==memptr, NULL);
- ASSERT(EINVAL==errno, NULL);
- }
-
- // size is zero
- memptr = Taligned_malloc(0, 16);
- ASSERT(NULL==memptr, "size is zero, so must return NULL");
- ASSERT(EINVAL==errno, NULL);
- }
- if (Taligned_free) {
- // NULL pointer is OK to free
- errno = 0;
- Taligned_free(NULL);
- /* As there is no return value for free, strictly speaking we can't
- check errno here. But checked implementations obey the assertion.
- */
- ASSERT(0==errno, NULL);
- }
- if (Raligned_realloc) {
- for (int i=1; i<20; i++) {
- // checks that calls work correctly in presence of non-zero errno
- errno = i;
- void *ptr = Taligned_malloc(i*10, 128);
- ASSERT(NULL!=ptr, NULL);
- ASSERT(0!=errno, NULL);
- // if size is zero and pointer is not NULL, works like free
- memptr = Taligned_realloc(ptr, 0, 64);
- ASSERT(NULL==memptr, NULL);
- ASSERT(0!=errno, NULL);
- }
- // alignment isn't power of 2
- for (int bad_align=3; bad_align<16; bad_align++)
- if (bad_align&(bad_align-1)) {
- void *ptr = &bad_align;
- memptr = Taligned_realloc(&ptr, 100, bad_align);
- ASSERT(NULL==memptr, NULL);
- ASSERT(&bad_align==ptr, NULL);
- ASSERT(EINVAL==errno, NULL);
- }
- }
-}
-
-void CMemTest::RunAllTests(int total_threads)
-{
- Limit limit_200M(200*total_threads), no_limit(0);
-
- Zerofilling();
- Free_NULL();
- InvariantDataRealloc(/*aligned=*/false);
- if (Raligned_realloc)
- InvariantDataRealloc(/*aligned=*/true);
- TestAlignedParameters();
-#if __APPLE__
- REPORT("Warning: skipping some tests (known issue on Mac OS* X)\n");
-#else
- UniquePointer();
- AddrArifm();
- /* There is a bug in the specific verion of GLIBC (2.5-12) shipped
- with RHEL5 that leads to erroneous working of the test
- on Intel64 and IPF systems when setrlimit-related part is enabled.
- Switching to GLIBC 2.5-18 from RHEL5.1 resolved the issue.
- */
- if (perProcessLimits)
- limitBarrier->wait(limit_200M);
- else
- limitMem(200);
-#if !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
- NULLReturn(1*MByte,100*MByte);
-#endif
- if (perProcessLimits)
- limitBarrier->wait(no_limit);
- else
- limitMem(0);
-#endif
- if (FullLog) REPORT("All tests ended\nclearing memory...");
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/scalable_allocator.h"
-#include "harness.h"
-#include "harness_barrier.h"
-
-// current minimal size of object that treated as large object
-const size_t minLargeObjectSize = 8065;
-// current difference between size of consequent cache bins
-const int largeObjectCacheStep = 8*1024;
-
-const int LARGE_MEM_SIZES_NUM = 10;
-const size_t MByte = 1024*1024;
-
-class AllocInfo {
- int *p;
- int val;
- int size;
-public:
- AllocInfo() : p(NULL), val(0), size(0) {}
- explicit AllocInfo(int size) : p((int*)scalable_malloc(size*sizeof(int))),
- val(rand()), size(size) {
- ASSERT(p, NULL);
- for (int k=0; k<size; k++)
- p[k] = val;
- }
- void check() const {
- for (int k=0; k<size; k++)
- ASSERT(p[k] == val, NULL);
- }
- void clear() {
- scalable_free(p);
- }
-};
-
-class Run: NoAssign {
- const int allThreads;
- Harness::SpinBarrier *barrier;
-public:
- static int largeMemSizes[LARGE_MEM_SIZES_NUM];
-
- Run( int allThreads, Harness::SpinBarrier *barrier ) :
- allThreads(allThreads), barrier(barrier) {}
- void operator()( int /*mynum*/ ) const {
- testObjectCaching();
- }
-private:
- void testObjectCaching() const {
- AllocInfo allocs[LARGE_MEM_SIZES_NUM];
-
- // push to maximal cache limit
- for (int i=0; i<2; i++) {
- const int sizes[] = { MByte/sizeof(int),
- (MByte-2*largeObjectCacheStep)/sizeof(int) };
- for (int q=0; q<2; q++) {
- size_t curr = 0;
- for (int j=0; j<LARGE_MEM_SIZES_NUM; j++, curr++)
- new (allocs+curr) AllocInfo(sizes[q]);
-
- for (size_t j=0; j<curr; j++) {
- allocs[j].check();
- allocs[j].clear();
- }
- }
- }
-
- barrier->wait();
-
- // check caching correctness
- for (int i=0; i<1000; i++) {
- size_t curr = 0;
- for (int j=0; j<LARGE_MEM_SIZES_NUM-1; j++, curr++)
- new (allocs+curr) AllocInfo(largeMemSizes[j]);
-
- new (allocs+curr)
- AllocInfo((int)(4*minLargeObjectSize +
- 2*minLargeObjectSize*(1.*rand()/RAND_MAX)));
- curr++;
-
- for (size_t j=0; j<curr; j++) {
- allocs[j].check();
- allocs[j].clear();
- }
- }
- }
-};
-
-int Run::largeMemSizes[LARGE_MEM_SIZES_NUM];
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- ParseCommandLine( argc, argv );
-
- for (int i=0; i<LARGE_MEM_SIZES_NUM; i++)
- Run::largeMemSizes[i] = (int)(minLargeObjectSize +
- 2*minLargeObjectSize*(1.*rand()/RAND_MAX));
-
- for( int p=MaxThread; p>=MinThread; --p ) {
- Harness::SpinBarrier *barrier = new Harness::SpinBarrier(p);
- NativeParallelFor( p, Run(p, barrier) );
- delete barrier;
- }
-
- REPORT("done\n");
- return 0;
-}
-
-/* On this platforms __TBB_machine_pause is defined in TBB library,
- * so have to provide it manually.
- */
-#if (_WIN32||_WIN64) && defined(_M_AMD64)
-
-extern "C" void __TBB_machine_pause(__int32) { __TBB_Yield(); }
-
-#elif __linux__ && __ia64__
-extern "C" void __TBB_machine_pause(int32_t) { __TBB_Yield(); }
-
-pthread_mutex_t counter_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-/* As atomics are used only as atomic addition in Harness::SpinBarrier
- * implementation, it's OK to have this mutex.
- */
-int32_t __TBB_machine_fetchadd4__TBB_full_fence (volatile void *ptr,
- int32_t value)
-{
- pthread_mutex_lock(&counter_mutex);
- int32_t result = *(int32_t*)ptr;
- *(int32_t*)ptr = result + value;
- pthread_mutex_unlock(&counter_mutex);
- return result;
-}
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-
-#if __linux__
-#define MALLOC_REPLACEMENT_AVAILABLE 1
-#elif _WIN32
-#define MALLOC_REPLACEMENT_AVAILABLE 2
-#include "tbb/tbbmalloc_proxy.h"
-#endif
-
-#if MALLOC_REPLACEMENT_AVAILABLE
-
-#include "harness_report.h"
-#include "harness_assert.h"
-#include <stdlib.h>
-#include <malloc.h>
-#include <stdio.h>
-#include <new>
-
-#if __linux__
-#include <dlfcn.h>
-#include <unistd.h> // for sysconf
-#include <stdint.h> // for uintptr_t
-
-#elif _WIN32
-#include <stddef.h>
-#if __MINGW32__
-#include <unistd.h>
-#else
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int64 uint64_t;
-#endif
-
-#endif /* OS selection */
-
-#if _WIN32
-// On Windows, the tricky way to print "done" is necessary to create
-// dependence on msvcpXX.dll, for sake of a regression test.
-// On Linux, C++ RTL headers are undesirable because of breaking strict ANSI mode.
-#include <string>
-#endif
-
-
-template<typename T>
-static inline T alignDown(T arg, uintptr_t alignment) {
- return T( (uintptr_t)arg & ~(alignment-1));
-}
-template<typename T>
-static inline bool isAligned(T arg, uintptr_t alignment) {
- return 0==((uintptr_t)arg & (alignment-1));
-}
-
-/* Below is part of MemoryAllocator.cpp. */
-
-/*
- * The identifier to make sure that memory is allocated by scalable_malloc.
- */
-const uint64_t theMallocUniqueID=0xE3C7AF89A1E2D8C1ULL;
-
-struct LargeObjectHeader {
- void *unalignedResult; /* The base of the memory returned from getMemory, this is what is used to return this to the OS */
- size_t unalignedSize; /* The size that was requested from getMemory */
- uint64_t mallocUniqueID; /* The field to check whether the memory was allocated by scalable_malloc */
- size_t objectSize; /* The size originally requested by a client */
-};
-
-/*
- * Objects of this size and larger are considered large objects.
- */
-const uint32_t minLargeObjectSize = 8065;
-
-/* end of inclusion from MemoryAllocator.cpp */
-
-/* Correct only for large blocks, i.e. not smaller then minLargeObjectSize */
-static bool scalableMallocLargeBlock(void *object, size_t size)
-{
- ASSERT(size >= minLargeObjectSize, NULL);
-#if MALLOC_REPLACEMENT_AVAILABLE == 2
- // Check that _msize works correctly
- ASSERT(_msize(object) >= size, NULL);
-#endif
-
- LargeObjectHeader *h = (LargeObjectHeader*)((uintptr_t)object-sizeof(LargeObjectHeader));
- return h->mallocUniqueID==theMallocUniqueID && h->objectSize==size;
-}
-
-struct BigStruct {
- char f[minLargeObjectSize];
-};
-
-int main(int , char *[]) {
- void *ptr, *ptr1;
-
-#if MALLOC_REPLACEMENT_AVAILABLE == 1
- if (NULL == dlsym(RTLD_DEFAULT, "scalable_malloc")) {
- REPORT("libtbbmalloc not found\nfail\n");
- return 1;
- }
-#endif
-
- ptr = malloc(minLargeObjectSize);
- ASSERT(ptr!=NULL && scalableMallocLargeBlock(ptr, minLargeObjectSize), NULL);
- free(ptr);
-
- ptr = calloc(minLargeObjectSize, 2);
- ASSERT(ptr!=NULL && scalableMallocLargeBlock(ptr, minLargeObjectSize*2), NULL);
- ptr1 = realloc(ptr, minLargeObjectSize*10);
- ASSERT(ptr1!=NULL && scalableMallocLargeBlock(ptr1, minLargeObjectSize*10), NULL);
- free(ptr1);
-
-#if MALLOC_REPLACEMENT_AVAILABLE == 1
-
- int ret = posix_memalign(&ptr, 1024, 3*minLargeObjectSize);
- ASSERT(0==ret && ptr!=NULL && scalableMallocLargeBlock(ptr, 3*minLargeObjectSize), NULL);
- free(ptr);
-
- ptr = memalign(128, 4*minLargeObjectSize);
- ASSERT(ptr!=NULL && scalableMallocLargeBlock(ptr, 4*minLargeObjectSize), NULL);
- free(ptr);
-
- ptr = valloc(minLargeObjectSize);
- ASSERT(ptr!=NULL && scalableMallocLargeBlock(ptr, minLargeObjectSize), NULL);
- free(ptr);
-
- long memoryPageSize = sysconf(_SC_PAGESIZE);
- int sz = 1024*minLargeObjectSize;
- ptr = pvalloc(sz);
- ASSERT(ptr!=NULL && // align size up to the page size
- scalableMallocLargeBlock(ptr, ((sz-1) | (memoryPageSize-1)) + 1), NULL);
- free(ptr);
-
- struct mallinfo info = mallinfo();
- // right now mallinfo initialized by zero
- ASSERT(!info.arena && !info.ordblks && !info.smblks && !info.hblks
- && !info.hblkhd && !info.usmblks && !info.fsmblks
- && !info.uordblks && !info.fordblks && !info.keepcost, NULL);
-
-#elif MALLOC_REPLACEMENT_AVAILABLE == 2
-
- ptr = _aligned_malloc(minLargeObjectSize,16);
- ASSERT(ptr!=NULL && scalableMallocLargeBlock(ptr, minLargeObjectSize), NULL);
-
- ptr1 = _aligned_realloc(ptr, minLargeObjectSize*10,16);
- ASSERT(ptr1!=NULL && scalableMallocLargeBlock(ptr1, minLargeObjectSize*10), NULL);
- _aligned_free(ptr1);
-
-#endif
-
- BigStruct *f = new BigStruct;
- ASSERT(f!=NULL && scalableMallocLargeBlock(f, sizeof(BigStruct)), NULL);
- delete f;
-
- f = new BigStruct[10];
- ASSERT(f!=NULL && scalableMallocLargeBlock(f, 10*sizeof(BigStruct)), NULL);
- delete []f;
-
- f = new(std::nothrow) BigStruct;
- ASSERT(f!=NULL && scalableMallocLargeBlock(f, sizeof(BigStruct)), NULL);
- delete f;
-
- f = new(std::nothrow) BigStruct[2];
- ASSERT(f!=NULL && scalableMallocLargeBlock(f, 2*sizeof(BigStruct)), NULL);
- delete []f;
-
-#if _WIN32
- std::string stdstring = "done";
- const char* s = stdstring.c_str();
-#else
- const char* s = "done";
-#endif
- REPORT("%s\n", s);
- return 0;
-}
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-
-#else /* !MALLOC_REPLACEMENT_AVAILABLE */
-#include <stdio.h>
-
-int main(int , char *[]) {
- printf("skip\n");
-}
-#endif /* !MALLOC_REPLACEMENT_AVAILABLE */
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#ifdef __cplusplus
-#error For testing purpose, this file should be compiled with a C compiler, not C++
-#endif /*__cplusplus */
-
-#include "tbb/scalable_allocator.h"
-#include <stdio.h>
-#include <assert.h>
-
-/*
- * The test is to check if the scalable_allocator.h and its functions
- * can be used from pure C programs; also some regression checks are done
- */
-
-int main(void) {
- size_t i, j;
- void *p1, *p2;
- for( i=0; i<=1<<16; ++i) {
- p1 = scalable_malloc(i);
- if( !p1 )
- printf("Warning: there should be memory but scalable_malloc returned NULL\n");
- scalable_free(p1);
- }
- p1 = p2 = NULL;
- for( i=1024*1024; ; i/=2 )
- {
- scalable_free(p1);
- p1 = scalable_realloc(p2, i);
- p2 = scalable_calloc(i, 32);
- if (p2) {
- if (i<sizeof(size_t)) {
- for (j=0; j<i; j++)
- assert(0==*((char*)p2+j));
- } else {
- for (j=0; j<i; j+=sizeof(size_t))
- assert(0==*((size_t*)p2+j));
- }
- }
- scalable_free(p2);
- p2 = scalable_malloc(i);
- if (i==0) break;
- }
- for( i=1; i<1024*1024; i*=2 )
- {
- scalable_free(p1);
- p1 = scalable_realloc(p2, i);
- p2 = scalable_malloc(i);
- }
- scalable_free(p1);
- scalable_free(p2);
- printf("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-
-#include <stdio.h>
-#include "tbb/scalable_allocator.h"
-
-class minimalAllocFree {
-public:
- void operator()(int size) const {
- tbb::scalable_allocator<char> a;
- char* str = a.allocate( size );
- a.deallocate( str, size );
- }
-};
-
-#include "harness.h"
-
-template<typename Body, typename Arg>
-void RunThread(const Body& body, const Arg& arg) {
- NativeParallelForTask<Arg,Body> job(arg, body);
- job.start();
- job.wait_to_finish();
-}
-
-#include "harness_memory.h"
-
-// The regression test for bug #1518 where thread boot strap allocations "leaked"
-bool test_bootstrap_leak(void) {
- // Check whether memory usage data can be obtained; if not, skip the test.
- if( !GetMemoryUsage() )
- return true;
-
- /* In the bug 1518, each thread leaked ~384 bytes.
- Initially, scalable allocator maps 1MB. Thus it is necessary to take out most of this space.
- 1MB is chunked into 16K blocks; of those, one block is for thread boot strap, and one more
- should be reserved for the test body. 62 blocks left, each can serve 15 objects of 1024 bytes.
- */
- const int alloc_size = 1024;
- const int take_out_count = 15*62;
-
- tbb::scalable_allocator<char> a;
- char* array[take_out_count];
- for( int i=0; i<take_out_count; ++i )
- array[i] = a.allocate( alloc_size );
-
- RunThread( minimalAllocFree(), alloc_size ); // for threading library to take some memory
- size_t memory_in_use = GetMemoryUsage();
- // Wait for memory usage data to "stabilize". The test number (1000) has nothing underneath.
- for( int i=0; i<1000; i++) {
- if( GetMemoryUsage()!=memory_in_use ) {
- memory_in_use = GetMemoryUsage();
- i = -1;
- }
- }
-
- // Notice that 16K boot strap memory block is enough to serve 42 threads.
- const int num_thread_runs = 200;
- for( int i=0; i<num_thread_runs; ++i )
- RunThread( minimalAllocFree(), alloc_size );
-
- ptrdiff_t memory_leak = GetMemoryUsage() - memory_in_use;
- if( memory_leak>0 ) { // possibly too strong?
- REPORT( "Error: memory leak of up to %ld bytes\n", static_cast<long>(memory_leak));
- }
-
- for( int i=0; i<take_out_count; ++i )
- a.deallocate( array[i], alloc_size );
-
- return memory_leak<=0;
-}
-
-__TBB_TEST_EXPORT
-int main( int /*argc*/, char* argv[] ) {
- bool passed = true;
-
- passed &= test_bootstrap_leak();
-
- if(passed) REPORT("done\n");
- else REPORT("%s failed\n", argv[0]);
-
- return passed?0:1;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#if _WIN32 || _WIN64
-#include <windows.h>
-#else
-#include <dlfcn.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdexcept>
-#include "harness_report.h"
-
-#ifdef _USRDLL
-#include "tbb/task_scheduler_init.h"
-
-class CModel {
-public:
- CModel(void) {};
- static tbb::task_scheduler_init tbb_init;
-
- void init_and_terminate( int );
-};
-
-tbb::task_scheduler_init CModel::tbb_init(1);
-
-//! Test that task::initialize and task::terminate work when doing nothing else.
-/** maxthread is treated as the "maximum" number of worker threads. */
-void CModel::init_and_terminate( int maxthread ) {
- for( int i=0; i<200; ++i ) {
- switch( i&3 ) {
- default: {
- tbb::task_scheduler_init init( rand() % maxthread + 1 );
- break;
- }
- case 0: {
- tbb::task_scheduler_init init;
- break;
- }
- case 1: {
- tbb::task_scheduler_init init( tbb::task_scheduler_init::automatic );
- break;
- }
- case 2: {
- tbb::task_scheduler_init init( tbb::task_scheduler_init::deferred );
- init.initialize( rand() % maxthread + 1 );
- init.terminate();
- break;
- }
- }
- }
-}
-
-extern "C"
-#if _WIN32 || _WIN64
-__declspec(dllexport)
-#endif
-void plugin_call(int maxthread)
-{
- srand(2);
- try {
- CModel model;
- model.init_and_terminate(maxthread);
- } catch( std::runtime_error& error ) {
- REPORT("ERROR: %s\n", error.what());
- }
-}
-
-#else /* _USRDLL undefined */
-
-#define HARNESS_NO_ASSERT 1
-#include "harness.h"
-
-extern "C" void plugin_call(int);
-
-void report_error_in(const char* function_name)
-{
-#if _WIN32 || _WIN64
- char* message;
- int code = GetLastError();
-
- FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- NULL, code,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (char*)&message, 0, NULL );
-#else
- char* message = (char*)dlerror();
- int code = 0;
-#endif
- REPORT( "%s failed with error %d: %s\n", function_name, code, message);
-
-#if _WIN32 || _WIN64
- LocalFree(message);
-#endif
-}
-
-int use_lot_of_tls() {
- int count = 0;
-#if _WIN32 || _WIN64
- DWORD last_handles[10];
- DWORD result;
- result = TlsAlloc();
- while( result!=TLS_OUT_OF_INDEXES ) {
- last_handles[++count%10] = result;
- result = TlsAlloc();
- }
- for( int i=0; i<10; ++i )
- TlsFree(last_handles[i]);
-#else
- pthread_key_t last_handles[10];
- pthread_key_t result;
- int setspecific_dummy=10;
- while( pthread_key_create(&result, NULL)==0
- && count < 4096 ) // Sun Solaris doesn't have any built-in limit, so we set something big enough
- {
- last_handles[++count%10] = result;
- if(Verbose) REPORT("%d\n", count);
- pthread_setspecific(result,&setspecific_dummy);
- }
- for( int i=0; i<10; ++i )
- pthread_key_delete(last_handles[i]);
-#endif
- return count-10;
-}
-
-typedef void (*PLUGIN_CALL)(int);
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- ParseCommandLine( argc, argv );
-
- PLUGIN_CALL my_plugin_call;
-
- int tls_key_count = use_lot_of_tls();
- if( Verbose )
- REPORT("%d thread local objects allocated in advance\n", tls_key_count);
-
- for( int i=1; i<100; ++i ) {
-#if _WIN32 || _WIN64
- HMODULE hLib = LoadLibrary("test_model_plugin.dll");
- if (hLib==NULL){
-#if !__TBB_NO_IMPLICIT_LINKAGE
- report_error_in("LoadLibrary");
- return -1;
-#else
- REPORT("skip\n");
- return 0;
-#endif
- }
- my_plugin_call = (PLUGIN_CALL) GetProcAddress(hLib, "plugin_call");
- if (my_plugin_call==NULL) {
- report_error_in("GetProcAddress");
- return -1;
- }
-#else
-#if __APPLE__
- const char *dllname = "test_model_plugin.dylib";
-#else
- const char *dllname = "test_model_plugin.so";
-#endif
- void* hLib = dlopen( dllname, RTLD_LAZY );
- if (hLib==NULL){
-#if !__TBB_NO_IMPLICIT_LINKAGE
- report_error_in("dlopen");
- return -1;
-#else
- REPORT("skip\n");
- return 0;
-#endif
- }
- my_plugin_call = PLUGIN_CALL (dlsym(hLib, "plugin_call"));
- if (my_plugin_call==NULL) {
- report_error_in("dlsym");
- return -1;
- }
-#endif
-
- if( Verbose )
- REPORT("Iteration %d, calling plugin... ", i);
- my_plugin_call(MaxThread);
- if( Verbose )
- REPORT("succeeded\n");
-
-#if _WIN32 || _WIN64
- FreeLibrary(hLib);
-#else
- dlclose(hLib);
-#endif
- } // end for(1,100)
-
- REPORT("done\n");
- return 0;
-}
-
-#endif
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-//------------------------------------------------------------------------
-// Test TBB mutexes when used with parallel_for.h
-//
-// Usage: test_Mutex.exe [-v] nthread
-//
-// The -v option causes timing information to be printed.
-//
-// Compile with _OPENMP and -openmp
-//------------------------------------------------------------------------
-#include "tbb/spin_mutex.h"
-#include "tbb/spin_rw_mutex.h"
-#include "tbb/queuing_rw_mutex.h"
-#include "tbb/queuing_mutex.h"
-#include "tbb/mutex.h"
-#include "tbb/recursive_mutex.h"
-#include "tbb/null_mutex.h"
-#include "tbb/null_rw_mutex.h"
-#include "tbb/parallel_for.h"
-#include "tbb/blocked_range.h"
-#include "tbb/tick_count.h"
-#include "tbb/atomic.h"
-#include "harness.h"
-#include <cstdlib>
-#include <cstdio>
-#if _OPENMP
-#include "test/OpenMP_Mutex.h"
-#endif /* _OPENMP */
-#include "tbb/tbb_profiling.h"
-
-#ifndef TBBTEST_LOW_WORKLOAD
- #define TBBTEST_LOW_WORKLOAD TBB_USE_THREADING_TOOLS
-#endif
-
-// This test deliberately avoids a "using tbb" statement,
-// so that the error of putting types in the wrong namespace will be caught.
-
-template<typename M>
-struct Counter {
- typedef M mutex_type;
- M mutex;
- volatile long value;
-};
-
-//! Function object for use with parallel_for.h.
-template<typename C>
-struct AddOne: NoAssign {
- C& counter;
- /** Increments counter once for each iteration in the iteration space. */
- void operator()( tbb::blocked_range<size_t>& range ) const {
- for( size_t i=range.begin(); i!=range.end(); ++i ) {
- if( i&1 ) {
- // Try implicit acquire and explicit release
- typename C::mutex_type::scoped_lock lock(counter.mutex);
- counter.value = counter.value+1;
- lock.release();
- } else {
- // Try explicit acquire and implicit release
- typename C::mutex_type::scoped_lock lock;
- lock.acquire(counter.mutex);
- counter.value = counter.value+1;
- }
- }
- }
- AddOne( C& counter_ ) : counter(counter_) {}
-};
-
-//! Adaptor for using ISO C++0x style mutex as a TBB-style mutex.
-template<typename M>
-class TBB_MutexFromISO_Mutex {
- M my_iso_mutex;
-public:
- typedef TBB_MutexFromISO_Mutex mutex_type;
-
- class scoped_lock;
- friend class scoped_lock;
-
- class scoped_lock {
- mutex_type* my_mutex;
- public:
- scoped_lock() : my_mutex(NULL) {}
- scoped_lock( mutex_type& m ) : my_mutex(NULL) {
- acquire(m);
- }
- scoped_lock( mutex_type& m, bool is_writer ) : my_mutex(NULL) {
- acquire(m,is_writer);
- }
- void acquire( mutex_type& m ) {
- m.my_iso_mutex.lock();
- my_mutex = &m;
- }
- bool try_acquire( mutex_type& m ) {
- if( m.my_iso_mutex.try_lock() ) {
- my_mutex = &m;
- return true;
- } else {
- return false;
- }
- }
- void release() {
- my_mutex->my_iso_mutex.unlock();
- my_mutex = NULL;
- }
-
- // Methods for reader-writer mutex
- // These methods can be instantiated only if M supports lock_read() and try_lock_read().
-
- void acquire( mutex_type& m, bool is_writer ) {
- if( is_writer ) m.my_iso_mutex.lock();
- else m.my_iso_mutex.lock_read();
- my_mutex = &m;
- }
- bool try_acquire( mutex_type& m, bool is_writer ) {
- if( is_writer ? m.my_iso_mutex.try_lock() : m.my_iso_mutex.try_lock_read() ) {
- my_mutex = &m;
- return true;
- } else {
- return false;
- }
- }
- bool upgrade_to_writer() {
- my_mutex->my_iso_mutex.unlock();
- my_mutex->my_iso_mutex.lock();
- return false;
- }
- bool downgrade_to_reader() {
- my_mutex->my_iso_mutex.unlock();
- my_mutex->my_iso_mutex.lock_read();
- return false;
- }
- ~scoped_lock() {
- if( my_mutex )
- release();
- }
- };
-
- static const bool is_recursive_mutex = M::is_recursive_mutex;
- static const bool is_rw_mutex = M::is_rw_mutex;
-};
-
-namespace tbb {
- namespace profiling {
- template<typename M>
- void set_name( const TBB_MutexFromISO_Mutex<M>&, const char* ) {}
- }
-}
-
-//! Generic test of a TBB mutex type M.
-/** Does not test features specific to reader-writer locks. */
-template<typename M>
-void Test( const char * name ) {
- REMARK("%s time = ",name);
- Counter<M> counter;
- counter.value = 0;
- tbb::profiling::set_name(counter.mutex, name);
-#if TBBTEST_LOW_WORKLOAD
- const int n = 10000;
-#else
- const int n = 100000;
-#endif /* TBBTEST_LOW_WORKLOAD */
- tbb::tick_count t0 = tbb::tick_count::now();
- tbb::parallel_for(tbb::blocked_range<size_t>(0,n,n/10),AddOne<Counter<M> >(counter));
- tbb::tick_count t1 = tbb::tick_count::now();
- REMARK("%g usec\n",(t1-t0).seconds());
- if( counter.value!=n )
- REPORT("ERROR for %s: counter.value=%ld\n",name,counter.value);
-}
-
-template<typename M, size_t N>
-struct Invariant {
- typedef M mutex_type;
- M mutex;
- const char* mutex_name;
- volatile long value[N];
- volatile long single_value;
- Invariant( const char* mutex_name_ ) :
- mutex_name(mutex_name_)
- {
- single_value = 0;
- for( size_t k=0; k<N; ++k )
- value[k] = 0;
- tbb::profiling::set_name(mutex, mutex_name_);
- }
- void update() {
- for( size_t k=0; k<N; ++k )
- ++value[k];
- }
- bool value_is( long expected_value ) const {
- long tmp;
- for( size_t k=0; k<N; ++k )
- if( (tmp=value[k])!=expected_value ) {
- REPORT("ERROR: %ld!=%ld\n", tmp, expected_value);
- return false;
- }
- return true;
- }
- bool is_okay() {
- return value_is( value[0] );
- }
-};
-
-//! Function object for use with parallel_for.h.
-template<typename I>
-struct TwiddleInvariant: NoAssign {
- I& invariant;
- /** Increments counter once for each iteration in the iteration space. */
- void operator()( tbb::blocked_range<size_t>& range ) const {
- for( size_t i=range.begin(); i!=range.end(); ++i ) {
- //! Every 8th access is a write access
- bool write = (i%8)==7;
- bool okay = true;
- bool lock_kept = true;
- if( (i/8)&1 ) {
- // Try implicit acquire and explicit release
- typename I::mutex_type::scoped_lock lock(invariant.mutex,write);
- if( write ) {
- long my_value = invariant.value[0];
- invariant.update();
- if( i%16==7 ) {
- lock_kept = lock.downgrade_to_reader();
- if( !lock_kept )
- my_value = invariant.value[0] - 1;
- okay = invariant.value_is(my_value+1);
- }
- } else {
- okay = invariant.is_okay();
- if( i%8==3 ) {
- long my_value = invariant.value[0];
- lock_kept = lock.upgrade_to_writer();
- if( !lock_kept )
- my_value = invariant.value[0];
- invariant.update();
- okay = invariant.value_is(my_value+1);
- }
- }
- lock.release();
- } else {
- // Try explicit acquire and implicit release
- typename I::mutex_type::scoped_lock lock;
- lock.acquire(invariant.mutex,write);
- if( write ) {
- long my_value = invariant.value[0];
- invariant.update();
- if( i%16==7 ) {
- lock_kept = lock.downgrade_to_reader();
- if( !lock_kept )
- my_value = invariant.value[0] - 1;
- okay = invariant.value_is(my_value+1);
- }
- } else {
- okay = invariant.is_okay();
- if( i%8==3 ) {
- long my_value = invariant.value[0];
- lock_kept = lock.upgrade_to_writer();
- if( !lock_kept )
- my_value = invariant.value[0];
- invariant.update();
- okay = invariant.value_is(my_value+1);
- }
- }
- }
- if( !okay ) {
- REPORT( "ERROR for %s at %ld: %s %s %s %s\n",invariant.mutex_name, long(i),
- write?"write,":"read,", write?(i%16==7?"downgrade,":""):(i%8==3?"upgrade,":""),
- lock_kept?"lock kept,":"lock not kept,", (i/8)&1?"imp/exp":"exp/imp" );
- }
- }
- }
- TwiddleInvariant( I& invariant_ ) : invariant(invariant_) {}
-};
-
-/** This test is generic so that we can test any other kinds of ReaderWriter locks we write later. */
-template<typename M>
-void TestReaderWriterLock( const char * mutex_name ) {
- REMARK( "%s readers & writers time = ", mutex_name );
- Invariant<M,8> invariant(mutex_name);
-#if TBBTEST_LOW_WORKLOAD
- const size_t n = 10000;
-#else
- const size_t n = 500000;
-#endif /* TBBTEST_LOW_WORKLOAD */
- tbb::tick_count t0 = tbb::tick_count::now();
- tbb::parallel_for(tbb::blocked_range<size_t>(0,n,n/100),TwiddleInvariant<Invariant<M,8> >(invariant));
- tbb::tick_count t1 = tbb::tick_count::now();
- // There is either a writer or a reader upgraded to a writer for each 4th iteration
- long expected_value = n/4;
- if( !invariant.value_is(expected_value) )
- REPORT("ERROR for %s: final invariant value is wrong\n",mutex_name);
- REMARK( "%g usec\n", (t1-t0).seconds() );
-}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // Suppress "conditional expression is constant" warning.
- #pragma warning( push )
- #pragma warning( disable: 4127 )
-#endif
-
-/** Test try_acquire_reader functionality of a non-reenterable reader-writer mutex */
-template<typename M>
-void TestTryAcquireReader_OneThread( const char * mutex_name ) {
- M tested_mutex;
- typename M::scoped_lock lock1;
- if( M::is_rw_mutex ) {
- if( lock1.try_acquire(tested_mutex, false) )
- lock1.release();
- else
- REPORT("ERROR for %s: try_acquire failed though it should not\n", mutex_name);
- {
- typename M::scoped_lock lock2(tested_mutex, false);
- if( lock1.try_acquire(tested_mutex) )
- REPORT("ERROR for %s: try_acquire succeeded though it should not\n", mutex_name);
- lock2.release();
- lock2.acquire(tested_mutex, true);
- if( lock1.try_acquire(tested_mutex, false) )
- REPORT("ERROR for %s: try_acquire succeeded though it should not\n", mutex_name);
- }
- if( lock1.try_acquire(tested_mutex, false) )
- lock1.release();
- else
- REPORT("ERROR for %s: try_acquire failed though it should not\n", mutex_name);
- }
-}
-
-/** Test try_acquire functionality of a non-reenterable mutex */
-template<typename M>
-void TestTryAcquire_OneThread( const char * mutex_name ) {
- M tested_mutex;
- typename M::scoped_lock lock1;
- if( lock1.try_acquire(tested_mutex) )
- lock1.release();
- else
- REPORT("ERROR for %s: try_acquire failed though it should not\n", mutex_name);
- {
- if( M::is_recursive_mutex ) {
- typename M::scoped_lock lock2(tested_mutex);
- if( lock1.try_acquire(tested_mutex) )
- lock1.release();
- else
- REPORT("ERROR for %s: try_acquire on recursive lock failed though it should not\n", mutex_name);
- //windows.. -- both are recursive
- } else {
- typename M::scoped_lock lock2(tested_mutex);
- if( lock1.try_acquire(tested_mutex) )
- REPORT("ERROR for %s: try_acquire succeeded though it should not\n", mutex_name);
- }
- }
- if( lock1.try_acquire(tested_mutex) )
- lock1.release();
- else
- REPORT("ERROR for %s: try_acquire failed though it should not\n", mutex_name);
-}
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif
-
-const int RecurN = 4;
-int RecurArray[ RecurN ];
-tbb::recursive_mutex RecurMutex[ RecurN ];
-
-struct RecursiveAcquisition {
- /** x = number being decoded in base N
- max_lock = index of highest lock acquired so far
- mask = bit mask; ith bit set if lock i has been acquired. */
- void Body( size_t x, int max_lock=-1, unsigned int mask=0 ) const
- {
- int i = (int) (x % RecurN);
- bool first = (mask&1U<<i)==0;
- if( first ) {
- // first time to acquire lock
- if( i<max_lock )
- // out of order acquisition might lead to deadlock, so stop
- return;
- max_lock = i;
- }
-
- if( (i&1)!=0 ) {
- // acquire lock on location RecurArray[i] using explict acquire
- tbb::recursive_mutex::scoped_lock r_lock;
- r_lock.acquire( RecurMutex[i] );
- int a = RecurArray[i];
- ASSERT( (a==0)==first, "should be either a==0 if it is the first time to acquire the lock or a!=0 otherwise" );
- ++RecurArray[i];
- if( x )
- Body( x/RecurN, max_lock, mask|1U<<i );
- --RecurArray[i];
- ASSERT( a==RecurArray[i], "a is not equal to RecurArray[i]" );
-
- // release lock on location RecurArray[i] using explicit release; otherwise, use implicit one
- if( (i&2)!=0 ) r_lock.release();
- } else {
- // acquire lock on location RecurArray[i] using implicit acquire
- tbb::recursive_mutex::scoped_lock r_lock( RecurMutex[i] );
- int a = RecurArray[i];
-
- ASSERT( (a==0)==first, "should be either a==0 if it is the first time to acquire the lock or a!=0 otherwise" );
-
- ++RecurArray[i];
- if( x )
- Body( x/RecurN, max_lock, mask|1U<<i );
- --RecurArray[i];
-
- ASSERT( a==RecurArray[i], "a is not equal to RecurArray[i]" );
-
- // release lock on location RecurArray[i] using explicit release; otherwise, use implicit one
- if( (i&2)!=0 ) r_lock.release();
- }
- }
-
- void operator()( const tbb::blocked_range<size_t> &r ) const
- {
- for( size_t x=r.begin(); x<r.end(); x++ ) {
- Body( x );
- }
- }
-};
-
-/** This test is generic so that we may test other kinds of recursive mutexes.*/
-template<typename M>
-void TestRecursiveMutex( const char * mutex_name )
-{
- for ( int i = 0; i < RecurN; ++i ) {
- tbb::profiling::set_name(RecurMutex[i], mutex_name);
- }
- tbb::tick_count t0 = tbb::tick_count::now();
- tbb::parallel_for(tbb::blocked_range<size_t>(0,10000,500), RecursiveAcquisition());
- tbb::tick_count t1 = tbb::tick_count::now();
- REMARK( "%s recursive mutex time = %g usec\n", mutex_name, (t1-t0).seconds() );
-}
-
-template<typename C>
-struct NullRecursive: NoAssign {
- void recurse_till( size_t i, size_t till ) const {
- if( i==till ) {
- counter.value = counter.value+1;
- return;
- }
- if( i&1 ) {
- typename C::mutex_type::scoped_lock lock2(counter.mutex);
- recurse_till( i+1, till );
- lock2.release();
- } else {
- typename C::mutex_type::scoped_lock lock2;
- lock2.acquire(counter.mutex);
- recurse_till( i+1, till );
- }
- }
-
- void operator()( tbb::blocked_range<size_t>& range ) const {
- typename C::mutex_type::scoped_lock lock(counter.mutex);
- recurse_till( range.begin(), range.end() );
- }
- NullRecursive( C& counter_ ) : counter(counter_) {
- ASSERT( C::mutex_type::is_recursive_mutex, "Null mutex should be a recursive mutex." );
- }
- C& counter;
-};
-
-template<typename M>
-struct NullUpgradeDowngrade: NoAssign {
- void operator()( tbb::blocked_range<size_t>& range ) const {
- typename M::scoped_lock lock2;
- for( size_t i=range.begin(); i!=range.end(); ++i ) {
- if( i&1 ) {
- typename M::scoped_lock lock1(my_mutex, true) ;
- if( lock1.downgrade_to_reader()==false )
- REPORT("ERROR for %s: downgrade should always succeed\n", name);
- } else {
- lock2.acquire( my_mutex, false );
- if( lock2.upgrade_to_writer()==false )
- REPORT("ERROR for %s: upgrade should always succeed\n", name);
- lock2.release();
- }
- }
- }
-
- NullUpgradeDowngrade( M& m_, const char* n_ ) : my_mutex(m_), name(n_) {}
- M& my_mutex;
- const char* name;
-} ;
-
-template<typename M>
-void TestNullMutex( const char * name ) {
- Counter<M> counter;
- counter.value = 0;
- const int n = 100;
- if( Verbose ) REPORT("%s ",name);
- {
- tbb::parallel_for(tbb::blocked_range<size_t>(0,n,10),AddOne<Counter<M> >(counter));
- }
- counter.value = 0;
- {
- tbb::parallel_for(tbb::blocked_range<size_t>(0,n,10),NullRecursive<Counter<M> >(counter));
- }
-
-}
-
-template<typename M>
-void TestNullRWMutex( const char * name ) {
- if( Verbose ) REPORT("%s ",name);
- const int n = 100;
- M m;
- tbb::parallel_for(tbb::blocked_range<size_t>(0,n,10),NullUpgradeDowngrade<M>(m, name));
-}
-
-//! Test ISO C++0x compatibility portion of TBB mutex
-template<typename M>
-void TestISO( const char * name ) {
- typedef TBB_MutexFromISO_Mutex<M> tbb_from_iso;
- Test<tbb_from_iso>( name );
-}
-
-//! Test ISO C++0x try_lock functionality of a non-reenterable mutex */
-template<typename M>
-void TestTryAcquire_OneThreadISO( const char * name ) {
- typedef TBB_MutexFromISO_Mutex<M> tbb_from_iso;
- TestTryAcquire_OneThread<tbb_from_iso>( name );
-}
-
-//! Test ISO-like C++0x compatibility portion of TBB reader-writer mutex
-template<typename M>
-void TestReaderWriterLockISO( const char * name ) {
- typedef TBB_MutexFromISO_Mutex<M> tbb_from_iso;
- TestReaderWriterLock<tbb_from_iso>( name );
- TestTryAcquireReader_OneThread<tbb_from_iso>( name );
-}
-
-//! Test ISO C++0x compatibility portion of TBB recursive mutex
-template<typename M>
-void TestRecursiveMutexISO( const char * name ) {
- typedef TBB_MutexFromISO_Mutex<M> tbb_from_iso;
- TestRecursiveMutex<tbb_from_iso>(name);
-}
-
-#include "tbb/task_scheduler_init.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char * argv[] ) {
- // Default is to run on two threads
- MinThread = MaxThread = 2;
- ParseCommandLine( argc, argv );
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init( p );
- REMARK( "testing with %d workers\n", static_cast<int>(p) );
-#if TBBTEST_LOW_WORKLOAD
- // The amount of work is decreased in this mode to bring the length
- // of the runs under tools into the tolerable limits.
- const int n = 1;
-#else
- const int n = 3;
-#endif
- // Run each test several times.
- for( int i=0; i<n; ++i ) {
- TestNullMutex<tbb::null_mutex>( "Null Mutex" );
- TestNullMutex<tbb::null_rw_mutex>( "Null RW Mutex" );
- TestNullRWMutex<tbb::null_rw_mutex>( "Null RW Mutex" );
- Test<tbb::spin_mutex>( "Spin Mutex" );
-#if _OPENMP
- Test<OpenMP_Mutex>( "OpenMP_Mutex" );
-#endif /* _OPENMP */
- Test<tbb::queuing_mutex>( "Queuing Mutex" );
- Test<tbb::mutex>( "Wrapper Mutex" );
- Test<tbb::recursive_mutex>( "Recursive Mutex" );
- Test<tbb::queuing_rw_mutex>( "Queuing RW Mutex" );
- Test<tbb::spin_rw_mutex>( "Spin RW Mutex" );
-
- TestTryAcquire_OneThread<tbb::spin_mutex>("Spin Mutex");
- TestTryAcquire_OneThread<tbb::queuing_mutex>("Queuing Mutex");
-#if USE_PTHREAD
- // under ifdef because on Windows tbb::mutex is reenterable and the test will fail
- TestTryAcquire_OneThread<tbb::mutex>("Wrapper Mutex");
-#endif /* USE_PTHREAD */
- TestTryAcquire_OneThread<tbb::recursive_mutex>( "Recursive Mutex" );
- TestTryAcquire_OneThread<tbb::spin_rw_mutex>("Spin RW Mutex"); // only tests try_acquire for writers
- TestTryAcquire_OneThread<tbb::queuing_rw_mutex>("Queuing RW Mutex"); // only tests try_acquire for writers
- TestTryAcquireReader_OneThread<tbb::spin_rw_mutex>("Spin RW Mutex");
- TestTryAcquireReader_OneThread<tbb::queuing_rw_mutex>("Queuing RW Mutex");
-
- TestReaderWriterLock<tbb::queuing_rw_mutex>( "Queuing RW Mutex" );
- TestReaderWriterLock<tbb::spin_rw_mutex>( "Spin RW Mutex" );
-
- TestRecursiveMutex<tbb::recursive_mutex>( "Recursive Mutex" );
-
- // Test ISO C++0x interface
- TestISO<tbb::spin_mutex>( "ISO Spin Mutex" );
- TestISO<tbb::mutex>( "ISO Mutex" );
- TestISO<tbb::spin_rw_mutex>( "ISO Spin RW Mutex" );
- TestISO<tbb::recursive_mutex>( "ISO Recursive Mutex" );
- TestTryAcquire_OneThreadISO<tbb::spin_mutex>( "ISO Spin Mutex" );
-#if USE_PTHREAD
- // under ifdef because on Windows tbb::mutex is reenterable and the test will fail
- TestTryAcquire_OneThreadISO<tbb::mutex>( "ISO Mutex" );
-#endif /* USE_PTHREAD */
- TestTryAcquire_OneThreadISO<tbb::spin_rw_mutex>( "ISO Spin RW Mutex" );
- TestTryAcquire_OneThreadISO<tbb::recursive_mutex>( "ISO Recursive Mutex" );
- TestReaderWriterLockISO<tbb::spin_rw_mutex>( "ISO Spin RW Mutex" );
- TestRecursiveMutexISO<tbb::recursive_mutex>( "ISO Recursive Mutex" );
- }
- REMARK( "calling destructor for task_scheduler_init\n" );
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/spin_mutex.h"
-#include "tbb/queuing_mutex.h"
-#include "tbb/queuing_rw_mutex.h"
-#include "tbb/spin_rw_mutex.h"
-#include "tbb/tick_count.h"
-#include "tbb/atomic.h"
-
-#include "harness.h"
-
-// This test deliberately avoids a "using tbb" statement,
-// so that the error of putting types in the wrong namespace will be caught.
-
-template<typename M>
-struct Counter {
- typedef M mutex_type;
- M mutex;
- volatile long value;
- void flog_once( size_t mode );
-};
-
-template<typename M>
-void Counter<M>::flog_once(size_t mode)
-/** Increments counter once for each iteration in the iteration space. */
-{
- if( mode&1 ) {
- // Try implicit acquire and explicit release
- typename mutex_type::scoped_lock lock(mutex);
- value = value+1;
- lock.release();
- } else {
- // Try explicit acquire and implicit release
- typename mutex_type::scoped_lock lock;
- lock.acquire(mutex);
- value = value+1;
- }
-}
-
-template<typename M, long N>
-struct Invariant {
- typedef M mutex_type;
- M mutex;
- const char* mutex_name;
- volatile long value[N];
- volatile long single_value;
- Invariant( const char* mutex_name_ ) :
- mutex_name(mutex_name_)
- {
- single_value = 0;
- for( long k=0; k<N; ++k )
- value[k] = 0;
- }
- void update() {
- for( long k=0; k<N; ++k )
- ++value[k];
- }
- bool value_is( long expected_value ) const {
- long tmp;
- for( long k=0; k<N; ++k )
- if( (tmp=value[k])!=expected_value ) {
- REPORT("ERROR: %ld!=%ld\n", tmp, expected_value);
- return false;
- }
- return true;
- }
- bool is_okay() {
- return value_is( value[0] );
- }
- void flog_once( size_t mode );
-};
-
-template<typename M, long N>
-void Invariant<M,N>::flog_once( size_t mode )
-{
- //! Every 8th access is a write access
- bool write = (mode%8)==7;
- bool okay = true;
- bool lock_kept = true;
- if( (mode/8)&1 ) {
- // Try implicit acquire and explicit release
- typename mutex_type::scoped_lock lock(mutex,write);
- if( write ) {
- long my_value = value[0];
- update();
- if( mode%16==7 ) {
- lock_kept = lock.downgrade_to_reader();
- if( !lock_kept )
- my_value = value[0] - 1;
- okay = value_is(my_value+1);
- }
- } else {
- okay = is_okay();
- if( mode%8==3 ) {
- long my_value = value[0];
- lock_kept = lock.upgrade_to_writer();
- if( !lock_kept )
- my_value = value[0];
- update();
- okay = value_is(my_value+1);
- }
- }
- lock.release();
- } else {
- // Try explicit acquire and implicit release
- typename mutex_type::scoped_lock lock;
- lock.acquire(mutex,write);
- if( write ) {
- long my_value = value[0];
- update();
- if( mode%16==7 ) {
- lock_kept = lock.downgrade_to_reader();
- if( !lock_kept )
- my_value = value[0] - 1;
- okay = value_is(my_value+1);
- }
- } else {
- okay = is_okay();
- if( mode%8==3 ) {
- long my_value = value[0];
- lock_kept = lock.upgrade_to_writer();
- if( !lock_kept )
- my_value = value[0];
- update();
- okay = value_is(my_value+1);
- }
- }
- }
- if( !okay ) {
- REPORT( "ERROR for %s at %ld: %s %s %s %s\n",mutex_name, long(mode),
- write?"write,":"read,", write?(mode%16==7?"downgrade,":""):(mode%8==3?"upgrade,":""),
- lock_kept?"lock kept,":"lock not kept,", (mode/8)&1?"imp/exp":"exp/imp" );
- }
-}
-
-static tbb::atomic<size_t> Order;
-
-template<typename State, long TestSize>
-struct Work: NoAssign {
- static const size_t chunk = 100;
- State& state;
- Work( State& state_ ) : state(state_) {}
- void operator()( int ) const {
- size_t step;
- while( (step=Order.fetch_and_add<tbb::acquire>(chunk))<TestSize )
- for( size_t i=0; i<chunk && step<TestSize; ++i, ++step )
- state.flog_once(step);
- }
-};
-
-//! Generic test of a TBB Mutex type M.
-/** Does not test features specific to reader-writer locks. */
-template<typename M>
-void Test( const char * name, int nthread ) {
- if( Verbose )
- REPORT("testing %s\n",name);
- Counter<M> counter;
- counter.value = 0;
- Order = 0;
- const long test_size = 100000;
- tbb::tick_count t0 = tbb::tick_count::now();
- NativeParallelFor( nthread, Work<Counter<M>, test_size>(counter) );
- tbb::tick_count t1 = tbb::tick_count::now();
-
- if( Verbose )
- REPORT("%s time = %g usec\n",name, (t1-t0).seconds() );
- if( counter.value!=test_size )
- REPORT("ERROR for %s: counter.value=%ld != %ld=test_size\n",name,counter.value,test_size);
-}
-
-
-//! Generic test of TBB ReaderWriterMutex type M
-template<typename M>
-void TestReaderWriter( const char * mutex_name, int nthread ) {
- if( Verbose )
- REPORT("testing %s\n",mutex_name);
- Invariant<M,8> invariant(mutex_name);
- Order = 0;
- static const long test_size = 1000000;
- tbb::tick_count t0 = tbb::tick_count::now();
- NativeParallelFor( nthread, Work<Invariant<M,8>, test_size>(invariant) );
- tbb::tick_count t1 = tbb::tick_count::now();
- // There is either a writer or a reader upgraded to a writer for each 4th iteration
- long expected_value = test_size/4;
- if( !invariant.value_is(expected_value) )
- REPORT("ERROR for %s: final invariant value is wrong\n",mutex_name);
- if( Verbose )
- REPORT("%s readers & writers time = %g usec\n",mutex_name,(t1-t0).seconds());
-}
-
-__TBB_TEST_EXPORT
-int main( int argc, char * argv[] ) {
- ParseCommandLine( argc, argv );
- for( int p=MinThread; p<=MaxThread; ++p ) {
- if( Verbose )
- REPORT( "testing with %d threads\n", p );
- Test<tbb::spin_mutex>( "spin_mutex", p );
- Test<tbb::queuing_mutex>( "queuing_mutex", p );
- Test<tbb::queuing_rw_mutex>( "queuing_rw_mutex", p );
- Test<tbb::spin_rw_mutex>( "spin_rw_mutex", p );
- TestReaderWriter<tbb::queuing_rw_mutex>( "queuing_rw_mutex", p );
- TestReaderWriter<tbb::spin_rw_mutex>( "spin_rw_mutex", p );
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Test mixing OpenMP and TBB
-
-/* SCR #471
- Bellow is workaround to compile test within enviroment of Intel Compiler
- but by Microsoft Compiler. So, there is wrong "omp.h" file included and
- manifest section is missed from .exe file - restoring here.
- */
-#if !defined(__INTEL_COMPILER) && _MSC_VER >= 1400
- #include <crtassem.h>
- #if !defined(_OPENMP)
- #define _OPENMP
- #if defined(_DEBUG)
- #pragma comment(lib, "vcompd")
- #else // _DEBUG
- #pragma comment(lib, "vcomp")
- #endif // _DEBUG
- #endif // _OPENMP
-
- #if defined(_DEBUG)
- #if defined(_M_IX86)
- #pragma comment(linker,"/manifestdependency:\"type='win32' " \
- "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".DebugOpenMP' " \
- "version='" _CRT_ASSEMBLY_VERSION "' " \
- "processorArchitecture='x86' " \
- "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
- #elif defined(_M_AMD64)
- #pragma comment(linker,"/manifestdependency:\"type='win32' " \
- "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".DebugOpenMP' " \
- "version='" _CRT_ASSEMBLY_VERSION "' " \
- "processorArchitecture='amd64' " \
- "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
- #elif defined(_M_IA64)
- #pragma comment(linker,"/manifestdependency:\"type='win32' " \
- "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".DebugOpenMP' " \
- "version='" _CRT_ASSEMBLY_VERSION "' " \
- "processorArchitecture='ia64' " \
- "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
- #endif
- #else // _DEBUG
- #if defined(_M_IX86)
- #pragma comment(linker,"/manifestdependency:\"type='win32' " \
- "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".OpenMP' " \
- "version='" _CRT_ASSEMBLY_VERSION "' " \
- "processorArchitecture='x86' " \
- "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
- #elif defined(_M_AMD64)
- #pragma comment(linker,"/manifestdependency:\"type='win32' " \
- "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".OpenMP' " \
- "version='" _CRT_ASSEMBLY_VERSION "' " \
- "processorArchitecture='amd64' " \
- "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
- #elif defined(_M_IA64)
- #pragma comment(linker,"/manifestdependency:\"type='win32' " \
- "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".OpenMP' " \
- "version='" _CRT_ASSEMBLY_VERSION "' " \
- "processorArchitecture='ia64' " \
- "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
- #endif
- #endif // _DEBUG
- #define _OPENMP_NOFORCE_MANIFEST
-#endif
-
-#include <omp.h>
-
-
-typedef short T;
-
-void SerialConvolve( T c[], const T a[], int m, const T b[], int n ) {
- for( int i=0; i<m+n-1; ++i ) {
- int start = i<n ? 0 : i-n+1;
- int finish = i<m ? i+1 : m;
- T sum = 0;
- for( int j=start; j<finish; ++j )
- sum += a[j]*b[i-j];
- c[i] = sum;
- }
-}
-
-#include "tbb/blocked_range.h"
-#include "tbb/parallel_for.h"
-#include "tbb/parallel_reduce.h"
-#include "tbb/task_scheduler_init.h"
-#include "harness.h"
-
-using namespace tbb;
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // Suppress overzealous warning about short+=short
- #pragma warning( push )
- #pragma warning( disable: 4244 )
-#endif
-
-class InnerBody: NoAssign {
- const T* my_a;
- const T* my_b;
- const int i;
-public:
- T sum;
- InnerBody( T /*c*/[], const T a[], const T b[], int i ) :
- my_a(a), my_b(b), sum(0), i(i)
- {}
- InnerBody( InnerBody& x, split ) :
- my_a(x.my_a), my_b(x.my_b), sum(0), i(x.i)
- {
- }
- void join( InnerBody& x ) {sum += x.sum;}
- void operator()( const blocked_range<int>& range ) {
- for( int j=range.begin(); j!=range.end(); ++j )
- sum += my_a[j]*my_b[i-j];
- }
-};
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif
-
-//! Test OpenMMP loop around TBB loop
-void OpenMP_TBB_Convolve( T c[], const T a[], int m, const T b[], int n ) {
- if( Verbose )
- REPORT("testing OpenMP loop around TBB loop\n");
-#pragma omp parallel
- {
- task_scheduler_init init;
-#pragma omp for
- for( int i=0; i<m+n-1; ++i ) {
- int start = i<n ? 0 : i-n+1;
- int finish = i<m ? i+1 : m;
- InnerBody body(c,a,b,i);
- parallel_reduce( blocked_range<int>(start,finish,10), body );
- c[i] = body.sum;
- }
- }
-}
-
-class OuterBody: NoAssign {
- const T* my_a;
- const T* my_b;
- T* my_c;
- const int m;
- const int n;
-public:
- T sum;
- OuterBody( T c[], const T a[], int m_, const T b[], int n_ ) :
- my_c(c), my_a(a), my_b(b), m(m_), n(n_)
- {}
- void operator()( const blocked_range<int>& range ) const {
- for( int i=range.begin(); i!=range.end(); ++i ) {
- int start = i<n ? 0 : i-n+1;
- int finish = i<m ? i+1 : m;
- T sum = 0;
-#pragma omp parallel for reduction(+:sum)
- for( int j=start; j<finish; ++j )
- sum += my_a[j]*my_b[i-j];
- my_c[i] = sum;
- }
- }
-};
-
-//! Test TBB loop around OpenMP loop
-void TBB_OpenMP_Convolve( T c[], const T a[], int m, const T b[], int n ) {
- if( Verbose )
- REPORT("testing TBB loop around OpenMP loop\n");
- parallel_for( blocked_range<int>(0,m+n-1,10), OuterBody( c, a, m, b, n ) );
-}
-
-#include <stdio.h>
-
-const int M = 17*17;
-const int N = 13*13;
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
-#ifdef _PGO_INSTRUMENT
- REPORT("Warning: test_openmp.exe has problems if compiled with -prof-genx; skipping\n");
- return 0;
-#endif
- ParseCommandLine(argc,argv);
- MinThread = 1;
- for( int p=MinThread; p<=MaxThread; ++p ) {
- T a[M];
- T b[N];
- for( int m=1; m<=M; m*=17 ) {
- for( int n=1; n<=M; n*=13 ) {
- for( int i=0; i<m; ++i ) a[i] = T(1+i/5);
- for( int i=0; i<n; ++i ) b[i] = T(1+i/7);
- T expected[M+N];
- SerialConvolve( expected, a, m, b, n );
- task_scheduler_init init(p);
- T actual[M+N];
- for( int k = 0; k<2; ++k ) {
- memset( actual, -1, sizeof(actual) );
- switch(k) {
- case 0:
- TBB_OpenMP_Convolve( actual, a, m, b, n );
- break;
- case 1:
- OpenMP_TBB_Convolve( actual, a, m, b, n );
- break;
- }
- for( int i=0; i<m+n-1; ++i ) {
- ASSERT( actual[i]==expected[i], NULL );
- }
- }
- }
- }
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/parallel_do.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/atomic.h"
-#include "harness.h"
-#include "harness_cpu.h"
-
-#if defined(_MSC_VER) && defined(_Wp64)
- // Workaround for overzealous compiler warnings in /Wp64 mode
- #pragma warning (disable: 4267)
-#endif /* _MSC_VER && _Wp64 */
-
-#define N_DEPTHS 20
-
-static tbb::atomic<int> g_values_counter;
-
-class value_t {
- size_t x;
- value_t& operator= ( const value_t& );
-public:
- value_t ( size_t xx ) : x(xx) { ++g_values_counter; }
- value_t ( const value_t& v ) : x(v.value()) { ++g_values_counter; }
- ~value_t () { --g_values_counter; }
- size_t value() const volatile { return x; }
-};
-
-#include "harness_iterator.h"
-
-static size_t g_tasks_expected = 0;
-static tbb::atomic<size_t> g_tasks_observed;
-
-size_t FindNumOfTasks ( size_t max_depth ) {
- if( max_depth == 0 )
- return 1;
- return max_depth * FindNumOfTasks( max_depth - 1 ) + 1;
-}
-
-//! Simplest form of the parallel_do functor object.
-class FakeTaskGeneratorBody {
-public:
- //! The simplest form of the function call operator
- /** It does not allow adding new tasks during its execution. **/
- void operator() ( value_t depth ) const {
- g_tasks_observed += FindNumOfTasks(depth.value());
- }
-};
-
-/** Work item is passed by reference here. **/
-class FakeTaskGeneratorBody_RefVersion {
-public:
- void operator() ( value_t& depth ) const {
- g_tasks_observed += FindNumOfTasks(depth.value());
- }
-};
-
-/** Work item is passed by reference to const here. **/
-class FakeTaskGeneratorBody_ConstRefVersion {
-public:
- void operator() ( const value_t& depth ) const {
- g_tasks_observed += FindNumOfTasks(depth.value());
- }
-};
-
-/** Work item is passed by reference to volatile here. **/
-class FakeTaskGeneratorBody_VolatileRefVersion {
-public:
- void operator() ( volatile value_t& depth, tbb::parallel_do_feeder<value_t>& ) const {
- g_tasks_observed += FindNumOfTasks(depth.value());
- }
-};
-
-void do_work ( const value_t& depth, tbb::parallel_do_feeder<value_t>& feeder ) {
- ++g_tasks_observed;
- size_t d=depth.value();
- --d;
- for( size_t i = 0; i < depth.value(); ++i)
- feeder.add(value_t(d));
-}
-
-//! Standard form of the parallel_do functor object.
-/** Allows adding new work items on the fly. **/
-class TaskGeneratorBody
-{
-public:
- //! This form of the function call operator can be used when the body needs to add more work during the processing
- void operator() ( value_t depth, tbb::parallel_do_feeder<value_t>& feeder ) const {
- do_work(depth, feeder);
- }
-private:
- // Assert that parallel_do does not ever access body constructors
- TaskGeneratorBody () {}
- TaskGeneratorBody ( const TaskGeneratorBody& );
- // TestBody() needs access to the default constructor
- template<class Body, class Iterator> friend void TestBody( size_t );
-}; // class TaskGeneratorBody
-
-/** Work item is passed by reference here. **/
-class TaskGeneratorBody_RefVersion
-{
-public:
- void operator() ( value_t& depth, tbb::parallel_do_feeder<value_t>& feeder ) const {
- do_work(depth, feeder);
- }
-}; // class TaskGeneratorBody
-
-/** Work item is passed as const here. Compilers must ignore the const qualifier. **/
-class TaskGeneratorBody_ConstVersion
-{
-public:
- void operator() ( const value_t depth, tbb::parallel_do_feeder<value_t>& feeder ) const {
- do_work(depth, feeder);
- }
-}; // class TaskGeneratorBody
-
-/** Work item is passed by reference to const here. **/
-class TaskGeneratorBody_ConstRefVersion
-{
-public:
- void operator() ( const value_t& depth, tbb::parallel_do_feeder<value_t>& feeder ) const {
- do_work(depth, feeder);
- }
-}; // class TaskGeneratorBody
-
-/** Work item is passed by reference to volatile here. **/
-class TaskGeneratorBody_VolatileRefVersion
-{
-public:
- void operator() ( volatile value_t& depth, tbb::parallel_do_feeder<value_t>& feeder ) const {
- do_work(const_cast<value_t&>(depth), feeder);
- }
-}; // class TaskGeneratorBody
-
-/** Work item is passed by reference to volatile here. **/
-class TaskGeneratorBody_ConstVolatileRefVersion
-{
-public:
- void operator() ( const volatile value_t& depth, tbb::parallel_do_feeder<value_t>& feeder ) const {
- do_work(const_cast<value_t&>(depth), feeder);
- }
-}; // class TaskGeneratorBody
-
-
-static value_t g_depths[N_DEPTHS] = {0, 1, 2, 3, 4, 0, 1, 0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 0, 1, 2};
-
-template<class Body, class Iterator>
-void TestBody ( size_t depth ) {
- typedef typename std::iterator_traits<Iterator>::value_type value_type;
- value_type a_depths[N_DEPTHS] = {0, 1, 2, 3, 4, 0, 1, 0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 0, 1, 2};
- Body body;
- Iterator begin(a_depths);
- Iterator end(a_depths + depth);
- g_tasks_observed = 0;
- tbb::parallel_do(begin, end, body);
- ASSERT (g_tasks_observed == g_tasks_expected, NULL);
-}
-
-template<class Iterator>
-void TestIterator_RvalueOnly ( int /*nthread*/, size_t depth ) {
- g_values_counter = 0;
- TestBody<FakeTaskGeneratorBody, Iterator> (depth);
- TestBody<FakeTaskGeneratorBody_ConstRefVersion, Iterator> (depth);
- TestBody<TaskGeneratorBody, Iterator> (depth);
- TestBody<TaskGeneratorBody_ConstVersion, Iterator> (depth);
- TestBody<TaskGeneratorBody_ConstRefVersion, Iterator> (depth);
-}
-
-template<class Iterator>
-void TestIterator ( int nthread, size_t depth ) {
- TestIterator_RvalueOnly<Iterator>(nthread, depth);
- TestBody<FakeTaskGeneratorBody_RefVersion, Iterator> (depth);
- TestBody<FakeTaskGeneratorBody_VolatileRefVersion, Iterator> (depth);
- TestBody<TaskGeneratorBody_RefVersion, Iterator> (depth);
- TestBody<TaskGeneratorBody_VolatileRefVersion, Iterator> (depth);
- TestBody<TaskGeneratorBody_ConstVolatileRefVersion, Iterator> (depth);
-}
-
-void Run( int nthread ) {
- for( size_t depth = 0; depth <= N_DEPTHS; ++depth ) {
- g_tasks_expected = 0;
- for ( size_t i=0; i < depth; ++i )
- g_tasks_expected += FindNumOfTasks( g_depths[i].value() );
- // Test for iterators over values convertible to work item type
- TestIterator_RvalueOnly<size_t*>(nthread, depth);
- // Test for random access iterators
- TestIterator<value_t*>(nthread, depth);
- // Test for input iterators
- TestIterator<Harness::InputIterator<value_t> >(nthread, depth);
- // Test for forward iterators
- TestIterator<Harness::ForwardIterator<value_t> >(nthread, depth);
- }
-}
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- MinThread=1;
- MaxThread=2;
- ParseCommandLine( argc, argv );
- if( MinThread<1 ) {
- REPORT("number of threads must be positive\n");
- exit(1);
- }
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init( p );
- Run(p);
- // Test that all workers sleep when no work
- TestCPUUserTime(p);
- }
- // This check must be performed after the scheduler terminated because only in this
- // case there is a guarantee that the workers already destroyed their last tasks.
- ASSERT( g_values_counter == 0, "Value objects were leaked" );
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Test for function template parallel_for.h
-
-#include "tbb/parallel_for.h"
-#include "tbb/atomic.h"
-#include "harness_assert.h"
-#include "harness.h"
-
-static tbb::atomic<int> FooBodyCount;
-
-//! An range object whose only public members are those required by the Range concept.
-template<size_t Pad>
-class FooRange {
- //! Start of range
- int start;
-
- //! Size of range
- int size;
- FooRange( int start_, int size_ ) : start(start_), size(size_) {
- zero_fill<char>(pad, Pad);
- pad[Pad-1] = 'x';
- }
- template<size_t Pad_> friend void Flog( int nthread );
- template<size_t Pad_> friend class FooBody;
- void operator&();
-
- char pad[Pad];
-public:
- bool empty() const {return size==0;}
- bool is_divisible() const {return size>1;}
- FooRange( FooRange& original, tbb::split ) : size(original.size/2) {
- original.size -= size;
- start = original.start+original.size;
- ASSERT( original.pad[Pad-1]=='x', NULL );
- pad[Pad-1] = 'x';
- }
-};
-
-//! An range object whose only public members are those required by the parallel_for.h body concept.
-template<size_t Pad>
-class FooBody {
- static const int LIVE = 0x1234;
- tbb::atomic<int>* array;
- int state;
- friend class FooRange<Pad>;
- template<size_t Pad_> friend void Flog( int nthread );
- FooBody( tbb::atomic<int>* array_ ) : array(array_), state(LIVE) {}
-public:
- ~FooBody() {
- --FooBodyCount;
- for( size_t i=0; i<sizeof(*this); ++i )
- reinterpret_cast<char*>(this)[i] = -1;
- }
- //! Copy constructor
- FooBody( const FooBody& other ) : array(other.array), state(other.state) {
- ++FooBodyCount;
- ASSERT( state==LIVE, NULL );
- }
- void operator()( FooRange<Pad>& r ) const {
- for( int k=0; k<r.size; ++k )
- array[r.start+k]++;
- }
-};
-
-#include "tbb/tick_count.h"
-
-static const int N = 1000;
-static tbb::atomic<int> Array[N];
-
-template<size_t Pad>
-void Flog( int nthread ) {
- tbb::tick_count T0 = tbb::tick_count::now();
- for( int i=0; i<N; ++i ) {
- for ( int mode = 0; mode < 4; ++mode)
- {
- FooRange<Pad> r( 0, i );
- const FooRange<Pad> rc = r;
- FooBody<Pad> f( Array );
- const FooBody<Pad> fc = f;
- memset( Array, 0, sizeof(Array) );
- FooBodyCount = 1;
- switch (mode) {
- case 0:
- tbb::parallel_for( rc, fc );
- break;
- case 1:
- tbb::parallel_for( rc, fc, tbb::simple_partitioner() );
- break;
- case 2:
- tbb::parallel_for( rc, fc, tbb::auto_partitioner() );
- break;
- case 3: {
- static tbb::affinity_partitioner affinity;
- tbb::parallel_for( rc, fc, affinity );
- }
- break;
- }
- for( int j=0; j<i; ++j )
- ASSERT( Array[j]==1, NULL );
- for( int j=i; j<N; ++j )
- ASSERT( Array[j]==0, NULL );
- // Destruction of bodies might take a while, but there should be at most one body per thread
- // at this point.
- while( FooBodyCount>1 && FooBodyCount<=nthread )
- __TBB_Yield();
- ASSERT( FooBodyCount==1, NULL );
- }
- }
- tbb::tick_count T1 = tbb::tick_count::now();
- if( Verbose )
- REPORT("time=%g\tnthread=%d\tpad=%d\n",(T1-T0).seconds(),nthread,int(Pad));
-}
-
-// Testing parallel_for with step support
-const size_t PFOR_BUFFER_TEST_SIZE = 1024;
-// test_buffer has some extra items beyound right bound
-const size_t PFOR_BUFFER_ACTUAL_SIZE = PFOR_BUFFER_TEST_SIZE + 1024;
-size_t pfor_buffer[PFOR_BUFFER_ACTUAL_SIZE];
-
-template<typename T>
-void TestFunction(T index){
- pfor_buffer[index]++;
-}
-
-#include <stdexcept> // std::invalid_argument
-template <typename T>
-void TestParallelForWithStepSupport()
-{
- const T pfor_buffer_test_size = static_cast<T>(PFOR_BUFFER_TEST_SIZE);
- const T pfor_buffer_actual_size = static_cast<T>(PFOR_BUFFER_ACTUAL_SIZE);
- // Testing parallel_for with different step values
- for (T begin = 0; begin < pfor_buffer_test_size - 1; begin += pfor_buffer_test_size / 10 + 1) {
- T step;
- for (step = 1; step < pfor_buffer_test_size; step++) {
- memset(pfor_buffer, 0, pfor_buffer_actual_size * sizeof(size_t));
- tbb::parallel_for(begin, pfor_buffer_test_size, step, TestFunction<T>);
- // Verifying that parallel_for processed all items it should
- for (T i = begin; i < pfor_buffer_test_size; i = i + step) {
- ASSERT(pfor_buffer[i] == 1, "parallel_for didn't process all required elements");
- pfor_buffer[i] = 0;
- }
- // Verifying that no extra items were processed and right bound of array wasn't crossed
- for (T i = 0; i < pfor_buffer_actual_size; i++) {
- ASSERT(pfor_buffer[i] == 0, "parallel_for processed an extra element");
- }
- }
- }
-
- // Testing some corner cases
- tbb::parallel_for(static_cast<T>(2), static_cast<T>(1), static_cast<T>(1), TestFunction<T>);
-#if !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
- try{
- tbb::parallel_for(static_cast<T>(1), static_cast<T>(100), static_cast<T>(0), TestFunction<T>); // should cause std::invalid_argument
- }catch(std::invalid_argument){
- return;
- }
- ASSERT(0, "std::invalid_argument should be thrown");
-#endif
-}
-
-// Exception support test
-#define HARNESS_EH_SIMPLE_MODE 1
-#include "tbb/tbb_exception.h"
-#include "harness_eh.h"
-
-void test_function_with_exception(size_t)
-{
- ThrowTestException();
-}
-
-void TestExceptionsSupport()
-{
- REMARK (__FUNCTION__);
- ResetEhGlobals();
- TRY();
- tbb::parallel_for((size_t)0, (size_t)PFOR_BUFFER_TEST_SIZE, (size_t)1, test_function_with_exception);
- CATCH_AND_ASSERT();
-}
-
-// Cancellation support test
-void function_to_cancel(size_t ) {
- ++g_CurExecuted;
- CancellatorTask::WaitUntilReady();
-}
-
-class my_worker_pfor_step_task : public tbb::task
-{
- tbb::task_group_context &my_ctx;
-
- tbb::task* execute () {
- tbb::parallel_for((size_t)0, (size_t)PFOR_BUFFER_TEST_SIZE, (size_t)1, function_to_cancel, my_ctx);
-
- return NULL;
- }
-public:
- my_worker_pfor_step_task ( tbb::task_group_context &context) : my_ctx(context) { }
-};
-
-void TestCancellation()
-{
- ResetEhGlobals();
- RunCancellationTest<my_worker_pfor_step_task, CancellatorTask>();
-}
-
-#include <cstdio>
-#include "tbb/task_scheduler_init.h"
-#include "harness_cpu.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- MinThread = 1;
- ParseCommandLine(argc,argv);
- if( MinThread<1 ) {
- REPORT("number of threads must be positive\n");
- exit(1);
- }
- for( int p=MinThread; p<=MaxThread; ++p ) {
- if( p>0 ) {
- tbb::task_scheduler_init init( p );
- Flog<1>(p);
- Flog<10>(p);
- Flog<100>(p);
- Flog<1000>(p);
- Flog<10000>(p);
-
- // Testing with different integer types
- TestParallelForWithStepSupport<short>();
- TestParallelForWithStepSupport<unsigned short>();
- TestParallelForWithStepSupport<int>();
- TestParallelForWithStepSupport<unsigned int>();
- TestParallelForWithStepSupport<long>();
- TestParallelForWithStepSupport<unsigned long>();
- TestParallelForWithStepSupport<long long>();
- TestParallelForWithStepSupport<unsigned long long>();
- TestParallelForWithStepSupport<size_t>();
-#if !__TBB_EXCEPTION_HANDLING_BROKEN && !(__GNUC__==4 && __GNUC_MINOR__==1 && __TBB_ipf)
- TestExceptionsSupport();
-#endif
- if (p>1) TestCancellation();
- // Test that all workers sleep when no work
- TestCPUUserTime(p);
- }
- }
-#if __TBB_EXCEPTION_HANDLING_BROKEN || (__GNUC__==4 && __GNUC_MINOR__==1 && __TBB_ipf)
- REPORT("Warning: Exception handling tests are skipped due to a known issue.\n");
-#endif
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/parallel_for_each.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/atomic.h"
-#include "harness.h"
-#include "harness_iterator.h"
-
-tbb::atomic<size_t> sum;
-// This function is called via parallel_for_each
-void TestFunction (size_t value) {
- sum += (unsigned int)value;
-}
-
-const size_t NUMBER_OF_ELEMENTS = 1000;
-
-// Tests tbb::parallel_for_each functionality
-template <typename Iterator>
-void RunPForEachTests()
-{
- size_t test_vector[NUMBER_OF_ELEMENTS + 1];
-
- sum = 0;
- size_t test_sum = 0;
-
- for (size_t i =0; i < NUMBER_OF_ELEMENTS; i++) {
- test_vector[i] = i;
- test_sum += i;
- }
- test_vector[NUMBER_OF_ELEMENTS] = 1000000; // parallel_for_each shouldn't touch this element
-
- Iterator begin(&test_vector[0]);
- Iterator end(&test_vector[NUMBER_OF_ELEMENTS]);
-
- tbb::parallel_for_each(begin, end, TestFunction);
- ASSERT(sum == test_sum, "Not all items of test vector were processed by parallel_for_each");
- ASSERT(test_vector[NUMBER_OF_ELEMENTS] == 1000000, "parallel_for_each processed an extra element");
-}
-
-// Exception support test
-#define HARNESS_EH_SIMPLE_MODE 1
-#include "tbb/tbb_exception.h"
-#include "harness_eh.h"
-
-void test_function_with_exception(size_t)
-{
- ThrowTestException();
-}
-
-template <typename Iterator>
-void TestExceptionsSupport()
-{
- REMARK (__FUNCTION__);
- size_t test_vector[NUMBER_OF_ELEMENTS + 1];
-
- for (size_t i = 0; i < NUMBER_OF_ELEMENTS; i++) {
- test_vector[i] = i;
- }
-
- Iterator begin(&test_vector[0]);
- Iterator end(&test_vector[NUMBER_OF_ELEMENTS]);
-
- TRY();
- tbb::parallel_for_each(begin, end, test_function_with_exception);
- CATCH_AND_ASSERT();
-}
-
-// Cancellaton support test
-void function_to_cancel(size_t ) {
- ++g_CurExecuted;
- CancellatorTask::WaitUntilReady();
-}
-
-template <typename Iterator>
-class my_worker_pforeach_task : public tbb::task
-{
- tbb::task_group_context &my_ctx;
-
- tbb::task* execute () {
- size_t test_vector[NUMBER_OF_ELEMENTS + 1];
- for (size_t i = 0; i < NUMBER_OF_ELEMENTS; i++) {
- test_vector[i] = i;
- }
- Iterator begin(&test_vector[0]);
- Iterator end(&test_vector[NUMBER_OF_ELEMENTS]);
-
- tbb::parallel_for_each(begin, end, function_to_cancel);
-
- return NULL;
- }
-public:
- my_worker_pforeach_task ( tbb::task_group_context &context) : my_ctx(context) { }
-};
-
-template <typename Iterator>
-void TestCancellation()
-{
- REMARK (__FUNCTION__);
- ResetEhGlobals();
- RunCancellationTest<my_worker_pforeach_task<Iterator>, CancellatorTask>();
-}
-
-#include "harness_cpu.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- MinThread=1;
- MaxThread=2;
- ParseCommandLine( argc, argv );
- if( MinThread<1 ) {
- REPORT("number of threads must be positive\n");
- exit(1);
- }
-
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init( p );
- RunPForEachTests<Harness::RandomIterator<size_t> >();
- RunPForEachTests<Harness::InputIterator<size_t> >();
- RunPForEachTests<Harness::ForwardIterator<size_t> >();
-
-#if !__TBB_EXCEPTION_HANDLING_BROKEN
- TestExceptionsSupport<Harness::RandomIterator<size_t> >();
- TestExceptionsSupport<Harness::InputIterator<size_t> >();
- TestExceptionsSupport<Harness::ForwardIterator<size_t> >();
-#endif
- if (p > 1) {
- TestCancellation<Harness::RandomIterator<size_t> >();
- TestCancellation<Harness::InputIterator<size_t> >();
- TestCancellation<Harness::ForwardIterator<size_t> >();
- }
- // Test that all workers sleep when no work
- TestCPUUserTime(p);
- }
-#if __TBB_EXCEPTION_HANDLING_BROKEN
- REPORT("Warning: Exception handling tests are skipped due to a known issue.\n");
-#endif
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/parallel_invoke.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/atomic.h"
-#include "tbb/tbb_exception.h"
-#include "harness.h"
-
-static const size_t MAX_NUMBER_OF_PINVOKE_ARGS = 10;
-tbb::atomic<size_t> function_counter;
-
-// Some macros to make the test easier to read
-
-// 10 functions test0 ... test9 are defined
-// pointer to each function is also defined
-
-#define TEST_FUNCTION(value) void test##value () \
-{ \
- ASSERT(!(function_counter & (1 << value)), "Test function has already been called"); \
- function_counter += 1 << value; \
-} \
-void (*test_pointer##value)(void) = &test##value;
-
-TEST_FUNCTION(0)
-TEST_FUNCTION(1)
-TEST_FUNCTION(2)
-TEST_FUNCTION(3)
-TEST_FUNCTION(4)
-TEST_FUNCTION(5)
-TEST_FUNCTION(6)
-TEST_FUNCTION(7)
-TEST_FUNCTION(8)
-TEST_FUNCTION(9)
-
-// The same with functors
-#define TEST_FUNCTOR(value) class test_functor##value \
-{ \
-public: \
- void operator() () const { \
- function_counter += 1 << value; \
- } \
-} functor##value;
-
-TEST_FUNCTOR(0)
-TEST_FUNCTOR(1)
-TEST_FUNCTOR(2)
-TEST_FUNCTOR(3)
-TEST_FUNCTOR(4)
-TEST_FUNCTOR(5)
-TEST_FUNCTOR(6)
-TEST_FUNCTOR(7)
-TEST_FUNCTOR(8)
-TEST_FUNCTOR(9)
-
-#define INIT_TEST function_counter = 0;
-
-#define VALIDATE_INVOKE_RUN(number_of_args, test_type) \
- ASSERT( (size_t)function_counter == (size_t)(1 << number_of_args) - 1, "parallel_invoke called with " #number_of_args " arguments didn't process all " #test_type);
-
-// Calls parallel_invoke for different number of arguments
-// It can be called with and without user context
-template <typename F0, typename F1, typename F2, typename F3, typename F4, typename F5,
- typename F6, typename F7, typename F8, typename F9>
-void call_parallel_invoke( size_t n, F0& f0, F1& f1, F2& f2, F3& f3, F4 &f4, F5 &f5,
- F6& f6, F7 &f7, F8 &f8, F9 &f9, tbb::task_group_context* context) {
- switch(n) {
- default:
- ASSERT(false, "number of arguments must be between 2 and 10");
- case 2:
- if (context)
- tbb::parallel_invoke (f0, f1, *context);
- else
- tbb::parallel_invoke (f0, f1);
- break;
- case 3:
- if (context)
- tbb::parallel_invoke (f0, f1, f2, *context);
- else
- tbb::parallel_invoke (f0, f1, f2);
- break;
- case 4:
- if(context)
- tbb::parallel_invoke (f0, f1, f2, f3, *context);
- else
- tbb::parallel_invoke (f0, f1, f2, f3);
- break;
- case 5:
- if(context)
- tbb::parallel_invoke (f0, f1, f2, f3, f4, *context);
- else
- tbb::parallel_invoke (f0, f1, f2, f3, f4);
- break;
- case 6:
- if(context)
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, *context);
- else
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5);
- break;
- case 7:
- if(context)
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6, *context);
- else
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6);
- break;
- case 8:
- if(context)
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6, f7, *context);
- else
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6, f7);
- break;
- case 9:
- if(context)
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6, f7, f8, *context);
- else
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6, f7, f8);
- break;
- case 10:
- if(context)
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, *context);
- else
- tbb::parallel_invoke (f0, f1, f2, f3, f4, f5, f6, f7, f8, f9);
- break;
- }
-}
-
-void test_parallel_invoke()
-{
- REMARK (__FUNCTION__);
- // Testing parallel_invoke with functions
- for (int n = 2; n <=10; n++)
- {
- INIT_TEST;
- call_parallel_invoke(n, test0, test1, test2, test3, test4, test5, test6, test7, test8, test9, NULL);
- VALIDATE_INVOKE_RUN(n, "functions");
- }
-
- // Testing with pointers to functions
- for (int n = 2; n <=10; n++)
- {
- INIT_TEST;
- call_parallel_invoke(n, test_pointer0, test_pointer1, test_pointer2, test_pointer3, test_pointer4,
- test_pointer5, test_pointer6, test_pointer7, test_pointer8, test_pointer9, NULL);
- VALIDATE_INVOKE_RUN(n, "pointers to function");
- }
-
- // Testing parallel_invoke with functors
- for (int n = 2; n <=10; n++)
- {
- INIT_TEST;
- call_parallel_invoke(n, functor0, functor1, functor2, functor3, functor4,
- functor5, functor6, functor7, functor8, functor9, NULL);
- VALIDATE_INVOKE_RUN(n, "functors");
- }
-}
-
-// Exception handling support test
-
-#define HARNESS_EH_SIMPLE_MODE 1
-#include "harness_eh.h"
-
-volatile size_t exception_mask; // each bit represents whether the function should throw exception or not
-
-// throws exception if corresponding exception_mask bit is set
-#define TEST_FUNCTION_WITH_THROW(value) void test_with_throw##value () {\
- if (exception_mask & (1 << value)){ \
- ThrowTestException(); \
- } \
-}
-
-TEST_FUNCTION_WITH_THROW(0)
-TEST_FUNCTION_WITH_THROW(1)
-TEST_FUNCTION_WITH_THROW(2)
-TEST_FUNCTION_WITH_THROW(3)
-TEST_FUNCTION_WITH_THROW(4)
-TEST_FUNCTION_WITH_THROW(5)
-TEST_FUNCTION_WITH_THROW(6)
-TEST_FUNCTION_WITH_THROW(7)
-TEST_FUNCTION_WITH_THROW(8)
-TEST_FUNCTION_WITH_THROW(9)
-
-void TestExceptionHandling()
-{
- REMARK (__FUNCTION__);
- for( size_t n = 2; n <= 10; ++n ) {
- for( exception_mask = 1; exception_mask < (size_t) (1 << n); ++exception_mask ) {
- ResetEhGlobals();
- TRY();
- REMARK("Calling parallel_invoke, number of functions = %d, exception_mask = %d\n", n, exception_mask);
- call_parallel_invoke(n, test_with_throw0, test_with_throw1, test_with_throw2, test_with_throw3,
- test_with_throw4, test_with_throw5, test_with_throw6, test_with_throw7, test_with_throw8, test_with_throw9, NULL);
- CATCH_AND_ASSERT();
- }
- }
-}
-
-// Cancellaton support test
-void function_to_cancel() {
- ++g_CurExecuted;
- CancellatorTask::WaitUntilReady();
-}
-
-// The function is used to test cancellation
-void simple_test_nothrow (){
- ++g_CurExecuted;
-}
-
-size_t g_numFunctions,
- g_functionToCancel;
-
-class ParInvokeLauncherTask : public tbb::task
-{
- tbb::task_group_context &my_ctx;
- void(*func_array[10])(void);
-
- tbb::task* execute () {
- func_array[g_functionToCancel] = &function_to_cancel;
- call_parallel_invoke(g_numFunctions, func_array[0], func_array[1], func_array[2], func_array[3],
- func_array[4], func_array[5], func_array[6], func_array[7], func_array[8], func_array[9], &my_ctx);
- return NULL;
- }
-public:
- ParInvokeLauncherTask ( tbb::task_group_context& ctx ) : my_ctx(ctx) {
- for (int i = 0; i <=9; ++i)
- func_array[i] = &simple_test_nothrow;
- }
-};
-
-void TestCancellation ()
-{
- REMARK (__FUNCTION__);
- for ( int n = 2; n <= 10; ++n ) {
- for ( int m = 0; m <= n - 1; ++m ) {
- g_numFunctions = n;
- g_functionToCancel = m;
- ResetEhGlobals();
- RunCancellationTest<ParInvokeLauncherTask, CancellatorTask>();
- }
- }
-}
-
-//------------------------------------------------------------------------
-// Entry point
-//------------------------------------------------------------------------
-
-#include "harness_cpu.h"
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- // Set default minimum number of threads
- MinThread = 2;
- ParseCommandLine( argc, argv );
- MinThread = min(MinThread, MaxThread);
- ASSERT (MinThread>=1, "Minimal number of threads must be 1 or more");
- for ( int p = MinThread; p <= MaxThread; ++p ) {
- tbb::task_scheduler_init init(p);
- test_parallel_invoke();
- if (p > 1) {
-#if __TBB_EXCEPTION_HANDLING_BROKEN
- REPORT("Warning: Exception handling tests are skipped due to a known issue.\n");
-#else
- TestExceptionHandling();
-#endif
- TestCancellation();
- }
- TestCPUUserTime(p);
- }
- REPORT("done\n");
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/parallel_reduce.h"
-#include "tbb/atomic.h"
-#include "harness_assert.h"
-
-using namespace std;
-
-static tbb::atomic<long> ForkCount;
-static tbb::atomic<long> FooBodyCount;
-
-//! Class with public interface that is exactly minimal requirements for Range concept
-class MinimalRange {
- size_t begin, end;
- friend class FooBody;
- explicit MinimalRange( size_t i ) : begin(0), end(i) {}
- friend void Flog( int nthread, bool inteference );
-public:
- MinimalRange( MinimalRange& r, tbb::split ) : end(r.end) {
- begin = r.end = (r.begin+r.end)/2;
- }
- bool is_divisible() const {return end-begin>=2;}
- bool empty() const {return begin==end;}
-};
-
-//! Class with public interface that is exactly minimal requirements for Body of a parallel_reduce
-class FooBody {
-private:
- FooBody( const FooBody& ); // Deny access
- void operator=( const FooBody& ); // Deny access
- friend void Flog( int nthread, bool interference );
- //! Parent that created this body via split operation. NULL if original body.
- FooBody* parent;
- //! Total number of index values processed by body and its children.
- size_t sum;
- //! Number of join operations done so far on this body and its children.
- long join_count;
- //! Range that has been processed so far by this body and its children.
- size_t begin, end;
- //! True if body has not yet been processed at least once by operator().
- bool is_new;
- //! 1 if body was created by split; 0 if original body.
- int forked;
- FooBody() {++FooBodyCount;}
-public:
- ~FooBody() {
- forked = 0xDEADBEEF;
- sum=0xDEADBEEF;
- join_count=0xDEADBEEF;
- --FooBodyCount;
- }
- FooBody( FooBody& other, tbb::split ) {
- ++FooBodyCount;
- ++ForkCount;
- sum = 0;
- parent = &other;
- join_count = 0;
- is_new = true;
- forked = 1;
- }
- void join( FooBody& s ) {
- ASSERT( s.forked==1, NULL );
- ASSERT( this!=&s, NULL );
- ASSERT( this==s.parent, NULL );
- ASSERT( end==s.begin, NULL );
- end = s.end;
- sum += s.sum;
- join_count += s.join_count + 1;
- s.forked = 2;
- }
- void operator()( const MinimalRange& r ) {
- for( size_t k=r.begin; k<r.end; ++k )
- ++sum;
- if( is_new ) {
- is_new = false;
- begin = r.begin;
- } else
- ASSERT( end==r.begin, NULL );
- end = r.end;
- }
-};
-
-#include <cstdio>
-#include "harness.h"
-#include "tbb/tick_count.h"
-
-void Flog( int nthread, bool interference=false ) {
- for (int mode = 0; mode < 4; mode++) {
- tbb::tick_count T0 = tbb::tick_count::now();
- long join_count = 0;
- tbb::affinity_partitioner ap;
- for( size_t i=0; i<=1000; ++i ) {
- FooBody f;
- f.sum = 0;
- f.parent = NULL;
- f.join_count = 0;
- f.is_new = true;
- f.forked = 0;
- f.begin = ~size_t(0);
- f.end = ~size_t(0);
- ASSERT( FooBodyCount==1, NULL );
- switch (mode) {
- case 0:
- tbb::parallel_reduce( MinimalRange(i), f );
- break;
- case 1:
- tbb::parallel_reduce( MinimalRange(i), f, tbb::simple_partitioner() );
- break;
- case 2:
- tbb::parallel_reduce( MinimalRange(i), f, tbb::auto_partitioner() );
- break;
- case 3:
- tbb::parallel_reduce( MinimalRange(i), f, ap );
- break;
- }
- join_count += f.join_count;
- ASSERT( FooBodyCount==1, NULL );
- ASSERT( f.sum==i, NULL );
- ASSERT( f.begin==(i==0 ? ~size_t(0) : 0), NULL );
- ASSERT( f.end==(i==0 ? ~size_t(0) : i), NULL );
- }
- tbb::tick_count T1 = tbb::tick_count::now();
- if( Verbose )
- REPORT("time=%g join_count=%ld ForkCount=%ld nthread=%d%s\n",
- (T1-T0).seconds(),join_count,long(ForkCount), nthread, interference ? " with interference)":"");
- }
-}
-
-class DeepThief: public tbb::task {
- /*override*/tbb::task* execute() {
- if( !is_stolen_task() )
- spawn(*child);
- wait_for_all();
- return NULL;
- }
- task* child;
- friend void FlogWithInterference(int);
-public:
- DeepThief() : child() {}
-};
-
-//! Test for problem in TBB 2.1 parallel_reduce where middle of a range is stolen.
-/** Warning: this test is a somewhat abusive use of TBB somewhat because
- it requires two or more threads to avoid deadlock. */
-void FlogWithInterference( int nthread ) {
- ASSERT( nthread>=2, "requires too or more threads" );
-
- // Build linear chain of tasks.
- // The purpose is to drive up "task depth" in TBB 2.1.
- // An alternative would be to use add_to_depth, but that method is deprecated in TBB 2.2,
- // and this way we generalize to catching problems with implicit depth calculations.
- tbb::task* root = new( tbb::task::allocate_root() ) tbb::empty_task;
- root->set_ref_count(2);
- tbb::task* t = root;
- for( int i=0; i<3; ++i ) {
- t = new( t->allocate_child() ) tbb::empty_task;
- t->set_ref_count(1);
- }
-
- // Append a DeepThief to the chain.
- DeepThief* deep_thief = new( t->allocate_child() ) DeepThief;
- deep_thief->set_ref_count(2);
-
- // Append a leaf to the chain.
- tbb::task* leaf = new( deep_thief->allocate_child() ) tbb::empty_task;
- deep_thief->child = leaf;
-
- root->spawn(*deep_thief);
-
- Flog(nthread,true);
-
- if( root->ref_count()==2 ) {
- // Spawn leaf, which when it finishes, cause the DeepThief and rest of the chain to finish.
- root->spawn( *leaf );
- }
- // Wait for all tasks in the chain from root to leaf to finish.
- root->wait_for_all();
- root->destroy( *root );
-}
-
-#include "tbb/blocked_range.h"
-
-#if _MSC_VER
- typedef tbb::internal::uint64_t ValueType;
-#else
- typedef uint64_t ValueType;
-#endif
-
-struct Sum {
- template<typename T>
- T operator() ( const T& v1, const T& v2 ) const {
- return v1 + v2;
- }
-};
-
-struct Accumulator {
- ValueType operator() ( const tbb::blocked_range<ValueType*>& r, ValueType value ) const {
- for ( ValueType* pv = r.begin(); pv != r.end(); ++pv )
- value += *pv;
- return value;
- }
-};
-
-void ParallelSum () {
- const ValueType I = 0,
- N = 1000000,
- R = N * (N + 1) / 2;
- ValueType *array = new ValueType[N + 1];
- for ( ValueType i = 0; i < N; ++i )
- array[i] = i + 1;
- tbb::blocked_range<ValueType*> range(array, array + N);
- ValueType r1 = tbb::parallel_reduce( range, I, Accumulator(), Sum() );
- ASSERT( r1 == R, NULL );
-#if __TBB_LAMBDAS_PRESENT && !__TBB_LAMBDA_AS_TEMPL_PARAM_BROKEN
- ValueType r2 = tbb::parallel_reduce( range, I,
- [](const tbb::blocked_range<ValueType*>& r, ValueType value) -> ValueType {
- for ( ValueType* pv = r.begin(); pv != r.end(); ++pv )
- value += *pv;
- return value;
- },
- Sum()
- );
- ASSERT( r2 == R, NULL );
-#endif /* LAMBDAS */
- delete array;
-}
-
-#include "tbb/task_scheduler_init.h"
-#include "harness_cpu.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- // Set default number of threads
- MinThread = MaxThread = 2;
- ParseCommandLine( argc, argv );
- if( MinThread<0 ) {
- REPORT("Usage: nthread must be positive\n");
- exit(1);
- }
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init( p );
- Flog(p);
- if( p>=2 )
- FlogWithInterference(p);
- ParallelSum();
- // Test that all workers sleep when no work
- TestCPUUserTime(p);
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/parallel_scan.h"
-#include "tbb/blocked_range.h"
-#include "harness_assert.h"
-
-typedef tbb::blocked_range<long> Range;
-
-static volatile bool ScanIsRunning = false;
-
-//! Sum of 0..i with wrap around on overflow.
-inline int TriangularSum( int i ) {
- return i&1 ? ((i>>1)+1)*i : (i>>1)*(i+1);
-}
-
-//! Verify that sum is sum of integers in closed interval [start_index..finish_index].
-/** line should be the source line of the caller */
-static void VerifySum( long start_index, long finish_index, int sum, int line );
-
-const int MAXN = 2000;
-
-enum AddendFlag {
- UNUSED=0,
- USED_NONFINAL=1,
- USED_FINAL=2
-};
-
-//! Array recording how each addend was used.
-/** 'unsigned char' instead of AddendFlag for sake of compactness. */
-static unsigned char AddendHistory[MAXN];
-
-//! Set to 1 for debugging output
-#define PRINT_DEBUG 0
-
-#include "tbb/atomic.h"
-#if PRINT_DEBUG
-#include <stdio.h>
-tbb::atomic<long> NextBodyId;
-#endif /* PRINT_DEBUG */
-
-struct BodyId {
-#if PRINT_DEBUG
- const int id;
- BodyId() : id(NextBodyId++) {}
-#endif /* PRINT_DEBUG */
-};
-
-tbb::atomic<long> NumberOfLiveAccumulator;
-
-static void Snooze( bool scan_should_be_running ) {
- ASSERT( ScanIsRunning==scan_should_be_running, NULL );
-}
-
-template<typename T>
-class Accumulator: BodyId {
- T my_total;
- const T* my_array;
- T* my_sum;
- Range my_range;
- //! Equals this while object is fully constructed, NULL otherwise.
- /** Used to detect premature destruction and accidental bitwise copy. */
- Accumulator* self;
- Accumulator( const T array[], T sum[] ) :
- my_total(), my_array(array), my_sum(sum), my_range(-1,-1,1)
- {
- ++NumberOfLiveAccumulator;
- // Set self as last action of constructor, to indicate that object is fully constructed.
- self = this;
- }
- friend void TestAccumulator( int mode, int nthread );
-public:
-#if PRINT_DEBUG
- void print() const {
- REPORT("%d [%ld..%ld)\n", id,my_range.begin(),my_range.end() );
- }
-#endif /* PRINT_DEBUG */
- ~Accumulator() {
-#if PRINT_DEBUG
- REPORT("%d [%ld..%ld) destroyed\n",id,my_range.begin(),my_range.end() );
-#endif /* PRINT_DEBUG */
- // Clear self as first action of destructor, to indicate that object is not fully constructed.
- self = 0;
- --NumberOfLiveAccumulator;
- }
- Accumulator( Accumulator& a, tbb::split ) :
- my_total(0), my_array(a.my_array), my_sum(a.my_sum), my_range(-1,-1,1)
- {
- ++NumberOfLiveAccumulator;
-#if PRINT_DEBUG
- REPORT("%d forked from %d\n",id,a.id);
-#endif /* PRINT_DEBUG */
- Snooze(true);
- // Set self as last action of constructor, to indicate that object is fully constructed.
- self = this;
- }
- template<typename Tag>
- void operator()( const Range& r, Tag /*tag*/ ) {
- Snooze(true);
-#if PRINT_DEBUG
- if( my_range.empty() )
- REPORT("%d computing %s [%ld..%ld)\n",id,Tag::is_final_scan()?"final":"lookahead",r.begin(),r.end() );
- else
- REPORT("%d computing %s [%ld..%ld) [%ld..%ld)\n",id,Tag::is_final_scan()?"final":"lookahead",my_range.begin(),my_range.end(),r.begin(),r.end());
-#endif /* PRINT_DEBUG */
- ASSERT( !Tag::is_final_scan() || (my_range.begin()==0 && my_range.end()==r.begin()) || (my_range.empty() && r.begin()==0), NULL );
- for( long i=r.begin(); i<r.end(); ++i ) {
- my_total += my_array[i];
- if( Tag::is_final_scan() ) {
- ASSERT( AddendHistory[i]<USED_FINAL, "addend used 'finally' twice?" );
- AddendHistory[i] |= USED_FINAL;
- my_sum[i] = my_total;
- VerifySum( 0L, i, int(my_sum[i]), __LINE__ );
- } else {
- ASSERT( AddendHistory[i]==UNUSED, "addend used too many times" );
- AddendHistory[i] |= USED_NONFINAL;
- }
- }
- if( my_range.empty() )
- my_range = r;
- else
- my_range = Range(my_range.begin(), r.end(), 1 );
- Snooze(true);
- ASSERT( self==this, "this Accumulator corrupted or prematurely destroyed" );
- }
- void reverse_join( const Accumulator& left ) {
-#if PRINT_DEBUG
- REPORT("reverse join %d [%ld..%ld) %d [%ld..%ld)\n",
- left.id,left.my_range.begin(),left.my_range.end(),
- id,my_range.begin(),my_range.end());
-#endif /* PRINT_DEBUG */
- Snooze(true);
- ASSERT( ScanIsRunning, NULL );
- ASSERT( left.my_range.end()==my_range.begin(), NULL );
- my_total += left.my_total;
- my_range = Range( left.my_range.begin(), my_range.end(), 1 );
- ASSERT( ScanIsRunning, NULL );
- Snooze(true);
- ASSERT( ScanIsRunning, NULL );
- ASSERT( self==this, NULL );
- ASSERT( left.self==&left, NULL );
- }
- void assign( const Accumulator& other ) {
- my_total = other.my_total;
- my_range = other.my_range;
- ASSERT( self==this, NULL );
- ASSERT( other.self==&other, "other Accumulator corrupted or prematurely destroyed" );
- }
-};
-
-#include "tbb/tick_count.h"
-#include "harness.h"
-
-static void VerifySum( long start_index, long finish_index, int sum, int line ) {
- int expected = TriangularSum( finish_index ) - TriangularSum( start_index );
- if( expected!=sum ) {
- REPORT( "line %d: sum[%ld..%ld] should be = %d, but was computed as %d\n",
- line, start_index, finish_index, expected, sum );
- abort();
- }
-}
-
-void TestAccumulator( int mode, int nthread ) {
- typedef int T;
- T* addend = new T[MAXN];
- T* sum = new T[MAXN];
- for( long n=0; n<=MAXN; ++n ) {
- for( long i=0; i<MAXN; ++i ) {
- addend[i] = -1;
- sum[i] = -2;
- AddendHistory[i] = UNUSED;
- }
- for( long i=0; i<n; ++i )
- addend[i] = i;
- Accumulator<T> acc( addend, sum );
- tbb::tick_count t0 = tbb::tick_count::now();
-#if PRINT_DEBUG
- REPORT("--------- mode=%d range=[0..%ld)\n",mode,n);
-#endif /* PRINT_DEBUG */
- ScanIsRunning = true;
-
- switch (mode) {
- case 0:
- tbb::parallel_scan( Range( 0, n, 1 ), acc );
- break;
- case 1:
- tbb::parallel_scan( Range( 0, n, 1 ), acc, tbb::simple_partitioner() );
- break;
- case 2:
- tbb::parallel_scan( Range( 0, n, 1 ), acc, tbb::auto_partitioner() );
- break;
- }
-
- ScanIsRunning = false;
-#if PRINT_DEBUG
- REPORT("=========\n");
-#endif /* PRINT_DEBUG */
- Snooze(false);
- tbb::tick_count t1 = tbb::tick_count::now();
- long used_once_count = 0;
- for( long i=0; i<n; ++i )
- if( !(AddendHistory[i]&USED_FINAL) ) {
- REPORT("failed to use addend[%ld] %s\n",i,AddendHistory[i]&USED_NONFINAL?"(but used nonfinal)":"");
- }
- for( long i=0; i<n; ++i ) {
- VerifySum( 0, i, sum[i], __LINE__ );
- used_once_count += AddendHistory[i]==USED_FINAL;
- }
- if( n )
- ASSERT( acc.my_total==sum[n-1], NULL );
- else
- ASSERT( acc.my_total==0, NULL );
- if( Verbose )
- REPORT("time [n=%ld] = %g\tused_once%% = %g\tnthread=%d\n",n,(t1-t0).seconds(), n==0 ? 0 : 100.0*used_once_count/n,nthread);
- }
- delete[] addend;
- delete[] sum;
-}
-
-static void TestScanTags() {
- ASSERT( tbb::pre_scan_tag::is_final_scan()==false, NULL );
- ASSERT( tbb::final_scan_tag::is_final_scan()==true, NULL );
-}
-
-#include "tbb/task_scheduler_init.h"
-#include "harness_cpu.h"
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- // Default is to run on two threads.
- MinThread = MaxThread = 2;
- ParseCommandLine(argc,argv);
- TestScanTags();
- for( int p=MinThread; p<=MaxThread; ++p ) {
- for (int mode = 0; mode < 3; mode++) {
- tbb::task_scheduler_init init(p);
- NumberOfLiveAccumulator = 0;
- TestAccumulator(mode, p);
-
- // Test that all workers sleep when no work
- TestCPUUserTime(p);
-
- // Checking has to be done late, because when parallel_scan makes copies of
- // the user's "Body", the copies might be destroyed slightly after parallel_scan
- // returns.
- ASSERT( NumberOfLiveAccumulator==0, NULL );
- }
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <math.h>
-#include <algorithm>
-#include <iterator>
-#include <functional>
-#include <string>
-#include <cstring>
-#include <exception>
-
-#include "tbb/parallel_sort.h"
-#include "tbb/task_scheduler_init.h"
-#include "tbb/concurrent_vector.h"
-#include "harness.h"
-
-/** Has tightly controlled interface so that we can verify
- that parallel_sort uses only the required interface. */
-class Minimal {
- int val;
-public:
- Minimal() {}
- void set_val(int i) { val = i; }
- static bool CompareWith (const Minimal &a, const Minimal &b) {
- return (a.val < b.val);
- }
- static bool AreEqual( Minimal &a, Minimal &b) {
- return a.val == b.val;
- }
-};
-
-//! Defines a comparison function object for Minimal
-class MinimalCompare {
-public:
- bool operator() (const Minimal &a, const Minimal &b) const {
- return Minimal::CompareWith(a,b);
- }
-};
-
-//! The default validate; but it uses operator== which is not required
-template<typename RandomAccessIterator>
-bool Validate(RandomAccessIterator a, RandomAccessIterator b, size_t n) {
- for (size_t i = 0; i < n; i++) {
- ASSERT( a[i] == b[i], NULL );
- }
- return true;
-}
-
-//! A Validate specialized to string for debugging-only
-template<>
-bool Validate<std::string *>(std::string * a, std::string * b, size_t n) {
- for (size_t i = 0; i < n; i++) {
- if ( Verbose && a[i] != b[i]) {
- for (size_t j = 0; j < n; j++) {
- REPORT("a[%llu] == %s and b[%llu] == %s\n", static_cast<unsigned long long>(j), a[j].c_str(), static_cast<unsigned long long>(j), b[j].c_str());
- }
- }
- ASSERT( a[i] == b[i], NULL );
- }
- return true;
-}
-
-//! A Validate specialized to Minimal since it does not define an operator==
-template<>
-bool Validate<Minimal *>(Minimal *a, Minimal *b, size_t n) {
- for (size_t i = 0; i < n; i++) {
- ASSERT( Minimal::AreEqual(a[i],b[i]), NULL );
- }
- return true;
-}
-
-//! A Validate specialized to concurrent_vector<Minimal> since it does not define an operator==
-template<>
-bool Validate<tbb::concurrent_vector<Minimal>::iterator>(tbb::concurrent_vector<Minimal>::iterator a,
- tbb::concurrent_vector<Minimal>::iterator b, size_t n) {
- for (size_t i = 0; i < n; i++) {
- ASSERT( Minimal::AreEqual(a[i],b[i]), NULL );
- }
- return true;
-}
-
-//! used in Verbose mode for identifying which data set is being used
-static std::string test_type;
-
-//! The default initialization routine.
-/*! This routine assumes that you can assign to the elements from a float.
- It assumes that iter and sorted_list have already been allocated. It fills
- them according to the current data set (tracked by a local static variable).
- Returns true if a valid test has been setup, or false if there is no test to
- perform.
-*/
-
-template < typename RandomAccessIterator, typename Compare >
-bool init_iter(RandomAccessIterator iter, RandomAccessIterator sorted_list, size_t n, const Compare &compare, bool reset) {
- static char test_case = 0;
- const char num_cases = 3;
-
- if (reset) test_case = 0;
-
- if (test_case < num_cases) {
- // switch on the current test case, filling the iter and sorted_list appropriately
- switch(test_case) {
- case 0:
- /* use sin to generate the values */
- test_type = "sin";
- for (size_t i = 0; i < n; i++)
- iter[i] = sorted_list[i] = static_cast<typename std::iterator_traits< RandomAccessIterator >::value_type>(sin(float(i)));
- break;
- case 1:
- /* presorted list */
- test_type = "pre-sorted";
- for (size_t i = 0; i < n; i++)
- iter[i] = sorted_list[i] = static_cast<typename std::iterator_traits< RandomAccessIterator >::value_type>(i);
- break;
- case 2:
- /* reverse-sorted list */
- test_type = "reverse-sorted";
- for (size_t i = 0; i < n; i++)
- iter[i] = sorted_list[i] = static_cast<typename std::iterator_traits< RandomAccessIterator >::value_type>(n - i);
- break;
- }
-
- // pre-sort sorted_list for later validity testing
- std::sort(sorted_list, sorted_list + n, compare);
- test_case++;
- return true;
- }
- return false;
-}
-
-template < typename T, typename Compare >
-bool init_iter(T * iter, T * sorted_list, size_t n, const Compare &compare, bool reset) {
- static char test_case = 0;
- const char num_cases = 3;
-
- if (reset) test_case = 0;
-
- if (test_case < num_cases) {
- // switch on the current test case, filling the iter and sorted_list appropriately
- switch(test_case) {
- case 0:
- /* use sin to generate the values */
- test_type = "sin";
- for (size_t i = 0; i < n; i++)
- iter[i] = sorted_list[i] = T(sin(float(i)));
- break;
- case 1:
- /* presorted list */
- test_type = "pre-sorted";
- for (size_t i = 0; i < n; i++)
- iter[i] = sorted_list[i] = T(i);
- break;
- case 2:
- /* reverse-sorted list */
- test_type = "reverse-sorted";
- for (size_t i = 0; i < n; i++)
- iter[i] = sorted_list[i] = T(n - i);
- break;
- }
-
- // pre-sort sorted_list for later validity testing
- std::sort(sorted_list, sorted_list + n, compare);
- test_case++;
- return true;
- }
- return false;
-}
-
-
-//! The initialization routine specialized to the class Minimal
-/*! Minimal cannot have floats assigned to it. This function uses the set_val method
-*/
-
-template < >
-bool init_iter(Minimal* iter, Minimal * sorted_list, size_t n, const MinimalCompare &compare, bool reset) {
- static char test_case = 0;
- const char num_cases = 3;
-
- if (reset) test_case = 0;
-
- if (test_case < num_cases) {
- switch(test_case) {
- case 0:
- /* use sin to generate the values */
- test_type = "sin";
- for (size_t i = 0; i < n; i++) {
- iter[i].set_val( int( sin( float(i) ) * 1000.f) );
- sorted_list[i].set_val( int ( sin( float(i) ) * 1000.f) );
- }
- break;
- case 1:
- /* presorted list */
- test_type = "pre-sorted";
- for (size_t i = 0; i < n; i++) {
- iter[i].set_val( int(i) );
- sorted_list[i].set_val( int(i) );
- }
- break;
- case 2:
- /* reverse-sorted list */
- test_type = "reverse-sorted";
- for (size_t i = 0; i < n; i++) {
- iter[i].set_val( int(n-i) );
- sorted_list[i].set_val( int(n-i) );
- }
- break;
- }
- std::sort(sorted_list, sorted_list + n, compare);
- test_case++;
- return true;
- }
- return false;
-}
-
-//! The initialization routine specialized to the class concurrent_vector<Minimal>
-/*! Minimal cannot have floats assigned to it. This function uses the set_val method
-*/
-
-template < >
-bool init_iter(tbb::concurrent_vector<Minimal>::iterator iter, tbb::concurrent_vector<Minimal>::iterator sorted_list,
- size_t n, const MinimalCompare &compare, bool reset) {
- static char test_case = 0;
- const char num_cases = 3;
-
- if (reset) test_case = 0;
-
- if (test_case < num_cases) {
- switch(test_case) {
- case 0:
- /* use sin to generate the values */
- test_type = "sin";
- for (size_t i = 0; i < n; i++) {
- iter[i].set_val( int( sin( float(i) ) * 1000.f) );
- sorted_list[i].set_val( int ( sin( float(i) ) * 1000.f) );
- }
- break;
- case 1:
- /* presorted list */
- test_type = "pre-sorted";
- for (size_t i = 0; i < n; i++) {
- iter[i].set_val( int(i) );
- sorted_list[i].set_val( int(i) );
- }
- break;
- case 2:
- /* reverse-sorted list */
- test_type = "reverse-sorted";
- for (size_t i = 0; i < n; i++) {
- iter[i].set_val( int(n-i) );
- sorted_list[i].set_val( int(n-i) );
- }
- break;
- }
- std::sort(sorted_list, sorted_list + n, compare);
- test_case++;
- return true;
- }
- return false;
-}
-
-//! The initialization routine specialized to the class string
-/*! strings are created from floats.
-*/
-
-template<>
-bool init_iter(std::string *iter, std::string *sorted_list, size_t n, const std::less<std::string> &compare, bool reset) {
- static char test_case = 0;
- const char num_cases = 1;
-
- if (reset) test_case = 0;
-
- if (test_case < num_cases) {
- switch(test_case) {
- case 0:
- /* use sin to generate the values */
- test_type = "sin";
- for (size_t i = 0; i < n; i++) {
- char buffer[20];
-#if __STDC_SECURE_LIB__>=200411
- sprintf_s(buffer, sizeof(buffer), "%f", float(sin(float(i))));
-#else
- sprintf(buffer, "%f", float(sin(float(i))));
-#endif /* _MSC_VER>=1400 */
- sorted_list[i] = iter[i] = std::string(buffer);
- }
- break;
- }
- std::sort(sorted_list, sorted_list + n, compare);
- test_case++;
- return true;
- }
- return false;
-}
-
-//! The current number of threads in use (for Verbose only)
-static size_t current_p;
-
-//! The current data type being sorted (for Verbose only)
-static std::string current_type;
-
-//! The default test routine.
-/*! Tests all data set sizes from 0 to N, all grainsizes from 0 to G=10, and selects from
- all possible interfaces to parallel_sort depending on whether a scratch space and
- compare have been provided.
-*/
-template<typename RandomAccessIterator, typename Compare>
-bool parallel_sortTest(size_t n, RandomAccessIterator iter, RandomAccessIterator sorted_list, const Compare *comp) {
- bool passed = true;
-
- Compare local_comp;
-
- init_iter(iter, sorted_list, n, local_comp, true);
- do {
- if ( Verbose)
- REPORT("%s %s p=%llu n=%llu :",current_type.c_str(), test_type.c_str(),
- static_cast<unsigned long long>(current_p), static_cast<unsigned long long>(n));
- if (comp != NULL) {
- tbb::parallel_sort(iter, iter + n, local_comp );
- } else {
- tbb::parallel_sort(iter, iter + n );
- }
- if (!Validate(iter, sorted_list, n))
- passed = false;
- if ( Verbose ) REPORT("passed\n");
- } while (init_iter(iter, sorted_list, n, local_comp, false));
- return passed;
-}
-
-//! The test routine specialize to Minimal, since it does not have a less defined for it
-template<>
-bool parallel_sortTest(size_t n, Minimal * iter, Minimal * sorted_list, const MinimalCompare *compare) {
- bool passed = true;
-
- if (compare == NULL) return passed;
-
- init_iter(iter, sorted_list, n, *compare, true);
- do {
- if ( Verbose)
- REPORT("%s %s p=%llu n=%llu :",current_type.c_str(), test_type.c_str(),
- static_cast<unsigned long long>(current_p), static_cast<unsigned long long>(n));
-
- tbb::parallel_sort(iter, iter + n, *compare );
-
- if (!Validate(iter, sorted_list, n))
- passed = false;
- if ( Verbose ) REPORT("passed\n");
- } while (init_iter(iter, sorted_list, n, *compare, false));
- return passed;
-}
-
-//! The test routine specialize to concurrent_vector of Minimal, since it does not have a less defined for it
-template<>
-bool parallel_sortTest(size_t n, tbb::concurrent_vector<Minimal>::iterator iter,
- tbb::concurrent_vector<Minimal>::iterator sorted_list, const MinimalCompare *compare) {
- bool passed = true;
-
- if (compare == NULL) return passed;
-
- init_iter(iter, sorted_list, n, *compare, true);
- do {
- if ( Verbose)
- REPORT("%s %s p=%llu n=%llu :",current_type.c_str(), test_type.c_str(),
- static_cast<unsigned long long>(current_p), static_cast<unsigned long long>(n));
-
- tbb::parallel_sort(iter, iter + n, *compare );
-
- if (!Validate(iter, sorted_list, n))
- passed = false;
- if ( Verbose ) REPORT("passed\n");
- } while (init_iter(iter, sorted_list, n, *compare, false));
- return passed;
-}
-
-//! The main driver for the tests.
-/*! Minimal, float and string types are used. All interfaces to parallel_sort that are usable
- by each type are tested.
-*/
-void Flog() {
- // For each type create:
- // the list to be sorted by parallel_sort (array)
- // the list to be sort by STL sort (array_2)
- // and a less function object
-
- const size_t N = 50000;
-
- Minimal *minimal_array = new Minimal[N];
- Minimal *minimal_array_2 = new Minimal[N];
- MinimalCompare minimal_less;
-
-#if !__TBB_FLOATING_POINT_BROKEN
- float *float_array = new float[N];
- float *float_array_2 = new float[N];
- std::less<float> float_less;
-
- tbb::concurrent_vector<float> float_cv1;
- tbb::concurrent_vector<float> float_cv2;
- float_cv1.grow_to_at_least(N);
- float_cv2.grow_to_at_least(N);
-#endif /* !__TBB_FLOATING_POINT_BROKEN */
-
- std::string *string_array = new std::string[N];
- std::string *string_array_2 = new std::string[N];
- std::less<std::string> string_less;
-
- tbb::concurrent_vector<Minimal> minimal_cv1;
- tbb::concurrent_vector<Minimal> minimal_cv2;
- minimal_cv1.grow_to_at_least(N);
- minimal_cv2.grow_to_at_least(N);
-
-
- // run the appropriate tests for each type
-
- current_type = "Minimal(less)";
- parallel_sortTest(0, minimal_array, minimal_array_2, &minimal_less);
- parallel_sortTest(1, minimal_array, minimal_array_2, &minimal_less);
- parallel_sortTest(10, minimal_array, minimal_array_2, &minimal_less);
- parallel_sortTest(9999, minimal_array, minimal_array_2, &minimal_less);
- parallel_sortTest(50000, minimal_array, minimal_array_2, &minimal_less);
-
-#if !__TBB_FLOATING_POINT_BROKEN
- current_type = "float (no less)";
- parallel_sortTest(0, float_array, float_array_2, static_cast<std::less<float> *>(NULL));
- parallel_sortTest(1, float_array, float_array_2, static_cast<std::less<float> *>(NULL));
- parallel_sortTest(10, float_array, float_array_2, static_cast<std::less<float> *>(NULL));
- parallel_sortTest(9999, float_array, float_array_2, static_cast<std::less<float> *>(NULL));
- parallel_sortTest(50000, float_array, float_array_2, static_cast<std::less<float> *>(NULL));
-
- current_type = "float (less)";
- parallel_sortTest(0, float_array, float_array_2, &float_less);
- parallel_sortTest(1, float_array, float_array_2, &float_less);
- parallel_sortTest(10, float_array, float_array_2, &float_less);
- parallel_sortTest(9999, float_array, float_array_2, &float_less);
- parallel_sortTest(50000, float_array, float_array_2, &float_less);
-
- current_type = "concurrent_vector<float> (no less)";
- parallel_sortTest(0, float_cv1.begin(), float_cv2.begin(), static_cast<std::less<float> *>(NULL));
- parallel_sortTest(1, float_cv1.begin(), float_cv2.begin(), static_cast<std::less<float> *>(NULL));
- parallel_sortTest(10, float_cv1.begin(), float_cv2.begin(), static_cast<std::less<float> *>(NULL));
- parallel_sortTest(9999, float_cv1.begin(), float_cv2.begin(), static_cast<std::less<float> *>(NULL));
- parallel_sortTest(50000, float_cv1.begin(), float_cv2.begin(), static_cast<std::less<float> *>(NULL));
-
- current_type = "concurrent_vector<float> (less)";
- parallel_sortTest(0, float_cv1.begin(), float_cv2.begin(), &float_less);
- parallel_sortTest(1, float_cv1.begin(), float_cv2.begin(), &float_less);
- parallel_sortTest(10, float_cv1.begin(), float_cv2.begin(), &float_less);
- parallel_sortTest(9999, float_cv1.begin(), float_cv2.begin(), &float_less);
- parallel_sortTest(50000, float_cv1.begin(), float_cv2.begin(), &float_less);
-#endif /* !__TBB_FLOATING_POINT_BROKEN */
-
- current_type = "string (no less)";
- parallel_sortTest(0, string_array, string_array_2, static_cast<std::less<std::string> *>(NULL));
- parallel_sortTest(1, string_array, string_array_2, static_cast<std::less<std::string> *>(NULL));
- parallel_sortTest(10, string_array, string_array_2, static_cast<std::less<std::string> *>(NULL));
- parallel_sortTest(9999, string_array, string_array_2, static_cast<std::less<std::string> *>(NULL));
- parallel_sortTest(50000, string_array, string_array_2, static_cast<std::less<std::string> *>(NULL));
-
- current_type = "string (less)";
- parallel_sortTest(0, string_array, string_array_2, &string_less);
- parallel_sortTest(1, string_array, string_array_2, &string_less);
- parallel_sortTest(10, string_array, string_array_2, &string_less);
- parallel_sortTest(9999, string_array, string_array_2, &string_less);
- parallel_sortTest(50000, string_array, string_array_2, &string_less);
-
- current_type = "concurrent_vector<Minimal> (less)";
- parallel_sortTest(0, minimal_cv1.begin(), minimal_cv2.begin(), &minimal_less);
- parallel_sortTest(1, minimal_cv1.begin(), minimal_cv2.begin(), &minimal_less);
- parallel_sortTest(10, minimal_cv1.begin(), minimal_cv2.begin(), &minimal_less);
- parallel_sortTest(9999, minimal_cv1.begin(), minimal_cv2.begin(), &minimal_less);
- parallel_sortTest(50000, minimal_cv1.begin(), minimal_cv2.begin(), &minimal_less);
-
- delete [] minimal_array;
- delete [] minimal_array_2;
-
-#if !__TBB_FLOATING_POINT_BROKEN
- delete [] float_array;
- delete [] float_array_2;
-#endif /* !__TBB_FLOATING_POINT_BROKEN */
-
- delete [] string_array;
- delete [] string_array_2;
-}
-
-#include <cstdio>
-#include "harness_cpu.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- ParseCommandLine(argc,argv);
- if( MinThread<1 ) {
- REPORT("Usage: number of threads must be positive\n");
- exit(1);
- }
- for( int p=MinThread; p<=MaxThread; ++p ) {
- if( p>0 ) {
- tbb::task_scheduler_init init( p );
- current_p = p;
- Flog();
-
- // Test that all workers sleep when no work
- TestCPUUserTime(p);
- }
- }
- REPORT("done\n");
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/parallel_while.h"
-#include "harness.h"
-
-const int N = 200;
-
-typedef int Element;
-
-//! Representation of an array index with only those signatures required by parallel_while.
-class MinimalArgumentType {
- void operator=( const MinimalArgumentType& );
- long my_value;
- enum {
- DEAD=0xDEAD,
- LIVE=0x2718,
- INITIALIZED=0x3141
- } my_state;
-public:
- ~MinimalArgumentType() {
- ASSERT( my_state==LIVE||my_state==INITIALIZED, NULL );
- my_state = DEAD;
- }
- MinimalArgumentType() {
- my_state = LIVE;
- }
- void set_value( long i ) {
- ASSERT( my_state==LIVE||my_state==INITIALIZED, NULL );
- my_value = i;
- my_state = INITIALIZED;
- }
- long get_value() const {
- ASSERT( my_state==INITIALIZED, NULL );
- return my_value;
- }
-};
-
-class IntegerStream {
- long my_limit;
- long my_index;
-public:
- IntegerStream( long n ) : my_limit(n), my_index(0) {}
- bool pop_if_present( MinimalArgumentType& v ) {
- if( my_index>=my_limit )
- return false;
- v.set_value( my_index );
- my_index+=2;
- return true;
- }
-};
-
-class MatrixMultiplyBody: NoAssign {
- Element (*a)[N];
- Element (*b)[N];
- Element (*c)[N];
- const int n;
- tbb::parallel_while<MatrixMultiplyBody>& my_while;
-public:
- typedef MinimalArgumentType argument_type;
- void operator()( argument_type i_arg ) const {
- long i = i_arg.get_value();
- if( (i&1)==0 && i+1<N ) {
- MinimalArgumentType value;
- value.set_value(i+1);
- my_while.add( value );
- }
- for( int j=0; j<n; ++j )
- c[i][j] = 0;
- for( int k=0; k<n; ++k ) {
- Element aik = a[i][k];
- for( int j=0; j<n; ++j )
- c[i][j] += aik*b[k][j];
- }
- }
- MatrixMultiplyBody( tbb::parallel_while<MatrixMultiplyBody>& w, Element c_[N][N], Element a_[N][N], Element b_[N][N], int n_ ) :
- a(a_), b(b_), c(c_), n(n_), my_while(w)
- {}
-};
-
-void WhileMatrixMultiply( Element c[N][N], Element a[N][N], Element b[N][N], int n ) {
- IntegerStream stream( N );
- tbb::parallel_while<MatrixMultiplyBody> w;
- MatrixMultiplyBody body(w,c,a,b,n);
- w.run( stream, body );
-}
-
-#include "tbb/tick_count.h"
-#include <cstdlib>
-#include <cstdio>
-using namespace std;
-
-static long Iterations = 5;
-
-static void SerialMatrixMultiply( Element c[N][N], Element a[N][N], Element b[N][N], int n ) {
- for( int i=0; i<n; ++i ) {
- for( int j=0; j<n; ++j )
- c[i][j] = 0;
- for( int k=0; k<n; ++k ) {
- Element aik = a[i][k];
- for( int j=0; j<n; ++j )
- c[i][j] += aik*b[k][j];
- }
- }
-}
-
-static void InitializeMatrix( Element x[N][N], int n, int salt ) {
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- x[i][j] = (i*n+j)^salt;
-}
-
-static Element A[N][N], B[N][N], C[N][N], D[N][N];
-
-static void Run( int nthread, int n ) {
- /* Initialize matrices */
- InitializeMatrix(A,n,5);
- InitializeMatrix(B,n,10);
- InitializeMatrix(C,n,0);
- InitializeMatrix(D,n,15);
-
- tbb::tick_count t0 = tbb::tick_count::now();
- for( long i=0; i<Iterations; ++i ) {
- WhileMatrixMultiply( C, A, B, n );
- }
- tbb::tick_count t1 = tbb::tick_count::now();
- SerialMatrixMultiply( D, A, B, n );
-
- // Check result
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- ASSERT( C[i][j]==D[i][j], NULL );
- if( Verbose )
- REPORT("time=%g\tnthread=%d\tn=%d\n",(t1-t0).seconds(),nthread,n);
-}
-
-#include "tbb/task_scheduler_init.h"
-#include "harness_cpu.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- ParseCommandLine( argc, argv );
- if( MinThread<1 ) {
- REPORT("number of threads must be positive\n");
- exit(1);
- }
- for( int p=MinThread; p<=MaxThread; ++p ) {
- tbb::task_scheduler_init init( p );
- for( int n=N/4; n<=N; n+=N/4 )
- Run(p,n);
-
- // Test that all workers sleep when no work
- TestCPUUserTime(p);
- }
- REPORT("done\n");
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/tbb_stddef.h"
-#include "tbb/pipeline.h"
-#include "tbb/spin_mutex.h"
-#include "tbb/atomic.h"
-#include <cstdlib>
-#include <cstdio>
-#include "harness.h"
-
-// In the test, variables related to token counting are declared
-// as unsigned long to match definition of tbb::internal::Token.
-
-struct Buffer {
- //! Indicates that the buffer is not used.
- static const unsigned long unused = ~0ul;
- unsigned long id;
- //! True if Buffer is in use.
- bool is_busy;
- unsigned long sequence_number;
- Buffer() : id(unused), is_busy(false), sequence_number(unused) {}
-};
-
-class waiting_probe {
- size_t check_counter;
-public:
- waiting_probe() : check_counter(0) {}
- bool required( ) {
- ++check_counter;
- return !((check_counter+1)&size_t(0x7FFF));
- }
- void probe( ); // defined below
-};
-
-static const unsigned MaxStreamSize = 8000;
-static const unsigned MaxStreamItemsPerThread = 1000;
-//! Maximum number of filters allowed
-static const unsigned MaxFilters = 5;
-static unsigned StreamSize;
-static const unsigned MaxBuffer = 8;
-static bool Done[MaxFilters][MaxStreamSize];
-static waiting_probe WaitTest;
-static unsigned out_of_order_count;
-
-#include "harness_concurrency_tracker.h"
-
-class BaseFilter: public tbb::filter {
- bool* const my_done;
- const bool my_is_last;
- bool my_is_running;
-public:
- tbb::atomic<tbb::internal::Token> current_token;
- BaseFilter( tbb::filter::mode type, bool done[], bool is_last ) :
- filter(type),
- my_done(done),
- my_is_last(is_last),
- my_is_running(false),
- current_token()
- {}
- virtual Buffer* get_buffer( void* item ) {
- current_token++;
- return static_cast<Buffer*>(item);
- }
- /*override*/void* operator()( void* item ) {
- Harness::ConcurrencyTracker ct;
- if( is_serial() )
- ASSERT( !my_is_running, "premature entry to serial stage" );
- my_is_running = true;
- Buffer* b = get_buffer(item);
- if( b ) {
- if( is_ordered() ) {
- if( b->sequence_number == Buffer::unused )
- b->sequence_number = current_token-1;
- else
- ASSERT( b->sequence_number==current_token-1, "item arrived out of order" );
- } else if( is_serial() ) {
- if( b->sequence_number != current_token-1 && b->sequence_number != Buffer::unused )
- out_of_order_count++;
- }
- ASSERT( b->id < StreamSize, NULL );
- ASSERT( !my_done[b->id], "duplicate processing of token?" );
- ASSERT( b->is_busy, NULL );
- my_done[b->id] = true;
- if( my_is_last ) {
- b->id = Buffer::unused;
- b->sequence_number = Buffer::unused;
- __TBB_store_with_release(b->is_busy, false);
- }
- }
- my_is_running = false;
- return b;
- }
-};
-
-class InputFilter: public BaseFilter {
- tbb::spin_mutex input_lock;
- Buffer buffer[MaxBuffer];
- const tbb::internal::Token my_number_of_tokens;
-public:
- InputFilter( tbb::filter::mode type, tbb::internal::Token ntokens, bool done[], bool is_last ) :
- BaseFilter(type, done, is_last),
- my_number_of_tokens(ntokens)
- {}
- /*override*/Buffer* get_buffer( void* ) {
- unsigned long next_input;
- unsigned free_buffer = 0;
- { // lock protected scope
- tbb::spin_mutex::scoped_lock lock(input_lock);
- if( current_token>=StreamSize )
- return NULL;
- next_input = current_token++;
- // once in a while, emulate waiting for input; this only makes sense for serial input
- if( is_serial() && WaitTest.required() )
- WaitTest.probe( );
- while( free_buffer<MaxBuffer )
- if( __TBB_load_with_acquire(buffer[free_buffer].is_busy) )
- ++free_buffer;
- else {
- buffer[free_buffer].is_busy = true;
- break;
- }
- }
- ASSERT( free_buffer<my_number_of_tokens, "premature reuse of buffer" );
- Buffer* b = &buffer[free_buffer];
- ASSERT( &buffer[0] <= b, NULL );
- ASSERT( b <= &buffer[MaxBuffer-1], NULL );
- ASSERT( b->id == Buffer::unused, NULL);
- b->id = next_input;
- ASSERT( b->sequence_number == Buffer::unused, NULL);
- return b;
- }
-};
-
-//! The struct below repeats layout of tbb::pipeline.
-struct hacked_pipeline {
- tbb::filter* filter_list;
- tbb::filter* filter_end;
- tbb::empty_task* end_counter;
- tbb::atomic<tbb::internal::Token> input_tokens;
- tbb::atomic<tbb::internal::Token> token_counter;
- bool end_of_input;
- bool has_thread_bound_filters;
-
- virtual ~hacked_pipeline();
-};
-
-//! The struct below repeats layout of tbb::internal::input_buffer.
-struct hacked_input_buffer {
- void* array; // This should be changed to task_info* if ever used
- tbb::internal::Token array_size;
- tbb::internal::Token low_token;
- tbb::spin_mutex array_mutex;
- tbb::internal::Token high_token;
- bool is_ordered;
- bool is_bound;
-};
-
-//! The struct below repeats layout of tbb::filter.
-struct hacked_filter {
- tbb::filter* next_filter_in_pipeline;
- hacked_input_buffer* my_input_buffer;
- unsigned char my_filter_mode;
- tbb::filter* prev_filter_in_pipeline;
- tbb::pipeline* my_pipeline;
- tbb::filter* next_segment;
-
- virtual ~hacked_filter();
-};
-
-bool do_hacking_tests = true;
-const tbb::internal::Token tokens_before_wraparound = 0xF;
-
-void TestTrivialPipeline( unsigned nthread, unsigned number_of_filters ) {
- // There are 3 filter types: parallel, serial_in_order and serial_out_of_order
- static const tbb::filter::mode filter_table[] = { tbb::filter::parallel, tbb::filter::serial_in_order, tbb::filter::serial_out_of_order};
- const unsigned number_of_filter_types = sizeof(filter_table)/sizeof(filter_table[0]);
- REMARK( "testing with %lu threads and %lu filters\n", nthread, number_of_filters );
- ASSERT( number_of_filters<=MaxFilters, "too many filters" );
- ASSERT( sizeof(hacked_pipeline) == sizeof(tbb::pipeline), "layout changed for tbb::pipeline?" );
- ASSERT( sizeof(hacked_filter) == sizeof(tbb::filter), "layout changed for tbb::filter?" );
- tbb::internal::Token ntokens = nthread<MaxBuffer ? nthread : MaxBuffer;
- // Count maximum iterations number
- unsigned limit = 1;
- for( unsigned i=0; i<number_of_filters; ++i)
- limit *= number_of_filter_types;
- // Iterate over possible filter sequences
- for( unsigned numeral=0; numeral<limit; ++numeral ) {
- // Build pipeline
- tbb::pipeline pipeline;
- if( do_hacking_tests ) {
- // A private member of pipeline is hacked there for sake of testing wrap-around immunity.
- ((hacked_pipeline*)(void*)&pipeline)->token_counter = ~tokens_before_wraparound;
- }
- tbb::filter* filter[MaxFilters];
- unsigned temp = numeral;
- // parallelism_limit is the upper bound on the possible parallelism
- unsigned parallelism_limit = 0;
- for( unsigned i=0; i<number_of_filters; ++i, temp/=number_of_filter_types ) {
- tbb::filter::mode filter_type = filter_table[temp%number_of_filter_types];
- const bool is_last = i==number_of_filters-1;
- if( i==0 )
- filter[i] = new InputFilter(filter_type,ntokens,Done[i],is_last);
- else
- filter[i] = new BaseFilter(filter_type,Done[i],is_last);
- pipeline.add_filter(*filter[i]);
- // The ordered buffer of serial filters is hacked as well.
- if ( filter[i]->is_serial() ) {
- if( do_hacking_tests ) {
- ((hacked_filter*)(void*)filter[i])->my_input_buffer->low_token = ~tokens_before_wraparound;
- ((hacked_filter*)(void*)filter[i])->my_input_buffer->high_token = ~tokens_before_wraparound;
- }
- parallelism_limit += 1;
- } else {
- parallelism_limit = nthread;
- }
- }
- // Account for clipping of parallelism.
- if( parallelism_limit>nthread )
- parallelism_limit = nthread;
- if( parallelism_limit>ntokens )
- parallelism_limit = (unsigned)ntokens;
- Harness::ConcurrencyTracker::Reset();
- unsigned streamSizeLimit = min( MaxStreamSize, nthread * MaxStreamItemsPerThread );
- for( StreamSize=0; StreamSize<=streamSizeLimit; ) {
- memset( Done, 0, sizeof(Done) );
- for( unsigned i=0; i<number_of_filters; ++i ) {
- static_cast<BaseFilter*>(filter[i])->current_token=0;
- }
- pipeline.run( ntokens );
- ASSERT( !Harness::ConcurrencyTracker::InstantParallelism(), "filter still running?" );
- for( unsigned i=0; i<number_of_filters; ++i )
- ASSERT( static_cast<BaseFilter*>(filter[i])->current_token==StreamSize, NULL );
- for( unsigned i=0; i<MaxFilters; ++i )
- for( unsigned j=0; j<StreamSize; ++j ) {
- ASSERT( Done[i][j]==(i<number_of_filters), NULL );
- }
- if( StreamSize < min(nthread*8, 32u) ) {
- ++StreamSize;
- } else {
- StreamSize = StreamSize*8/3;
- }
- }
- if( Harness::ConcurrencyTracker::PeakParallelism() < parallelism_limit )
- REMARK( "nthread=%lu ntokens=%lu MaxParallelism=%lu parallelism_limit=%lu\n",
- nthread, ntokens, Harness::ConcurrencyTracker::PeakParallelism(), parallelism_limit );
- for( unsigned i=0; i < number_of_filters; ++i ) {
- delete filter[i];
- filter[i] = NULL;
- }
- pipeline.clear();
- }
-}
-
-#include "harness_cpu.h"
-
-static int nthread; // knowing number of threads is necessary to call TestCPUUserTime
-
-void waiting_probe::probe( ) {
- if( nthread==1 ) return;
- REMARK("emulating wait for input\n");
- // Test that threads sleep while no work.
- // The master doesn't sleep so there could be 2 active threads if a worker is waiting for input
- TestCPUUserTime(nthread, 2);
-}
-
-#include "tbb/task_scheduler_init.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- // Default is at least one thread.
- MinThread = 1;
- out_of_order_count = 0;
- ParseCommandLine(argc,argv);
- if( MinThread<1 ) {
- REPORT("must have at least one thread");
- exit(1);
- }
- if( tbb::TBB_runtime_interface_version()>TBB_INTERFACE_VERSION) {
- if( Verbose )
- REPORT("Warning: implementation dependent tests disabled\n");
- do_hacking_tests = false;
- }
-
- // Test with varying number of threads.
- for( nthread=MinThread; nthread<=MaxThread; ++nthread ) {
- // Initialize TBB task scheduler
- tbb::task_scheduler_init init(nthread);
-
- // Test pipelines with n filters
- for( unsigned n=0; n<=MaxFilters; ++n )
- TestTrivialPipeline(nthread,n);
-
- // Test that all workers sleep when no work
- TestCPUUserTime(nthread);
- }
- if( !out_of_order_count )
- REPORT("Warning: out of order serial filter received tokens in order\n");
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/pipeline.h"
-#include "tbb/spin_mutex.h"
-#include "tbb/atomic.h"
-#include "tbb/tbb_thread.h"
-#include <cstdlib>
-#include <cstdio>
-#include "harness.h"
-
-// In the test, variables related to token counting are declared
-// as unsigned long to match definition of tbb::internal::Token.
-
-struct Buffer {
- //! Indicates that the buffer is not used.
- static const unsigned long unused = ~0ul;
- unsigned long id;
- //! True if Buffer is in use.
- bool is_busy;
- unsigned long sequence_number;
- Buffer() : id(unused), is_busy(false), sequence_number(unused) {}
-};
-
-class waiting_probe {
- size_t check_counter;
-public:
- waiting_probe() : check_counter(0) {}
- bool required( ) {
- ++check_counter;
- return !((check_counter+1)&size_t(0x7FFF));
- }
- void probe( ); // defined below
-};
-
-static const unsigned MaxStreamSize = 8000;
-static const unsigned MaxStreamItemsPerThread = 1000;
-//! Maximum number of filters allowed
-static const unsigned MaxFilters = 4;
-static unsigned StreamSize;
-static const unsigned MaxBuffer = 8;
-static bool Done[MaxFilters][MaxStreamSize];
-static waiting_probe WaitTest;
-static unsigned out_of_order_count;
-
-#include "harness_concurrency_tracker.h"
-
-template<typename T>
-class BaseFilter: public T {
- bool* const my_done;
- const bool my_is_last;
- bool my_is_running;
-public:
- tbb::atomic<tbb::internal::Token> current_token;
- BaseFilter( tbb::filter::mode type, bool done[], bool is_last ) :
- T(type),
- my_done(done),
- my_is_last(is_last),
- my_is_running(false),
- current_token()
- {}
- virtual Buffer* get_buffer( void* item ) {
- current_token++;
- return static_cast<Buffer*>(item);
- }
- /*override*/void* operator()( void* item ) {
- Harness::ConcurrencyTracker ct;
- if( this->is_serial() )
- ASSERT( !my_is_running, "premature entry to serial stage" );
- my_is_running = true;
- Buffer* b = get_buffer(item);
- if( b ) {
- if( this->is_ordered() ) {
- if( b->sequence_number == Buffer::unused )
- b->sequence_number = current_token-1;
- else
- ASSERT( b->sequence_number==current_token-1, "item arrived out of order" );
- } else if( this->is_serial() ) {
- if( b->sequence_number != current_token-1 && b->sequence_number != Buffer::unused )
- out_of_order_count++;
- }
- ASSERT( b->id < StreamSize, NULL );
- ASSERT( !my_done[b->id], "duplicate processing of token?" );
- ASSERT( b->is_busy, NULL );
- my_done[b->id] = true;
- if( my_is_last ) {
- b->id = Buffer::unused;
- b->sequence_number = Buffer::unused;
- __TBB_store_with_release(b->is_busy, false);
- }
- }
- my_is_running = false;
- return b;
- }
-};
-
-template<typename T>
-class InputFilter: public BaseFilter<T> {
- tbb::spin_mutex input_lock;
- Buffer buffer[MaxBuffer];
- const tbb::internal::Token my_number_of_tokens;
-public:
- InputFilter( tbb::filter::mode type, tbb::internal::Token ntokens, bool done[], bool is_last ) :
- BaseFilter<T>(type, done, is_last),
- my_number_of_tokens(ntokens)
- {}
- /*override*/Buffer* get_buffer( void* ) {
- unsigned long next_input;
- unsigned free_buffer = 0;
- { // lock protected scope
- tbb::atomic<tbb::internal::Token>& current_token = this->current_token;
- tbb::spin_mutex::scoped_lock lock(input_lock);
- if( current_token>=StreamSize )
- return NULL;
- next_input = current_token++;
- // once in a while, emulate waiting for input; this only makes sense for serial input
- if( this->is_serial() && WaitTest.required() )
- WaitTest.probe( );
- while( free_buffer<MaxBuffer )
- if( __TBB_load_with_acquire(buffer[free_buffer].is_busy) )
- ++free_buffer;
- else {
- buffer[free_buffer].is_busy = true;
- break;
- }
- }
- ASSERT( free_buffer<my_number_of_tokens, "premature reuse of buffer" );
- Buffer* b = &buffer[free_buffer];
- ASSERT( &buffer[0] <= b, NULL );
- ASSERT( b <= &buffer[MaxBuffer-1], NULL );
- ASSERT( b->id == Buffer::unused, NULL);
- b->id = next_input;
- ASSERT( b->sequence_number == Buffer::unused, NULL);
- return b;
- }
-};
-
-class process_loop {
-public:
- void operator()( tbb::thread_bound_filter* tbf ) {
- tbb::thread_bound_filter::result_type flag;
- do
- flag = tbf->process_item();
- while( flag != tbb::thread_bound_filter::end_of_stream );
- }
-};
-
-//! The struct below repeats layout of tbb::pipeline.
-struct hacked_pipeline {
- tbb::filter* filter_list;
- tbb::filter* filter_end;
- tbb::empty_task* end_counter;
- tbb::atomic<tbb::internal::Token> input_tokens;
- tbb::atomic<tbb::internal::Token> global_token_counter;
- bool end_of_input;
- bool has_thread_bound_filters;
-
- virtual ~hacked_pipeline();
-};
-
-//! The struct below repeats layout of tbb::internal::ordered_buffer.
-struct hacked_ordered_buffer {
- void* array; // This should be changed to task_info* if ever used
- tbb::internal::Token array_size;
- tbb::internal::Token low_token;
- tbb::spin_mutex array_mutex;
- tbb::internal::Token high_token;
- bool is_ordered;
- bool is_bound;
-};
-
-//! The struct below repeats layout of tbb::filter.
-struct hacked_filter {
- tbb::filter* next_filter_in_pipeline;
- hacked_ordered_buffer* input_buffer;
- unsigned char my_filter_mode;
- tbb::filter* prev_filter_in_pipeline;
- tbb::pipeline* my_pipeline;
- tbb::filter* next_segment;
-
- virtual ~hacked_filter();
-};
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // Workaround for overzealous compiler warnings
- // Suppress compiler warning about constant conditional expression
- #pragma warning (disable: 4127)
-#endif
-
-void TestTrivialPipeline( unsigned nthread, unsigned number_of_filters ) {
- // There are 3 non-thread-bound filter types: serial_in_order and serial_out_of_order, parallel
- static const tbb::filter::mode non_tb_filters_table[] = { tbb::filter::serial_in_order, tbb::filter::serial_out_of_order, tbb::filter::parallel};
- // There are 2 thread-bound filter types: serial_in_order and serial_out_of_order
- static const tbb::filter::mode tb_filters_table[] = { tbb::filter::serial_in_order, tbb::filter::serial_out_of_order };
-
- const unsigned number_of_non_tb_filter_types = sizeof(non_tb_filters_table)/sizeof(non_tb_filters_table[0]);
- const unsigned number_of_tb_filter_types = sizeof(tb_filters_table)/sizeof(tb_filters_table[0]);
- const unsigned number_of_filter_types = number_of_non_tb_filter_types + number_of_tb_filter_types;
-
- REMARK( "testing with %lu threads and %lu filters\n", nthread, number_of_filters );
- ASSERT( number_of_filters<=MaxFilters, "too many filters" );
- tbb::internal::Token ntokens = nthread<MaxBuffer ? nthread : MaxBuffer;
- // Count maximum iterations number
- unsigned limit = 1;
- for( unsigned i=0; i<number_of_filters; ++i)
- limit *= number_of_filter_types;
- // Iterate over possible filter sequences
- for( unsigned numeral=0; numeral<limit; ++numeral ) {
- REMARK( "testing configuration %lu of %lu\n", numeral, limit );
- // Build pipeline
- tbb::pipeline pipeline;
- tbb::filter* filter[MaxFilters];
- unsigned temp = numeral;
- // parallelism_limit is the upper bound on the possible parallelism
- unsigned parallelism_limit = 0;
- // number of thread-bound-filters in the current sequence
- unsigned number_of_tb_filters = 0;
- // ordinal numbers of thread-bound-filters in the current sequence
- unsigned array_of_tb_filter_numbers[MaxFilters];
- for( unsigned i=0; i<number_of_filters; ++i, temp/=number_of_filter_types ) {
- bool is_bound = temp%number_of_filter_types&0x1;
- tbb::filter::mode filter_type;
- if( is_bound ) {
- filter_type = tb_filters_table[temp%number_of_filter_types/number_of_non_tb_filter_types];
- } else
- filter_type = non_tb_filters_table[temp%number_of_filter_types/number_of_tb_filter_types];
- const bool is_last = i==number_of_filters-1;
- if( is_bound ) {
- if( i == 0 )
- filter[i] = new InputFilter<tbb::thread_bound_filter>(filter_type,ntokens,Done[i],is_last);
- else
- filter[i] = new BaseFilter<tbb::thread_bound_filter>(filter_type,Done[i],is_last);
- array_of_tb_filter_numbers[number_of_tb_filters] = i;
- number_of_tb_filters++;
- } else {
- if( i == 0 )
- filter[i] = new InputFilter<tbb::filter>(filter_type,ntokens,Done[i],is_last);
- else
- filter[i] = new BaseFilter<tbb::filter>(filter_type,Done[i],is_last);
- }
- pipeline.add_filter(*filter[i]);
- if ( filter[i]->is_serial() ) {
- parallelism_limit += 1;
- } else {
- parallelism_limit = nthread;
- }
- }
- // Account for clipping of parallelism.
- if( parallelism_limit>nthread )
- parallelism_limit = nthread;
- if( parallelism_limit>ntokens )
- parallelism_limit = (unsigned)ntokens;
- Harness::ConcurrencyTracker::Reset();
- StreamSize = nthread; // min( MaxStreamSize, nthread * MaxStreamItemsPerThread );
-
- memset( Done, 0, sizeof(Done) );
- for( unsigned i=0; i<number_of_filters; ++i ) {
- static_cast<BaseFilter<tbb::filter>*>(filter[i])->current_token=0;
- }
- tbb::tbb_thread* t[MaxFilters];
- for( unsigned j = 0; j<number_of_tb_filters; j++)
- t[j] = new tbb::tbb_thread(process_loop(), static_cast<tbb::thread_bound_filter*>(filter[array_of_tb_filter_numbers[j]]));
- pipeline.run( ntokens );
- for( unsigned j = 0; j<number_of_tb_filters; j++)
- t[j]->join();
- ASSERT( !Harness::ConcurrencyTracker::InstantParallelism(), "filter still running?" );
- for( unsigned i=0; i<number_of_filters; ++i )
- ASSERT( static_cast<BaseFilter<tbb::filter>*>(filter[i])->current_token==StreamSize, NULL );
- for( unsigned i=0; i<MaxFilters; ++i )
- for( unsigned j=0; j<StreamSize; ++j ) {
- ASSERT( Done[i][j]==(i<number_of_filters), NULL );
- }
- if( Harness::ConcurrencyTracker::PeakParallelism() < parallelism_limit )
- REMARK( "nthread=%lu ntokens=%lu MaxParallelism=%lu parallelism_limit=%lu\n",
- nthread, ntokens, Harness::ConcurrencyTracker::PeakParallelism(), parallelism_limit );
- for( unsigned i=0; i < number_of_filters; ++i ) {
- delete filter[i];
- filter[i] = NULL;
- }
- pipeline.clear();
- }
-}
-
-#include "harness_cpu.h"
-
-static int nthread; // knowing number of threads is necessary to call TestCPUUserTime
-
-void waiting_probe::probe( ) {
- if( nthread==1 ) return;
- REMARK("emulating wait for input\n");
- // Test that threads sleep while no work.
- // The master doesn't sleep so there could be 2 active threads if a worker is waiting for input
- TestCPUUserTime(nthread, 2);
-}
-
-#include "tbb/task_scheduler_init.h"
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- // Default is at least one thread.
- MinThread = 1;
- out_of_order_count = 0;
- ParseCommandLine(argc,argv);
- if( MinThread<1 ) {
- REPORT("must have at least one thread");
- exit(1);
- }
-
- // Test with varying number of threads.
- for( nthread=MinThread; nthread<=MaxThread; ++nthread ) {
- // Initialize TBB task scheduler
- tbb::task_scheduler_init init(nthread);
-
- // Test pipelines with n filters
- for( unsigned n=MaxFilters; n<=MaxFilters; ++n ) {
- // Thread-bound stages are serviced by user-created threads those
- // don't run the pipeline and don't service non-thread-bound stages
- TestTrivialPipeline(nthread,n);
- }
-
- // Test that all workers sleep when no work
- TestCPUUserTime(nthread);
- }
- if( !out_of_order_count )
- REPORT("Warning: out of order serial filter received tokens in order\n");
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/queuing_rw_mutex.h"
-#include "tbb/spin_rw_mutex.h"
-#include "harness.h"
-
-using namespace tbb;
-
-volatile int Count;
-
-template<typename RWMutex>
-struct Hammer: NoAssign {
- RWMutex &MutexProtectingCount;
- mutable volatile int dummy;
-
- Hammer(RWMutex &m): MutexProtectingCount(m) {}
- void operator()( int /*thread_id*/ ) const {
- for( int j=0; j<100000; ++j ) {
- typename RWMutex::scoped_lock lock(MutexProtectingCount,false);
- int c = Count;
- for( int j=0; j<10; ++j ) {
- ++dummy;
- }
- if( lock.upgrade_to_writer() ) {
- // The upgrade succeeded without any intervening writers
- ASSERT( c==Count, "another thread modified Count while I held a read lock" );
- } else {
- c = Count;
- }
- for( int j=0; j<10; ++j ) {
- ++Count;
- }
- lock.downgrade_to_reader();
- for( int j=0; j<10; ++j ) {
- ++dummy;
- }
- }
- }
-};
-
-queuing_rw_mutex QRW_mutex;
-spin_rw_mutex SRW_mutex;
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[]) {
- ParseCommandLine( argc, argv );
- for( int p=MinThread; p<=MaxThread; ++p ) {
- Count = 0;
- NativeParallelFor( p, Hammer<queuing_rw_mutex>(QRW_mutex) );
- Count = 0;
- NativeParallelFor( p, Hammer<spin_rw_mutex>(SRW_mutex) );
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/task.h"
-#include "tbb/atomic.h"
-#include "tbb/tbb_thread.h"
-#include "harness_assert.h"
-#include <cstdlib>
-
-//------------------------------------------------------------------------
-// Test for task::spawn_children and task_list
-//------------------------------------------------------------------------
-
-#if __TBB_TASK_DEQUE
-
-class UnboundedlyRecursiveOnUnboundedStealingTask : public tbb::task {
- typedef UnboundedlyRecursiveOnUnboundedStealingTask this_type;
-
- this_type *m_Parent;
- const int m_Depth;
- volatile bool m_GoAhead;
-
- volatile uintptr_t m_Anchor;
-
- // Well, virtually unboundedly, for any practical purpose
- static const int max_depth = 1000000;
-
-public:
- UnboundedlyRecursiveOnUnboundedStealingTask( this_type *parent = NULL, int depth = max_depth )
- : m_Parent(parent)
- , m_Depth(depth)
- , m_GoAhead(true)
- , m_Anchor(0)
- {}
-
- /*override*/
- tbb::task* execute() {
- if( !m_Parent || (m_Depth > 0 && m_Parent->m_GoAhead) ) {
- if ( m_Parent ) {
- // We are stolen, let our parent to start waiting for us
- m_Parent->m_GoAhead = false;
- }
- tbb::task &t = *new( tbb::task::allocate_child() ) this_type(this, m_Depth - 1);
- set_ref_count( 2 );
- spawn( t );
- // Give a willing thief a chance to steal
- for( int i = 0; i < 1000000 && m_GoAhead; ++i ) {
- m_Anchor += 1;
- __TBB_Yield();
- }
- // If our child has not been stolen yet, then prohibit it siring ones
- // of its own (when this thread executes it inside the next wait_for_all)
- m_GoAhead = false;
- wait_for_all();
- }
- return NULL;
- }
-}; // UnboundedlyRecursiveOnUnboundedStealingTask
-
-#endif /* __TBB_TASK_DEQUE */
-
-
-tbb::atomic<int> Count;
-
-class RecursiveTask: public tbb::task {
- const int m_ChildCount;
- const int m_Depth;
- //! Spawn tasks in list. Exact method depends upon m_Depth&bit_mask.
- void SpawnList( tbb::task_list& list, int bit_mask ) {
- if( m_Depth&bit_mask ) {
- spawn(list);
- ASSERT( list.empty(), NULL );
- wait_for_all();
- } else {
- spawn_and_wait_for_all(list);
- ASSERT( list.empty(), NULL );
- }
- }
-public:
- RecursiveTask( int child_count, int depth ) : m_ChildCount(child_count), m_Depth(depth) {}
- /*override*/ tbb::task* execute() {
- ++Count;
- if( m_Depth>0 ) {
- tbb::task_list list;
- ASSERT( list.empty(), NULL );
- for( int k=0; k<m_ChildCount; ++k ) {
- list.push_back( *new( tbb::task::allocate_child() ) RecursiveTask(m_ChildCount/2,m_Depth-1 ) );
- ASSERT( !list.empty(), NULL );
- }
- set_ref_count( m_ChildCount+1 );
- SpawnList( list, 1 );
- // Now try reusing this as the parent.
- set_ref_count(2);
- list.push_back( *new (tbb::task::allocate_child() ) tbb::empty_task() );
- SpawnList( list, 2 );
- }
- return NULL;
- }
-};
-
-//! Compute what Count should be after RecursiveTask(child_count,depth) runs.
-static int Expected( int child_count, int depth ) {
- return depth<=0 ? 1 : 1+child_count*Expected(child_count/2,depth-1);
-}
-
-#include "tbb/task_scheduler_init.h"
-#include "harness.h"
-
-#if __TBB_TASK_DEQUE
-void TestStealLimit( int nthread ) {
- REMARK( "testing steal limiting heuristics for %d threads\n", nthread );
- tbb::task_scheduler_init init(nthread);
- tbb::task &t = *new( tbb::task::allocate_root() ) UnboundedlyRecursiveOnUnboundedStealingTask();
- tbb::task::spawn_root_and_wait(t);
-}
-#endif /* __TBB_TASK_DEQUE */
-
-//! Test task::spawn( task_list& )
-void TestSpawnChildren( int nthread ) {
- REMARK("testing task::spawn_children for %d threads\n",nthread);
- tbb::task_scheduler_init init(nthread);
- for( int j=0; j<50; ++j ) {
- Count = 0;
- RecursiveTask& p = *new( tbb::task::allocate_root() ) RecursiveTask(j,4);
- tbb::task::spawn_root_and_wait(p);
- int expected = Expected(j,4);
- ASSERT( Count==expected, NULL );
- }
-}
-
-//! Test task::spawn_root_and_wait( task_list& )
-void TestSpawnRootList( int nthread ) {
- REMARK("testing task::spawn_root_and_wait(task_list&) for %d threads\n",nthread);
- tbb::task_scheduler_init init(nthread);
- for( int j=0; j<5; ++j )
- for( int k=0; k<10; ++k ) {
- Count = 0;
- tbb::task_list list;
- for( int i=0; i<k; ++i )
- list.push_back( *new( tbb::task::allocate_root() ) RecursiveTask(j,4) );
- tbb::task::spawn_root_and_wait(list);
- int expected = k*Expected(j,4);
- ASSERT( Count==expected, NULL );
- }
-}
-
-//------------------------------------------------------------------------
-// Test for task::recycle_as_safe_continuation
-//------------------------------------------------------------------------
-
-class TaskGenerator: public tbb::task {
- int m_ChildCount;
- int m_Depth;
-
-public:
- TaskGenerator( int child_count, int depth ) : m_ChildCount(child_count), m_Depth(depth) {}
- ~TaskGenerator( ) { m_ChildCount = m_Depth = -125; }
-
- /*override*/ tbb::task* execute() {
- ASSERT( m_ChildCount>=0 && m_Depth>=0, NULL );
- if( m_Depth>0 ) {
- recycle_as_safe_continuation();
- set_ref_count( m_ChildCount+1 );
- for( int j=0; j<m_ChildCount; ++j ) {
- tbb::task& t = *new( allocate_child() ) TaskGenerator(m_ChildCount/2,m_Depth-1);
- spawn(t);
- }
- --m_Depth;
- __TBB_Yield();
- ASSERT( state()==recycle && ref_count()>0, NULL);
- }
- return NULL;
- }
-};
-
-void TestSafeContinuation( int nthread ) {
- REMARK("testing task::recycle_as_safe_continuation for %d threads\n",nthread);
- tbb::task_scheduler_init init(nthread);
- for( int j=8; j<33; ++j ) {
- TaskGenerator& p = *new( tbb::task::allocate_root() ) TaskGenerator(j,5);
- tbb::task::spawn_root_and_wait(p);
- }
-}
-
-//------------------------------------------------------------------------
-// Test affinity interface
-//------------------------------------------------------------------------
-tbb::atomic<int> TotalCount;
-
-struct AffinityTask: public tbb::task {
- const tbb::task::affinity_id expected_affinity_id;
- bool noted;
- /** Computing affinities is NOT supported by TBB, and may disappear in the future.
- It is done here for sake of unit testing. */
- AffinityTask( int expected_affinity_id_ ) :
- expected_affinity_id(tbb::task::affinity_id(expected_affinity_id_)),
- noted(false)
- {
- set_affinity(expected_affinity_id);
- ASSERT( 0u-expected_affinity_id>0u, "affinity_id not an unsigned integral type?" );
- ASSERT( affinity()==expected_affinity_id, NULL );
- }
- /*override*/ tbb::task* execute() {
- ++TotalCount;
- return NULL;
- }
- /*override*/ void note_affinity( affinity_id id ) {
- // There is no guarantee in TBB that a task runs on its affinity thread.
- // However, the current implementation does accidentally guarantee it
- // under certain conditions, such as the conditions here.
- // We exploit those conditions for sake of unit testing.
- ASSERT( id!=expected_affinity_id, NULL );
- ASSERT( !noted, "note_affinity_id called twice!" );
- ASSERT ( &tbb::task::self() == (tbb::task*)this, "Wrong innermost running task" );
- noted = true;
- }
-};
-
-/** Note: This test assumes a lot about the internal implementation of affinity.
- Do NOT use this as an example of good programming practice with TBB */
-void TestAffinity( int nthread ) {
- TotalCount = 0;
- int n = tbb::task_scheduler_init::default_num_threads();
- if( n>nthread )
- n = nthread;
- tbb::task_scheduler_init init(n);
- tbb::empty_task* t = new( tbb::task::allocate_root() ) tbb::empty_task;
- tbb::task::affinity_id affinity_id = t->affinity();
- ASSERT( affinity_id==0, NULL );
- // Set ref_count for n-1 children, plus 1 for the wait.
- t->set_ref_count(n);
- // Spawn n-1 affinitized children.
- for( int i=1; i<n; ++i )
- t->spawn( *new(t->allocate_child()) AffinityTask(i) );
- if( n>1 ) {
- // Keep master from stealing
- while( TotalCount!=n-1 )
- __TBB_Yield();
- }
- // Wait for the children
- t->wait_for_all();
- t->destroy(*t);
-}
-
-struct NoteAffinityTask: public tbb::task {
- bool noted;
- NoteAffinityTask( int id ) : noted(false)
- {
- set_affinity(tbb::task::affinity_id(id));
- }
- ~NoteAffinityTask () {
- ASSERT (noted, "note_affinity has not been called");
- }
- /*override*/ tbb::task* execute() {
- return NULL;
- }
- /*override*/ void note_affinity( affinity_id /*id*/ ) {
- noted = true;
- ASSERT ( &tbb::task::self() == (tbb::task*)this, "Wrong innermost running task" );
- }
-};
-
-// This test checks one of the paths inside the scheduler by affinitizing the child task
-// to non-existent thread so that it is proxied in the local task pool but not retrieved
-// by another thread.
-void TestNoteAffinityContext() {
- tbb::task_scheduler_init init(1);
- tbb::empty_task* t = new( tbb::task::allocate_root() ) tbb::empty_task;
- t->set_ref_count(2);
- // This master in the absence of workers will have an affinity id of 1.
- // So use another number to make the task get proxied.
- t->spawn( *new(t->allocate_child()) NoteAffinityTask(2) );
- t->wait_for_all();
- t->destroy(*t);
-}
-
-//------------------------------------------------------------------------
-// Test that recovery actions work correctly for task::allocate_* methods
-// when a task's constructor throws an exception.
-//------------------------------------------------------------------------
-
-static int TestUnconstructibleTaskCount;
-
-struct ConstructionFailure {
-};
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // Suppress pointless "unreachable code" warning.
- #pragma warning (push)
- #pragma warning (disable: 4702)
-#endif
-
-//! Task that cannot be constructed.
-template<size_t N>
-struct UnconstructibleTask: public tbb::empty_task {
- char space[N];
- UnconstructibleTask() {
- throw ConstructionFailure();
- }
-};
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning (pop)
-#endif
-
-#define TRY_BAD_CONSTRUCTION(x) \
- { \
- try { \
- new(x) UnconstructibleTask<N>; \
- } catch( const ConstructionFailure& ) { \
- ASSERT( parent()==original_parent, NULL ); \
- ASSERT( ref_count()==original_ref_count, "incorrectly changed ref_count" );\
- ++TestUnconstructibleTaskCount; \
- } \
- }
-
-template<size_t N>
-struct RootTaskForTestUnconstructibleTask: public tbb::task {
- tbb::task* execute() {
- tbb::task* original_parent = parent();
- ASSERT( original_parent!=NULL, NULL );
- int original_ref_count = ref_count();
- TRY_BAD_CONSTRUCTION( allocate_root() );
- TRY_BAD_CONSTRUCTION( allocate_child() );
- TRY_BAD_CONSTRUCTION( allocate_continuation() );
- TRY_BAD_CONSTRUCTION( allocate_additional_child_of(*this) );
- return NULL;
- }
-};
-
-template<size_t N>
-void TestUnconstructibleTask() {
- TestUnconstructibleTaskCount = 0;
- tbb::task_scheduler_init init;
- tbb::task* t = new( tbb::task::allocate_root() ) RootTaskForTestUnconstructibleTask<N>;
- tbb::task::spawn_root_and_wait(*t);
- ASSERT( TestUnconstructibleTaskCount==4, NULL );
-}
-
-//------------------------------------------------------------------------
-// Test for alignment problems with task objects.
-//------------------------------------------------------------------------
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- // Workaround for pointless warning "structure was padded due to __declspec(align())
- #pragma warning (push)
- #pragma warning (disable: 4324)
-#endif
-
-//! Task with members of type T.
-/** The task recursively creates tasks. */
-template<typename T>
-class TaskWithMember: public tbb::task {
- T x;
- T y;
- unsigned char count;
- /*override*/ tbb::task* execute() {
- x = y;
- if( count>0 ) {
- set_ref_count(2);
- tbb::task* t = new( tbb::task::allocate_child() ) TaskWithMember<T>(count-1);
- spawn_and_wait_for_all(*t);
- }
- return NULL;
- }
-public:
- TaskWithMember( unsigned char n ) : count(n) {}
-};
-
-#if _MSC_VER && !defined(__INTEL_COMPILER)
- #pragma warning (pop)
-#endif
-
-template<typename T>
-void TestAlignmentOfOneClass() {
- typedef TaskWithMember<T> task_type;
- tbb::task* t = new( tbb::task::allocate_root() ) task_type(10);
- tbb::task::spawn_root_and_wait(*t);
-}
-
-#include "harness_m128.h"
-
-void TestAlignment() {
- REMARK("testing alignment\n");
- tbb::task_scheduler_init init;
- // Try types that have variety of alignments
- TestAlignmentOfOneClass<char>();
- TestAlignmentOfOneClass<short>();
- TestAlignmentOfOneClass<int>();
- TestAlignmentOfOneClass<long>();
- TestAlignmentOfOneClass<void*>();
- TestAlignmentOfOneClass<float>();
- TestAlignmentOfOneClass<double>();
-#if HAVE_m128
- TestAlignmentOfOneClass<__m128>();
-#endif /* HAVE_m128 */
-}
-
-//------------------------------------------------------------------------
-// Test for recursing on left while spawning on right
-//------------------------------------------------------------------------
-
-int Fib( int n );
-
-struct RightFibTask: public tbb::task {
- int* y;
- const int n;
- RightFibTask( int* y_, int n_ ) : y(y_), n(n_) {}
- task* execute() {
- *y = Fib(n-1);
- return 0;
- }
-};
-
-int Fib( int n ) {
- if( n<2 ) {
- return n;
- } else {
- // y actually does not need to be initialized. It is initialized solely to suppress
- // a gratuitous warning "potentially uninitialized local variable".
- int y=-1;
- tbb::task* root_task = new( tbb::task::allocate_root() ) tbb::empty_task;
- root_task->set_ref_count(2);
- root_task->spawn( *new( root_task->allocate_child() ) RightFibTask(&y,n) );
- int x = Fib(n-2);
- root_task->wait_for_all();
- tbb::task::self().destroy(*root_task);
- return y+x;
- }
-}
-
-void TestLeftRecursion( int p ) {
- REMARK("testing non-spawned roots for %d threads\n",p);
- tbb::task_scheduler_init init(p);
- int sum = 0;
- for( int i=0; i<100; ++i )
- sum +=Fib(10);
- ASSERT( sum==5500, NULL );
-}
-
-//------------------------------------------------------------------------
-// Test for computing with DAG of tasks.
-//------------------------------------------------------------------------
-
-class DagTask: public tbb::task {
- typedef unsigned long long number_t;
- const int i, j;
- number_t sum_from_left, sum_from_above;
- void check_sum( number_t sum ) {
- number_t expected_sum = 1;
- for( int k=i+1; k<=i+j; ++k )
- expected_sum *= k;
- for( int k=1; k<=j; ++k )
- expected_sum /= k;
- ASSERT(sum==expected_sum, NULL);
- }
-public:
- DagTask *successor_to_below, *successor_to_right;
- DagTask( int i_, int j_ ) : i(i_), j(j_), sum_from_left(0), sum_from_above(0) {}
- task* execute() {
- __TBB_ASSERT( ref_count()==0, NULL );
- number_t sum = i==0 && j==0 ? 1 : sum_from_left+sum_from_above;
- check_sum(sum);
- ++execution_count;
- if( DagTask* t = successor_to_right ) {
- t->sum_from_left = sum;
- if( t->decrement_ref_count()==0 )
- // Test using spawn to evaluate DAG
- spawn( *t );
- }
- if( DagTask* t = successor_to_below ) {
- t->sum_from_above = sum;
- if( t->decrement_ref_count()==0 )
- // Test using bypass to evaluate DAG
- return t;
- }
- return NULL;
- }
- ~DagTask() {++destruction_count;}
- static tbb::atomic<int> execution_count;
- static tbb::atomic<int> destruction_count;
-};
-
-tbb::atomic<int> DagTask::execution_count;
-tbb::atomic<int> DagTask::destruction_count;
-
-void TestDag( int p ) {
- REMARK("testing evaluation of DAG for %d threads\n",p);
- tbb::task_scheduler_init init(p);
- DagTask::execution_count=0;
- DagTask::destruction_count=0;
- const int n = 10;
- DagTask* a[n][n];
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j )
- a[i][j] = new( tbb::task::allocate_root() ) DagTask(i,j);
- for( int i=0; i<n; ++i )
- for( int j=0; j<n; ++j ) {
- a[i][j]->successor_to_below = i+1<n ? a[i+1][j] : NULL;
- a[i][j]->successor_to_right = j+1<n ? a[i][j+1] : NULL;
- a[i][j]->set_ref_count((i>0)+(j>0));
- }
- a[n-1][n-1]->increment_ref_count();
- a[n-1][n-1]->spawn_and_wait_for_all(*a[0][0]);
- ASSERT( DagTask::execution_count == n*n - 1, NULL );
- a[n-1][n-1]->destroy(*a[n-1][n-1]);
- ASSERT( DagTask::destruction_count > n*n - p, NULL );
- while ( DagTask::destruction_count != n*n )
- __TBB_Yield();
-}
-
-#include "harness_barrier.h"
-
-class RelaxedOwnershipTask: public tbb::task {
- tbb::task &m_taskToSpawn,
- &m_taskToDestroy,
- &m_taskToExecute;
- static Harness::SpinBarrier m_barrier;
-
- tbb::task* execute () {
- tbb::task &p = *parent();
- tbb::task &r = *new( tbb::task::allocate_root() ) tbb::empty_task;
- r.set_ref_count( 1 );
- m_barrier.wait();
- p.spawn( *new(p.allocate_child()) tbb::empty_task );
- p.spawn( *new(p.allocate_additional_child_of(p)) tbb::empty_task );
- p.spawn( m_taskToSpawn );
- p.destroy( m_taskToDestroy );
- r.spawn_and_wait_for_all( m_taskToExecute );
- p.destroy( r );
- return NULL;
- }
-public:
- RelaxedOwnershipTask ( tbb::task& toSpawn, tbb::task& toDestroy, tbb::task& toExecute )
- : m_taskToSpawn(toSpawn)
- , m_taskToDestroy(toDestroy)
- , m_taskToExecute(toExecute)
- {}
- static void SetBarrier ( int numThreads ) { m_barrier.initialize( numThreads ); }
-};
-
-Harness::SpinBarrier RelaxedOwnershipTask::m_barrier;
-
-void TestRelaxedOwnership( int p ) {
- if ( p < 2 )
- return;
-#if __TEST_TBB_RML
- if( unsigned(p)>tbb::tbb_thread::hardware_concurrency() )
- return;
-#endif
- REMARK("testing tasks exercising relaxed ownership freedom for %d threads\n", p);
- tbb::task_scheduler_init init(p);
- RelaxedOwnershipTask::SetBarrier(p);
- tbb::task &r = *new( tbb::task::allocate_root() ) tbb::empty_task;
- tbb::task_list tl;
- for ( int i = 0; i < p; ++i ) {
- tbb::task &tS = *new( r.allocate_child() ) tbb::empty_task,
- &tD = *new( r.allocate_child() ) tbb::empty_task,
- &tE = *new( r.allocate_child() ) tbb::empty_task;
- tl.push_back( *new( r.allocate_child() ) RelaxedOwnershipTask(tS, tD, tE) );
- }
- r.set_ref_count( 5 * p + 1 );
- r.spawn_and_wait_for_all( tl );
- r.destroy( r );
-}
-
-//------------------------------------------------------------------------
-// Test for running TBB scheduler on user-created thread.
-//------------------------------------------------------------------------
-
-void RunSchedulerInstanceOnUserThread( int n_child ) {
- tbb::task* e = new( tbb::task::allocate_root() ) tbb::empty_task;
- e->set_ref_count(1+n_child);
- for( int i=0; i<n_child; ++i )
- e->spawn( *new(e->allocate_child()) tbb::empty_task );
- e->wait_for_all();
- e->destroy(*e);
-}
-
-void TestUserThread( int p ) {
- tbb::task_scheduler_init init(p);
- // Try with both 0 and 1 children. Only the latter scenario permits stealing.
- for( int n_child=0; n_child<2; ++n_child ) {
- tbb::tbb_thread t( RunSchedulerInstanceOnUserThread, n_child );
- t.join();
- }
-}
-
-
-class TaskWithChildToSteal : public tbb::task {
- const int m_Depth;
- volatile bool m_GoAhead;
-
-public:
- TaskWithChildToSteal( int depth )
- : m_Depth(depth)
- , m_GoAhead(false)
- {}
-
- /*override*/
- tbb::task* execute() {
- m_GoAhead = true;
- if ( m_Depth > 0 ) {
- TaskWithChildToSteal &t = *new( tbb::task::allocate_child() ) TaskWithChildToSteal(m_Depth - 1);
- t.SpawnMeAndWaitOn( *this );
- }
- else
- Harness::Sleep(50); // The last task in chain sleeps for 50 ms
- return NULL;
- }
-
- void SpawnMeAndWaitOn( tbb::task& parent ) {
- parent.set_ref_count( 2 );
- parent.spawn( *this );
- while (!this->m_GoAhead )
- __TBB_Yield();
- parent.wait_for_all();
- }
-}; // TaskWithChildToSteal
-
-void TestDispatchLoopResponsiveness() {
- REMARK("testing that dispatch loops do not go into eternal sleep when all remaining children are stolen\n");
- // Recursion depth values test the following sorts of dispatch loops
- // 0 - master's outermost
- // 1 - worker's nested
- // 2 - master's nested
- tbb::task_scheduler_init init(2);
- tbb::task &r = *new( tbb::task::allocate_root() ) tbb::empty_task;
- for ( int depth = 0; depth < 3; ++depth ) {
- TaskWithChildToSteal &t = *new( r.allocate_child() ) TaskWithChildToSteal(depth);
- t.SpawnMeAndWaitOn(r);
- }
- r.destroy(r);
- // The success criteria of this test is not hanging
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- MinThread = 1;
- ParseCommandLine( argc, argv );
-#if !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
- TestUnconstructibleTask<1>();
- TestUnconstructibleTask<10000>();
-#endif
- TestAlignment();
- TestNoteAffinityContext();
- TestDispatchLoopResponsiveness();
- for( int p=MinThread; p<=MaxThread; ++p ) {
- TestSpawnChildren( p );
- TestSpawnRootList( p );
- TestSafeContinuation( p );
- TestLeftRecursion( p );
- TestDag( p );
- TestAffinity( p );
- TestUserThread( p );
-#if __TBB_TASK_DEQUE
- TestStealLimit( p );
-#endif /* __TBB_TASK_DEQUE */
-#if __TBB_RELAXED_OWNERSHIP
- TestRelaxedOwnership( p );
-#endif /* __TBB_RELAXED_OWNERSHIP */
- }
- REPORT("done\n");
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// to avoid usage of #pragma comment
-#define __TBB_NO_IMPLICIT_LINKAGE 1
-#define __TBB_TASK_CPP_DIRECTLY_INCLUDED 1
-#include "../tbb/task.cpp"
-
-//------------------------------------------------------------------------
-// Test that important assertions in class task fail as expected.
-//------------------------------------------------------------------------
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-#include "harness_bad_expr.h"
-
-//! Task that will be abused.
-tbb::task* volatile AbusedTask;
-
-//! Number of times that AbuseOneTask
-int AbuseOneTaskRan;
-
-//! Body used to create task in thread 0 and abuse it in thread 1.
-struct AbuseOneTask {
- void operator()( int ) const {
- tbb::task_scheduler_init init;
- // Thread 1 attempts to incorrectly use the task created by thread 0.
- tbb::task_list list;
-#if !__TBB_RELAXED_OWNERSHIP
- TRY_BAD_EXPR(AbusedTask->spawn(*AbusedTask),"owne");
- TRY_BAD_EXPR(AbusedTask->spawn_and_wait_for_all(*AbusedTask),"owne");
- TRY_BAD_EXPR(tbb::task::spawn_root_and_wait(*AbusedTask),"owne");
-
- // Try variant that operate on a tbb::task_list
- TRY_BAD_EXPR(AbusedTask->spawn(list),"owne");
- TRY_BAD_EXPR(AbusedTask->spawn_and_wait_for_all(list),"owne");
-#endif /* !__TBB_RELAXED_OWNERSHIP */
- // spawn_root_and_wait over empty list should vacuously succeed.
- tbb::task::spawn_root_and_wait(list);
-
- // Check that spawn_root_and_wait fails on non-empty list.
- list.push_back(*AbusedTask);
-#if !__TBB_RELAXED_OWNERSHIP
- TRY_BAD_EXPR(tbb::task::spawn_root_and_wait(list),"owne");
-
- TRY_BAD_EXPR(AbusedTask->destroy(*AbusedTask),"owne");
- TRY_BAD_EXPR(AbusedTask->wait_for_all(),"owne");
-#endif /* !__TBB_RELAXED_OWNERSHIP */
-
- // Try abusing recycle_as_continuation
- TRY_BAD_EXPR(AbusedTask->recycle_as_continuation(), "execute" );
- TRY_BAD_EXPR(AbusedTask->recycle_as_safe_continuation(), "execute" );
- TRY_BAD_EXPR(AbusedTask->recycle_to_reexecute(), "execute" );
-
-#if !__TBB_TASK_DEQUE
- // Check correct use of depth parameter
- tbb::task::depth_type depth = AbusedTask->depth();
- ASSERT( depth==0, NULL );
- for( int k=1; k<=81; k*=3 ) {
- AbusedTask->set_depth(depth+k);
- ASSERT( AbusedTask->depth()==depth+k, NULL );
- AbusedTask->add_to_depth(k+1);
- ASSERT( AbusedTask->depth()==depth+2*k+1, NULL );
- }
- AbusedTask->set_depth(0);
-
- // Try abusing the depth parameter
- TRY_BAD_EXPR(AbusedTask->set_depth(-1),"negative");
- TRY_BAD_EXPR(AbusedTask->add_to_depth(-1),"negative");
-#endif /* !__TBB_TASK_DEQUE */
-
- ++AbuseOneTaskRan;
- }
-};
-
-//! Test various __TBB_ASSERT assertions related to class tbb::task.
-void TestTaskAssertions() {
-#if TBB_USE_ASSERT
- // Catch assertion failures
- tbb::set_assertion_handler( AssertionFailureHandler );
- tbb::task_scheduler_init init;
- // Create task to be abused
- AbusedTask = new( tbb::task::allocate_root() ) tbb::empty_task;
- NativeParallelFor( 1, AbuseOneTask() );
- ASSERT( AbuseOneTaskRan==1, NULL );
- AbusedTask->destroy(*AbusedTask);
- // Restore normal assertion handling
- tbb::set_assertion_handler( NULL );
-#endif /* TBB_USE_ASSERT */
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
-#if __GLIBC__==2 && __GLIBC_MINOR__==3 || __TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
- REPORT("skip\n");
-#else
- TestTaskAssertions();
- REPORT("done\n");
-#endif
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/task.h"
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-
-__TBB_TEST_EXPORT
-int main() {
- // Testing automatic initialization of task scheduler, so do not put task_scheduler_init here.
- tbb::task* root = new( tbb::task::allocate_root() ) tbb::empty_task;
- root->set_ref_count(0);
- tbb::task::spawn_root_and_wait(*root);
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-//! task_handle<T> cannot be instantiated with a function ptr withour explicit cast
-#define __TBB_FUNC_PTR_AS_TEMPL_PARAM_BROKEN ((__linux__ || __APPLE__) && __INTEL_COMPILER && __INTEL_COMPILER < 1100) || __SUNPRO_CC
-
-#if !TBBTEST_USE_TBB
- #if _MSC_VER < 1600
- #ifdef TBBTEST_USE_TBB
- #undef TBBTEST_USE_TBB
- #endif
- #define TBBTEST_USE_TBB 1
- #endif
-#endif
-
-#if TBBTEST_USE_TBB
-
- #include "tbb/compat/ppl.h"
- #include "tbb/task_scheduler_init.h"
-
- #if _MSC_VER
- typedef tbb::internal::uint32_t uint_t;
- #else
- typedef uint32_t uint_t;
- #endif
-
-#else /* !TBBTEST_USE_TBB */
-
- #pragma warning(disable: 4100 4180)
-
- #include <ppl.h>
-
- typedef unsigned int uint_t;
-
- #define __TBB_SILENT_CANCELLATION_BROKEN (_MSC_VER == 1600)
-
-#endif /* !TBBTEST_USE_TBB */
-
-
-#include "tbb/atomic.h"
-#include "harness_concurrency_tracker.h"
-
-unsigned g_MaxConcurrency = 0;
-
-typedef tbb::atomic<uint_t> atomic_t;
-typedef Concurrency::task_handle<void(*)()> handle_type;
-
-//------------------------------------------------------------------------
-// Tests for the thread safety of the task_group manipulations
-//------------------------------------------------------------------------
-
-#include "harness_barrier.h"
-
-enum SharingMode {
- VagabondGroup = 1,
- ParallelWait = 2
-};
-
-class SharedGroupBodyImpl : NoCopy, Harness::NoAfterlife {
- static const uint_t c_numTasks0 = 4096,
- c_numTasks1 = 1024;
-
- const uint_t m_numThreads;
- const uint_t m_sharingMode;
-
- Concurrency::task_group *m_taskGroup;
- atomic_t m_tasksSpawned,
- m_threadsReady;
- Harness::SpinBarrier m_barrier;
-
- static atomic_t s_tasksExecuted;
-
- struct TaskFunctor {
- SharedGroupBodyImpl *m_pOwner;
- void operator () () {
- if ( m_pOwner->m_sharingMode & ParallelWait ) {
- while ( Harness::ConcurrencyTracker::PeakParallelism() < m_pOwner->m_numThreads )
- __TBB_Yield();
- }
- ++s_tasksExecuted;
- }
- };
-
- TaskFunctor m_taskFunctor;
-
- void Spawn ( uint_t numTasks ) {
- for ( uint_t i = 0; i < numTasks; ++i ) {
- ++m_tasksSpawned;
- Harness::ConcurrencyTracker ct;
- m_taskGroup->run( m_taskFunctor );
- }
- ++m_threadsReady;
- }
-
- void DeleteTaskGroup () {
- delete m_taskGroup;
- m_taskGroup = NULL;
- }
-
- void Wait () {
- while ( m_threadsReady != m_numThreads )
- __TBB_Yield();
- const uint_t numSpawned = c_numTasks0 + c_numTasks1 * (m_numThreads - 1);
- ASSERT ( m_tasksSpawned == numSpawned, "Wrong number of spawned tasks. The test is broken" );
- REMARK("Max spawning parallelism is %u out of %u", Harness::ConcurrencyTracker::PeakParallelism(), g_MaxConcurrency);
- if ( m_sharingMode & ParallelWait ) {
- m_barrier.wait( &Harness::ConcurrencyTracker::Reset );
- {
- Harness::ConcurrencyTracker ct;
- m_taskGroup->wait();
- }
- ASSERT ( Harness::ConcurrencyTracker::PeakParallelism() > 1, "No parallel waiting detected" );
- m_barrier.wait();
- }
- else
- m_taskGroup->wait();
- ASSERT ( m_tasksSpawned == numSpawned, "No tasks should be spawned after wait starts. The test is broken" );
- ASSERT ( s_tasksExecuted == numSpawned, "Not all spawned tasks were executed" );
- }
-
-public:
- SharedGroupBodyImpl ( uint_t numThreads, uint_t sharingMode = 0 )
- : m_numThreads(numThreads)
- , m_sharingMode(sharingMode)
- , m_taskGroup(NULL)
- , m_barrier(numThreads)
- {
- ASSERT ( m_numThreads > 1, "SharedGroupBody tests require concurrency" );
- ASSERT ( !(m_sharingMode & VagabondGroup) || m_numThreads == 2, "In vagabond mode SharedGroupBody must be used with 2 threads only" );
- Harness::ConcurrencyTracker::Reset();
- s_tasksExecuted = 0;
- m_tasksSpawned = 0;
- m_threadsReady = 0;
- m_taskFunctor.m_pOwner = this;
- }
-
- void Run ( uint_t idx ) {
-#if TBBTEST_USE_TBB
- tbb::task_scheduler_init init;
-#endif
- AssertLive();
- if ( idx == 0 ) {
- ASSERT ( !m_taskGroup && !m_tasksSpawned, "SharedGroupBody must be reset before reuse");
- m_taskGroup = new Concurrency::task_group;
- Spawn( c_numTasks0 );
- Wait();
- if ( m_sharingMode & VagabondGroup )
- m_barrier.wait();
- else
- DeleteTaskGroup();
- }
- else {
- while ( m_tasksSpawned == 0 )
- __TBB_Yield();
- ASSERT ( m_taskGroup, "Task group is not initialized");
- Spawn (c_numTasks1);
- if ( m_sharingMode & ParallelWait )
- Wait();
- if ( m_sharingMode & VagabondGroup ) {
- ASSERT ( idx == 1, "In vagabond mode SharedGroupBody must be used with 2 threads only" );
- m_barrier.wait();
- DeleteTaskGroup();
- }
- }
- AssertLive();
- }
-};
-
-atomic_t SharedGroupBodyImpl::s_tasksExecuted;
-
-class SharedGroupBody : NoAssign, Harness::NoAfterlife {
- bool m_bOwner;
- mutable SharedGroupBodyImpl *m_pImpl;
-public:
- SharedGroupBody ( uint_t numThreads, uint_t sharingMode = 0 )
- : m_bOwner(true)
- , m_pImpl( new SharedGroupBodyImpl(numThreads, sharingMode) )
- {}
- SharedGroupBody ( const SharedGroupBody& src )
- : m_bOwner(false)
- , m_pImpl(src.m_pImpl)
- {}
- ~SharedGroupBody () {
- if ( m_bOwner )
- delete m_pImpl;
- }
- void operator() ( uint_t idx ) const { m_pImpl->Run(idx); }
-};
-
-void TestParallelSpawn () {
- NativeParallelFor( g_MaxConcurrency, SharedGroupBody(g_MaxConcurrency) );
-}
-
-void TestParallelWait () {
- NativeParallelFor( g_MaxConcurrency, SharedGroupBody(g_MaxConcurrency, ParallelWait) );
-}
-
-// Tests non-stack-bound task group (the group that is allocated by one thread and destroyed by the other)
-void TestVagabondGroup () {
- NativeParallelFor( 2, SharedGroupBody(2, VagabondGroup) );
-}
-
-//------------------------------------------------------------------------
-// Common requisites of the Fibonacci tests
-//------------------------------------------------------------------------
-
-const uint_t N = 20;
-const uint_t F = 6765;
-
-atomic_t g_Sum;
-
-#define FIB_TEST_PROLOGUE() \
- const unsigned numRepeats = g_MaxConcurrency * (TBB_USE_DEBUG ? 4 : 16); \
- Harness::ConcurrencyTracker::Reset()
-
-#define FIB_TEST_EPILOGUE(sum) \
- ASSERT( sum == numRepeats * F, NULL ); \
- REMARK("Realized parallelism in Fib test is %u out of %u", Harness::ConcurrencyTracker::PeakParallelism(), g_MaxConcurrency)
-
-//------------------------------------------------------------------------
-// Test for a complex tree of task groups
-//
-// The test executes a tree of task groups of the same sort with asymmetric
-// descendant nodes distribution at each level at each level.
-//
-// The chores are specified as functor objects. Each task group contains only one chore.
-//------------------------------------------------------------------------
-
-template<uint_t Func(uint_t)>
-struct FibTask : NoAssign, Harness::NoAfterlife {
- uint_t* m_pRes;
- const uint_t m_Num;
- FibTask( uint_t* y, uint_t n ) : m_pRes(y), m_Num(n) {}
- void operator() () {
- *m_pRes = Func(m_Num);
- }
-};
-
-uint_t Fib_SpawnRightChildOnly ( uint_t n ) {
- Harness::ConcurrencyTracker ct;
- if( n<2 ) {
- return n;
- } else {
- uint_t y = ~0u;
- Concurrency::task_group tg;
- tg.run( FibTask<Fib_SpawnRightChildOnly>(&y, n-1) );
- uint_t x = Fib_SpawnRightChildOnly(n-2);
- tg.wait();
- return y+x;
- }
-}
-
-void TestFib1 () {
- FIB_TEST_PROLOGUE();
- uint_t sum = 0;
- for( unsigned i = 0; i < numRepeats; ++i )
- sum += Fib_SpawnRightChildOnly(N);
- FIB_TEST_EPILOGUE(sum);
-}
-
-
-//------------------------------------------------------------------------
-// Test for a mixed tree of task groups.
-//
-// The test executes a tree with multiple task of one sort at the first level,
-// each of which originates in its turn a binary tree of descendant task groups.
-//
-// The chores are specified both as functor objects and as function pointers
-//------------------------------------------------------------------------
-
-uint_t Fib_SpawnBothChildren( uint_t n ) {
- Harness::ConcurrencyTracker ct;
- if( n<2 ) {
- return n;
- } else {
- uint_t y = ~0u,
- x = ~0u;
- Concurrency::task_group tg;
- tg.run( FibTask<Fib_SpawnBothChildren>(&x, n-2) );
- tg.run( FibTask<Fib_SpawnBothChildren>(&y, n-1) );
- tg.wait();
- return y + x;
- }
-}
-
-void RunFib2 () {
- g_Sum += Fib_SpawnBothChildren(N);
-}
-
-void TestFib2 () {
- FIB_TEST_PROLOGUE();
- g_Sum = 0;
- Concurrency::task_group rg;
- for( unsigned i = 0; i < numRepeats; ++i )
- rg.run( &RunFib2 );
- rg.wait();
- FIB_TEST_EPILOGUE(g_Sum);
-}
-
-
-//------------------------------------------------------------------------
-// Test for a complex tree of task groups
-// The chores are specified as task handles for recursive functor objects.
-//------------------------------------------------------------------------
-
-class FibTask_SpawnRightChildOnly : NoAssign, Harness::NoAfterlife {
- uint_t* m_pRes;
- uint_t m_Num;
-
-public:
- FibTask_SpawnRightChildOnly( uint_t* y, uint_t n ) : m_pRes(y), m_Num(n) {}
- void operator() () {
- Harness::ConcurrencyTracker ct;
- AssertLive();
- if( m_Num < 2 ) {
- *m_pRes = m_Num;
- } else {
- uint_t y = ~0u;
- Concurrency::task_group tg;
- Concurrency::task_handle<FibTask_SpawnRightChildOnly> h = FibTask_SpawnRightChildOnly(&y, m_Num-1);
- tg.run( h );
- m_Num -= 2;
-#if TBBTEST_USE_TBB
- tg.run_and_wait( *this );
-#else
- (*this)();
- tg.wait();
-#endif
- *m_pRes += y;
- }
- }
-};
-
-uint_t RunFib3 ( uint_t n ) {
- uint_t res = ~0u;
- FibTask_SpawnRightChildOnly func(&res, n);
- func();
- return res;
-}
-
-void TestFib3 () {
- FIB_TEST_PROLOGUE();
- uint_t sum = 0;
- for( unsigned i = 0; i < numRepeats; ++i )
- sum += RunFib3(N);
- FIB_TEST_EPILOGUE(sum);
-}
-
-//------------------------------------------------------------------------
-// Test for a mixed tree of task groups.
-// The chores are specified as task handles for both functor objects and function pointers
-//------------------------------------------------------------------------
-
-template<class task_group_type>
-class FibTask_SpawnBothChildren : NoAssign, Harness::NoAfterlife {
- uint_t* m_pRes;
- uint_t m_Num;
-public:
- FibTask_SpawnBothChildren( uint_t* y, uint_t n ) : m_pRes(y), m_Num(n) {}
- void operator() () {
- Harness::ConcurrencyTracker ct;
- AssertLive();
- if( m_Num < 2 ) {
- *m_pRes = m_Num;
- } else {
- uint_t x = ~0u, // initialized only to suppress warning
- y = ~0u;
- task_group_type tg;
- Concurrency::task_handle<FibTask_SpawnBothChildren> h1 = FibTask_SpawnBothChildren(&y, m_Num-1),
- h2 = FibTask_SpawnBothChildren(&x, m_Num-2);
- tg.run( h1 );
- tg.run( h2 );
- tg.wait();
- *m_pRes = x + y;
- }
- }
-};
-
-template<class task_group_type>
-void RunFib4 () {
- uint_t res = ~0u;
- FibTask_SpawnBothChildren<task_group_type> func(&res, N);
- func();
- g_Sum += res;
-}
-
-template<class task_group_type>
-void TestFib4 () {
- FIB_TEST_PROLOGUE();
- g_Sum = 0;
- task_group_type rg;
- const unsigned hSize = sizeof(handle_type);
- char *handles = new char [numRepeats * hSize];
- handle_type *h = NULL;
- for( unsigned i = 0; ; ++i ) {
- h = (handle_type*)(handles + i * hSize);
-#if __TBB_FUNC_PTR_AS_TEMPL_PARAM_BROKEN
- new ( h ) handle_type((void(*)())RunFib4<task_group_type>);
-#else
- new ( h ) handle_type(RunFib4<task_group_type>);
-#endif
- if ( i == numRepeats - 1 )
- break;
- rg.run( *h );
- }
-#if TBBTEST_USE_TBB
- rg.run_and_wait( *h );
-#else
- (*h)();
- rg.wait();
-#endif
- for( unsigned i = 0; i < numRepeats; ++i )
-#if __GNUC__==3 && __GNUC_MINOR__<=2
- ((handle_type*)(handles + i * hSize))->Concurrency::task_handle<void(*)()>::~task_handle();
-#else
- ((handle_type*)(handles + i * hSize))->~handle_type();
-#endif
- delete handles;
- FIB_TEST_EPILOGUE(g_Sum);
-}
-
-#if __TBB_LAMBDAS_PRESENT && !__TBB_LAMBDA_AS_TEMPL_PARAM_BROKEN
-//------------------------------------------------------------------------
-// Test for a mixed tree of task groups.
-// The chores are specified as lambdas
-//------------------------------------------------------------------------
-
-void TestFibWithLambdas () {
- REMARK ("Lambdas test");
- FIB_TEST_PROLOGUE();
- atomic_t sum;
- sum = 0;
- Concurrency::task_group rg;
- for( unsigned i = 0; i < numRepeats; ++i )
- rg.run( [&](){sum += Fib_SpawnBothChildren(N);} );
- rg.wait();
- FIB_TEST_EPILOGUE(sum);
-}
-#endif /* __TBB_LAMBDAS_PRESENT */
-
-
-//------------------------------------------------------------------------
-// Tests for exception handling and cancellation behavior.
-//------------------------------------------------------------------------
-
-class test_exception : public std::exception
-{
- const char* m_strDescription;
-public:
- test_exception ( const char* descr ) : m_strDescription(descr) {}
-
- test_exception& operator= ( const test_exception& src ) {
- m_strDescription = src.m_strDescription;
- return *this;
- }
-
- const char* what() const throw() { return m_strDescription; }
-};
-
-#if TBB_USE_CAPTURED_EXCEPTION
- #include "tbb/tbb_exception.h"
- typedef tbb::captured_exception TestException;
-#else
- typedef test_exception TestException;
-#endif
-
-#include <string.h>
-
-#define NUM_CHORES 512
-#define NUM_GROUPS 64
-#define SKIP_CHORES (NUM_CHORES/4)
-#define SKIP_GROUPS (NUM_GROUPS/4)
-#define EXCEPTION_DESCR1 "Test exception 1"
-#define EXCEPTION_DESCR2 "Test exception 2"
-
-atomic_t g_ExceptionCount;
-atomic_t g_TaskCount;
-unsigned g_ExecutedAtCancellation;
-bool g_Rethrow;
-bool g_Throw;
-#if __TBB_SILENT_CANCELLATION_BROKEN
- volatile bool g_CancellationPropagationInProgress;
- #define CATCH_ANY() \
- catch ( ... ) { \
- if ( g_CancellationPropagationInProgress ) { \
- if ( g_Throw ) { \
- exceptionCaught = true; \
- ++g_ExceptionCount; \
- } \
- } else \
- ASSERT( false, "Unknown exception" ); \
- }
-#else
- #define CATCH_ANY() catch ( ... ) { ASSERT( false, "Unknown exception" ); }
-#endif
-
-inline
-void ResetGlobals ( bool bThrow, bool bRethrow ) {
- g_Throw = bThrow;
- g_Rethrow = bRethrow;
-#if __TBB_SILENT_CANCELLATION_BROKEN
- g_CancellationPropagationInProgress = false;
-#endif
- g_ExceptionCount = 0;
- g_TaskCount = 0;
- Harness::ConcurrencyTracker::Reset();
-}
-
-class ThrowingTask : NoAssign, Harness::NoAfterlife {
- atomic_t &m_TaskCount;
-public:
- ThrowingTask( atomic_t& counter ) : m_TaskCount(counter) {}
- void operator() () {
- Harness::ConcurrencyTracker ct;
- AssertLive();
- if ( g_Throw ) {
- if ( ++m_TaskCount == SKIP_CHORES )
- throw test_exception(EXCEPTION_DESCR1);
- __TBB_Yield();
- }
- else {
- ++g_TaskCount;
- while( !Concurrency::is_current_task_group_canceling() )
- __TBB_Yield();
- }
- }
-};
-
-void LaunchChildren () {
- atomic_t count;
- count = 0;
- Concurrency::task_group g;
- bool exceptionCaught = false;
- for( unsigned i = 0; i < NUM_CHORES; ++i )
- g.run( ThrowingTask(count) );
- Concurrency::task_group_status status = Concurrency::not_complete;
- try {
- status = g.wait();
- } catch ( TestException& e ) {
- ASSERT( e.what(), "Empty what() string" );
- ASSERT( strcmp(e.what(), EXCEPTION_DESCR1) == 0, "Unknown exception" );
- exceptionCaught = true;
- ++g_ExceptionCount;
- } CATCH_ANY();
- ASSERT( !g_Throw || exceptionCaught || status == Concurrency::canceled, "No exception in the child task group" );
- if ( g_Rethrow && g_ExceptionCount > SKIP_GROUPS ) {
-#if __TBB_SILENT_CANCELLATION_BROKEN
- g_CancellationPropagationInProgress = true;
-#endif
- throw test_exception(EXCEPTION_DESCR2);
- }
-}
-
-void TestEh1 () {
- ResetGlobals( true, false );
- Concurrency::task_group rg;
- for( unsigned i = 0; i < NUM_GROUPS; ++i )
- // TBB version does not require taking function address
- rg.run( &LaunchChildren );
- try {
- rg.wait();
- } catch ( ... ) {
- ASSERT( false, "Unexpected exception" );
- }
- ASSERT( g_ExceptionCount <= NUM_GROUPS, "Too many exceptions from the child groups. The test is broken" );
- ASSERT( g_ExceptionCount == NUM_GROUPS, "Not all child groups threw the exception" );
-}
-
-void TestEh2 () {
- ResetGlobals( true, true );
- Concurrency::task_group rg;
- bool exceptionCaught = false;
- for( unsigned i = 0; i < NUM_GROUPS; ++i )
- // TBB version does not require taking function address
- rg.run( &LaunchChildren );
- try {
- rg.wait();
- } catch ( TestException& e ) {
- ASSERT( e.what(), "Empty what() string" );
- ASSERT( strcmp(e.what(), EXCEPTION_DESCR2) == 0, "Unknown exception" );
- ASSERT ( !rg.is_canceling(), "wait() has not reset cancellation state" );
- exceptionCaught = true;
- } CATCH_ANY();
- ASSERT( exceptionCaught, "No exception thrown from the root task group" );
- ASSERT( g_ExceptionCount >= SKIP_GROUPS, "Too few exceptions from the child groups. The test is broken" );
- ASSERT( g_ExceptionCount <= NUM_GROUPS - SKIP_GROUPS, "Too many exceptions from the child groups. The test is broken" );
- ASSERT( g_ExceptionCount < NUM_GROUPS - SKIP_GROUPS, "None of the child groups was cancelled" );
-}
-
-//------------------------------------------------------------------------
-// Tests for manual cancellation of the task_group hierarchy
-//------------------------------------------------------------------------
-
-void TestCancellation1 () {
- ResetGlobals( false, false );
- Concurrency::task_group rg;
- for( unsigned i = 0; i < NUM_GROUPS; ++i )
- // TBB version does not require taking function address
- rg.run( &LaunchChildren );
- ASSERT ( !Concurrency::is_current_task_group_canceling(), "Unexpected cancellation" );
- ASSERT ( !rg.is_canceling(), "Unexpected cancellation" );
-#if __TBB_SILENT_CANCELLATION_BROKEN
- g_CancellationPropagationInProgress = true;
-#endif
- while ( g_MaxConcurrency > 1 && g_TaskCount == 0 )
- __TBB_Yield();
- rg.cancel();
- g_ExecutedAtCancellation = g_TaskCount;
- ASSERT ( rg.is_canceling(), "No cancellation reported" );
- rg.wait();
- ASSERT( g_TaskCount <= NUM_GROUPS * NUM_CHORES, "Too many tasks reported. The test is broken" );
- ASSERT( g_TaskCount < NUM_GROUPS * NUM_CHORES, "No tasks were cancelled. Cancellation model changed?" );
- ASSERT( g_TaskCount <= g_ExecutedAtCancellation + Harness::ConcurrencyTracker::PeakParallelism(), "Too many tasks survived cancellation" );
-}
-
-//------------------------------------------------------------------------
-// Tests for manual cancellation of the structured_task_group hierarchy
-//------------------------------------------------------------------------
-
-void StructuredLaunchChildren () {
- atomic_t count;
- count = 0;
- Concurrency::structured_task_group g;
- bool exceptionCaught = false;
- typedef Concurrency::task_handle<ThrowingTask> handle_type;
- static const unsigned hSize = sizeof(handle_type);
- char handles[NUM_CHORES * hSize];
- for( unsigned i = 0; i < NUM_CHORES; ++i ) {
- handle_type *h = (handle_type*)(handles + i * hSize);
- new ( h ) handle_type( ThrowingTask(count) );
- g.run( *h );
- }
- try {
- g.wait();
- } catch ( TestException& e ) {
- ASSERT( e.what(), "Empty what() string" );
- ASSERT( strcmp(e.what(), EXCEPTION_DESCR1) == 0, "Unknown exception" );
-#if __TBB_SILENT_CANCELLATION_BROKEN
- ASSERT ( !g.is_canceling() || g_CancellationPropagationInProgress, "wait() has not reset cancellation state" );
-#else
- ASSERT ( !g.is_canceling(), "wait() has not reset cancellation state" );
-#endif
- exceptionCaught = true;
- ++g_ExceptionCount;
- } CATCH_ANY();
- ASSERT( !g_Throw || exceptionCaught, "No exception in the child task group" );
- for( unsigned i = 0; i < NUM_CHORES; ++i )
- ((handle_type*)(handles + i * hSize))->~handle_type();
- if ( g_Rethrow && g_ExceptionCount > SKIP_GROUPS ) {
-#if __TBB_SILENT_CANCELLATION_BROKEN
- g_CancellationPropagationInProgress = true;
-#endif
- throw test_exception(EXCEPTION_DESCR2);
- }
-}
-
-class StructuredCancellationTestDriver {
- static const unsigned hSize = sizeof(handle_type);
- char m_handles[NUM_CHORES * hSize];
-
-public:
- void Launch ( Concurrency::structured_task_group& rg ) {
- ResetGlobals( false, false );
- for( unsigned i = 0; i < NUM_GROUPS; ++i ) {
- handle_type *h = (handle_type*)(m_handles + i * hSize);
- new ( h ) handle_type( StructuredLaunchChildren );
- rg.run( *h );
- }
- ASSERT ( !Concurrency::is_current_task_group_canceling(), "Unexpected cancellation" );
- ASSERT ( !rg.is_canceling(), "Unexpected cancellation" );
-#if __TBB_SILENT_CANCELLATION_BROKEN
- g_CancellationPropagationInProgress = true;
-#endif
- while ( g_MaxConcurrency > 1 && g_TaskCount == 0 )
- __TBB_Yield();
- }
-
- void Finish () {
- for( unsigned i = 0; i < NUM_GROUPS; ++i )
- ((handle_type*)(m_handles + i * hSize))->~handle_type();
- ASSERT( g_TaskCount <= NUM_GROUPS * NUM_CHORES, "Too many tasks reported. The test is broken" );
- ASSERT( g_TaskCount < NUM_GROUPS * NUM_CHORES, "No tasks were cancelled. Cancellation model changed?" );
- ASSERT( g_TaskCount <= g_ExecutedAtCancellation + Harness::ConcurrencyTracker::PeakParallelism(), "Too many tasks survived cancellation" );
- }
-}; // StructuredCancellationTestDriver
-
-void TestStructuredCancellation1 () {
- StructuredCancellationTestDriver driver;
- Concurrency::structured_task_group sg;
- driver.Launch( sg );
- sg.cancel();
- g_ExecutedAtCancellation = g_TaskCount;
- ASSERT ( sg.is_canceling(), "No cancellation reported" );
- sg.wait();
- driver.Finish();
-}
-
-#if defined(_MSC_VER)
- #pragma warning (disable: 4127)
-#endif
-
-template<bool Throw>
-void TestStructuredCancellation2 () {
- bool exception_occurred = false,
- unexpected_exception = false;
- StructuredCancellationTestDriver driver;
- try {
- Concurrency::structured_task_group tg;
- driver.Launch( tg );
- if ( Throw )
- throw int(); // Initiate stack unwinding
- }
- catch ( const Concurrency::missing_wait& ) {
- exception_occurred = true;
- unexpected_exception = Throw;
- }
- catch ( int ) {
- exception_occurred = true;
- unexpected_exception = !Throw;
- }
- catch ( ... ) {
- exception_occurred = unexpected_exception = true;
- }
- __TBB_ASSERT( exception_occurred, NULL );
- __TBB_ASSERT( !unexpected_exception, NULL );
- driver.Finish();
-}
-
-#include "harness_bad_expr.h"
-
-void EmptyFunction () {}
-
-void TestStructuredWait () {
- Concurrency::structured_task_group sg;
- handle_type h(EmptyFunction);
- sg.run(h);
- sg.wait();
-#if TBB_USE_ASSERT
- tbb::set_assertion_handler( AssertionFailureHandler );
- TRY_BAD_EXPR( sg.wait(), "wait()" );
- tbb::set_assertion_handler( NULL );
-#endif /* TBB_USE_ASSERT */
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- MinThread = 1;
- ParseCommandLine( argc, argv );
- for( int p=MinThread; p<=MaxThread; ++p ) {
- g_MaxConcurrency = p;
-#if TBBTEST_USE_TBB
- tbb::task_scheduler_init init(p);
-#else
- Concurrency::SchedulerPolicy sp( 4,
- Concurrency::SchedulerKind, Concurrency::ThreadScheduler,
- Concurrency::MinConcurrency, 1,
- Concurrency::MaxConcurrency , p,
- Concurrency::TargetOversubscriptionFactor, 1);
- Concurrency::Scheduler *s = Concurrency::Scheduler::Create( sp );
- if ( p > 1 ) {
- TestVagabondGroup();
- }
-#endif /* !TBBTEST_USE_TBB */
- if ( p > 1 ) {
- TestParallelSpawn();
- TestParallelWait();
- }
- TestFib1();
- TestFib2();
- TestFib3();
- TestFib4<Concurrency::task_group>();
- TestFib4<Concurrency::structured_task_group>();
-#if __TBB_LAMBDAS_PRESENT && !__TBB_LAMBDA_AS_TEMPL_PARAM_BROKEN
- TestFibWithLambdas();
-#endif
- TestCancellation1();
- TestStructuredCancellation1();
-#if !__TBB_EXCEPTION_HANDLING_BROKEN
- TestEh1();
- TestEh2();
- TestStructuredWait();
- TestStructuredCancellation2<true>();
- TestStructuredCancellation2<false>();
-#endif /* !__TBB_EXCEPTION_HANDLING_BROKEN */
-#if !TBBTEST_USE_TBB
- s->Release();
-#endif
- }
-#if __TBB_EXCEPTION_HANDLING_BROKEN
- REPORT("Warning: Exception handling tests are skipped because of a known issue.\n");
-#endif
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// to avoid usage of #pragma comment
-#define __TBB_NO_IMPLICIT_LINKAGE 1
-
-#define COUNT_TASK_NODES 1
-#define __TBB_TASK_CPP_DIRECTLY_INCLUDED 1
-#include "../tbb/task.cpp"
-
-#include "tbb/atomic.h"
-#include "harness_assert.h"
-#include <cstdlib>
-
-//------------------------------------------------------------------------
-// Test for task::spawn_children
-//------------------------------------------------------------------------
-
-tbb::atomic<int> Count;
-tbb::atomic<tbb::task*> Exchanger;
-tbb::internal::scheduler* Producer;
-
-#include "tbb/task_scheduler_init.h"
-#include "harness.h"
-using namespace tbb;
-using namespace tbb::internal;
-
-class ChangeProducer: public tbb::task {
-public:
- /*override*/ tbb::task* execute() {
- if( is_stolen_task() ) {
- Producer = internal::Governor::local_scheduler();
- }
- return NULL;
- }
-};
-
-class TaskGenerator: public tbb::task {
- const int my_child_count;
- int my_depth;
-public:
- TaskGenerator(int child_count, int depth) : my_child_count(child_count), my_depth(depth) {
- ASSERT(my_child_count>1, "The TaskGenerator should produce at least two children");
- }
- /*override*/ tbb::task* execute() {
- if( my_depth>0 ) {
- int child_count = my_child_count;
- scheduler* my_sched = internal::Governor::local_scheduler();
- tbb::task& c = *new( tbb::task::allocate_continuation() ) tbb::empty_task;
- c.set_ref_count( child_count );
- recycle_as_child_of(c);
- --child_count;
- if( Producer==my_sched ) {
- // produce a task and put it into Exchanger
- tbb::task* t = new( c.allocate_child() ) tbb::empty_task;
- --child_count;
- t = Exchanger.fetch_and_store(t);
- if( t ) this->spawn(*t);
- } else {
- tbb::task* t = Exchanger.fetch_and_store(NULL);
- if( t ) this->spawn(*t);
- }
- while( child_count ) {
- c.spawn( *new( c.allocate_child() ) TaskGenerator(my_child_count, my_depth-1) );
- --child_count;
- }
- --my_depth;
- return this;
- } else {
- tbb::task* t = Exchanger.fetch_and_store(NULL);
- if( t ) this->spawn(*t);
- return NULL;
- }
- }
-};
-
-#include "harness_memory.h"
-#if _MSC_VER==1500 && !defined(__INTEL_COMPILER)
- // VS2008/VC9 seems to have an issue
- #pragma warning( push )
- #pragma warning( disable: 4985 )
-#endif
-#include <math.h>
-#if _MSC_VER==1500 && !defined(__INTEL_COMPILER)
- #pragma warning( pop )
-#endif
-
-void RunTaskGenerators( int i ) {
- tbb::task* dummy_root;
- if( i==250 ) {
- Producer = NULL;
- }
- dummy_root = new( tbb::task::allocate_root() ) tbb::empty_task;
- dummy_root->set_ref_count( 2 );
- // If no producer, start elections; some worker will take the role
- if( Producer )
- dummy_root->spawn( *new( dummy_root->allocate_child() ) tbb::empty_task );
- else
- dummy_root->spawn( *new( dummy_root->allocate_child() ) ChangeProducer );
- if( i==260 && !Producer ) {
- REPORT("Warning: producer has not changed after 10 attempts; running on a single core?\n");
- }
- for( int j=0; j<100; ++j ) {
- tbb::task& t = *new( tbb::task::allocate_root() ) TaskGenerator(/*child_count=*/4, /*depth=*/6);
- tbb::task::spawn_root_and_wait(t);
- }
- dummy_root->wait_for_all();
- dummy_root->destroy( *dummy_root );
-}
-
-//! Tests whether task scheduler allows thieves to hoard task objects.
-/** The test takes a while to run, so we run it only with the default
- number of threads. */
-void TestTaskReclamation() {
- if( Verbose )
- REPORT("testing task reclamation\n");
-
- size_t initial_amount_of_memory = 0;
- double task_count_sum = 0;
- double task_count_sum_square = 0;
- double average, sigma;
-
- tbb::task_scheduler_init init (MinThread);
- if( Verbose )
- REPORT("Starting with %d threads\n", MinThread);
- // For now, the master will produce "additional" tasks; later a worker will replace it;
- Producer = internal::Governor::local_scheduler();
- int N = 20;
- // First N iterations fill internal buffers and collect initial statistics
- for( int i=0; i<N; ++i ) {
- // First N iterations fill internal buffers and collect initial statistics
- RunTaskGenerators( i );
-
- size_t m = GetMemoryUsage();
- if( m-initial_amount_of_memory > 0)
- initial_amount_of_memory = m;
-
- intptr_t n = internal::Governor::local_scheduler()->get_task_node_count( /*count_arena_workers=*/true );
- task_count_sum += n;
- task_count_sum_square += n*n;
-
- if( Verbose )
- REPORT( "Consumed %ld bytes and %ld objects (iteration=%d)\n", long(m), long(n), i );
- }
- // Calculate statistical values
- average = task_count_sum / N;
- sigma = sqrt( (task_count_sum_square - task_count_sum*task_count_sum/N)/N );
- if( Verbose )
- REPORT("Average task count: %g, sigma: %g, sum: %g, square sum:%g \n", average, sigma, task_count_sum, task_count_sum_square);
-
- int error_count = 0;
- for( int i=0; i<500; ++i ) {
- // These iterations check for excessive memory use and unreasonable task count
- RunTaskGenerators( i );
-
- intptr_t n = internal::Governor::local_scheduler()->get_task_node_count( /*count_arena_workers=*/true );
- size_t m = GetMemoryUsage();
-
- if( (m-initial_amount_of_memory > 0) && (n > average+4*sigma) ) {
- ++error_count;
- // Use 4*sigma interval (for normal distribution, 3*sigma contains ~99% of values).
- // Issue a warning for the first couple of times, then errors
- REPORT( "%s: possible leak of up to %ld bytes; currently %ld cached task objects (iteration=%d)\n",
- error_count>3?"Error":"Warning", static_cast<unsigned long>(m-initial_amount_of_memory), long(n), i );
- initial_amount_of_memory = m;
- if( error_count>5 ) break;
- } else {
- if( Verbose )
- REPORT( "Consumed %ld bytes and %ld objects (iteration=%d)\n", long(m), long(n), i );
- }
- }
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- MinThread = -1;
- ParseCommandLine( argc, argv );
- if( !GetMemoryUsage() ) {
- if( Verbose )
- REPORT("GetMemoryUsage is not implemented for this platform\n");
- REPORT("skip\n");
- } else {
- TestTaskReclamation();
- REPORT("done\n");
- }
- return 0;
-}
-
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/task_scheduler_init.h"
-#include <cstdlib>
-#include "harness_assert.h"
-
-//! Test that task::initialize and task::terminate work when doing nothing else.
-/** maxthread is treated as the "maximum" number of worker threads. */
-void InitializeAndTerminate( int maxthread ) {
- for( int i=0; i<200; ++i ) {
- switch( i&3 ) {
- default: {
- tbb::task_scheduler_init init( std::rand() % maxthread + 1 );
- ASSERT(init.is_active(), NULL);
- break;
- }
- case 0: {
- tbb::task_scheduler_init init;
- ASSERT(init.is_active(), NULL);
- break;
- }
- case 1: {
- tbb::task_scheduler_init init( tbb::task_scheduler_init::automatic );
- ASSERT(init.is_active(), NULL);
- break;
- }
- case 2: {
- tbb::task_scheduler_init init( tbb::task_scheduler_init::deferred );
- ASSERT(!init.is_active(), "init should not be active; initialization was deferred");
- init.initialize( std::rand() % maxthread + 1 );
- ASSERT(init.is_active(), NULL);
- init.terminate();
- ASSERT(!init.is_active(), "init should not be active; it was terminated");
- break;
- }
- }
- }
-}
-
-#include <cstdio>
-#include <stdexcept>
-#include "harness.h"
-
-#if _WIN64
-namespace std { // 64-bit Windows compilers have not caught up with 1998 ISO C++ standard
- using ::srand;
-}
-#endif /* _WIN64 */
-
-struct ThreadedInit {
- void operator()( int ) const {
- try {
- InitializeAndTerminate(MaxThread);
- } catch( std::runtime_error& error ) {
- REPORT("ERROR: %s\n", error.what() );
- }
- }
-};
-
-#if _MSC_VER
-#include <windows.h>
-#include <tchar.h>
-#endif /* _MSC_VER */
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
-#if _MSC_VER && !__TBB_NO_IMPLICIT_LINKAGE
- #ifdef _DEBUG
- ASSERT(!GetModuleHandle(_T("tbb.dll")) && GetModuleHandle(_T("tbb_debug.dll")),
- "debug application links with non-debug tbb library");
- #else
- ASSERT(!GetModuleHandle(_T("tbb_debug.dll")) && GetModuleHandle(_T("tbb.dll")),
- "non-debug application links with debug tbb library");
- #endif
-#endif /* _MSC_VER && !__TBB_NO_IMPLICIT_LINKAGE */
- std::srand(2);
- // Set defaults
- MaxThread = MinThread = 2;
- ParseCommandLine( argc, argv );
- try {
- InitializeAndTerminate(MaxThread);
- } catch( std::runtime_error& error ) {
- REPORT("ERROR: %s\n", error.what() );
- }
- for( int p=MinThread; p<=MaxThread; ++p ) {
- if( Verbose ) REPORT("testing with %d threads\n", p );
- NativeParallelFor( p, ThreadedInit() );
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/task_scheduler_observer.h"
-
-typedef uintptr_t FlagType;
-const int MaxFlagIndex = sizeof(FlagType)*8-1;
-
-class MyObserver: public tbb::task_scheduler_observer {
- FlagType flags;
- /*override*/ void on_scheduler_entry( bool is_worker );
- /*override*/ void on_scheduler_exit( bool is_worker );
-public:
- MyObserver( FlagType flags_ ) : flags(flags_) {
- observe(true);
- }
-};
-
-#include "harness_assert.h"
-#include "tbb/atomic.h"
-
-tbb::atomic<int> EntryCount;
-tbb::atomic<int> ExitCount;
-
-struct State {
- FlagType MyFlags;
- bool IsMaster;
- State() : MyFlags(), IsMaster() {}
-};
-
-#include "../tbb/tls.h"
-tbb::internal::tls<State*> LocalState;
-
-void MyObserver::on_scheduler_entry( bool is_worker ) {
- State& state = *LocalState;
- ASSERT( is_worker==!state.IsMaster, NULL );
- ASSERT( (state.MyFlags & flags)==0, NULL );
- ++EntryCount;
- state.MyFlags |= flags;
-}
-
-void MyObserver::on_scheduler_exit( bool is_worker ) {
- State& state = *LocalState;
- ASSERT( is_worker==!state.IsMaster, NULL );
- ++ExitCount;
- state.MyFlags &= ~flags;
-}
-
-#include "tbb/task.h"
-
-class FibTask: public tbb::task {
- const int n;
- FlagType flags;
-public:
- FibTask( int n_, FlagType flags_ ) : n(n_), flags(flags_) {}
- /*override*/ tbb::task* execute() {
- ASSERT( !(~LocalState->MyFlags & flags), NULL );
- if( n>=2 ) {
- set_ref_count(3);
- spawn(*new( tbb::task::allocate_child() ) FibTask(n-1,flags));
- spawn_and_wait_for_all(*new( tbb::task::allocate_child() ) FibTask(n-2,flags));
- }
- return NULL;
- }
-};
-
-void DoFib( FlagType flags ) {
- tbb::task* t = new( tbb::task::allocate_root() ) FibTask(10,flags);
- tbb::task::spawn_root_and_wait(*t);
-}
-
-#include "tbb/task_scheduler_init.h"
-#include "harness.h"
-
-class DoTest {
- int nthread;
-public:
- DoTest( int n ) : nthread(n) {}
- void operator()( int i ) const {
- LocalState->IsMaster = true;
- if( i==0 ) {
- tbb::task_scheduler_init(nthread);
- DoFib(0);
- } else {
- FlagType f = i<=MaxFlagIndex? 1<<i : 0;
- MyObserver w(f);
- tbb::task_scheduler_init(nthread);
- DoFib(f);
- }
- }
-};
-
-void TestObserver( int p, int q ) {
- NativeParallelFor( p, DoTest(q) );
-}
-
-__TBB_TEST_EXPORT
-int main(int argc, char* argv[]) {
- ParseCommandLine( argc, argv );
-
- for( int p=MinThread; p<=MaxThread; ++p )
- for( int q=MinThread; q<=MaxThread; ++q )
- TestObserver(p,q);
- ASSERT( EntryCount>0, "on_scheduler_entry not exercised" );
- ASSERT( ExitCount>0, "on_scheduler_exit not exercised" );
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-/**
- This test ensures that tbb.h brings in all the public TBB interface definitions.
-
- The test is compile-time only. Nothing is actually executed except prinitng
- the final "done" message.
-**/
-
-#include "tbb/tbb.h"
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-
-volatile size_t g_sink;
-
-#define TestTypeDefinitionPresence( Type) g_sink = sizeof(tbb::Type);
-#define TestTypeDefinitionPresence2(TypeStart, TypeEnd) g_sink = sizeof(tbb::TypeStart,TypeEnd);
-#define TestFuncDefinitionPresence(Fn, Args, ReturnType) { ReturnType (*pfn)Args = &tbb::Fn; (void)pfn; }
-
-struct Body {
- void operator() () const {}
-};
-struct Body1 {
- void operator() ( int ) const {}
-};
-struct Body2 {
- Body2 () {}
- Body2 ( const Body2&, tbb::split ) {}
- void operator() ( const tbb::blocked_range<int>& ) const {}
- void join( const Body2& ) {}
-};
-struct Body3 {
- Body3 () {}
- Body3 ( const Body3&, tbb::split ) {}
- void operator() ( const tbb::blocked_range2d<int>&, tbb::pre_scan_tag ) const {}
- void operator() ( const tbb::blocked_range2d<int>&, tbb::final_scan_tag ) const {}
- void reverse_join( Body3& ) {}
- void assign( const Body3& ) {}
-};
-
-__TBB_TEST_EXPORT
-int main(int /*argc*/, char* /*argv*/[]) {
- TestTypeDefinitionPresence2(aligned_space<int, 1> );
- TestTypeDefinitionPresence( atomic<int> );
- TestTypeDefinitionPresence( cache_aligned_allocator<int> );
- TestTypeDefinitionPresence( tbb_hash_compare<int> );
- TestTypeDefinitionPresence2(concurrent_hash_map<int, int> );
- TestTypeDefinitionPresence( concurrent_bounded_queue<int> );
- TestTypeDefinitionPresence( deprecated::concurrent_queue<int> );
- TestTypeDefinitionPresence( strict_ppl::concurrent_queue<int> );
- TestTypeDefinitionPresence( concurrent_vector<int> );
- TestTypeDefinitionPresence( enumerable_thread_specific<int> );
- TestTypeDefinitionPresence( mutex );
- TestTypeDefinitionPresence( null_mutex );
- TestTypeDefinitionPresence( null_rw_mutex );
- TestTypeDefinitionPresence( queuing_mutex );
- TestTypeDefinitionPresence( queuing_rw_mutex );
- TestTypeDefinitionPresence( recursive_mutex );
- TestTypeDefinitionPresence( spin_mutex );
- TestTypeDefinitionPresence( spin_rw_mutex );
- TestTypeDefinitionPresence( tbb_exception );
- TestTypeDefinitionPresence( captured_exception );
- TestTypeDefinitionPresence( movable_exception<int> );
-#if !TBB_USE_CAPTURED_EXCEPTION
- TestTypeDefinitionPresence( tbb_exception_ptr );
-#endif /* !TBB_USE_CAPTURED_EXCEPTION */
- TestTypeDefinitionPresence( blocked_range3d<int> );
- TestFuncDefinitionPresence( parallel_invoke, (Body&, Body&), void );
- TestFuncDefinitionPresence( parallel_do, (int*, int*, const Body1&), void );
- TestFuncDefinitionPresence( parallel_for_each, (int*, int*, Body1), Body1 );
- TestFuncDefinitionPresence( parallel_for, (const tbb::blocked_range<int>&, const Body2&, const tbb::simple_partitioner&), void );
- TestFuncDefinitionPresence( parallel_reduce, (const tbb::blocked_range<int>&, Body2&, tbb::affinity_partitioner&), void );
- TestFuncDefinitionPresence( parallel_scan, (const tbb::blocked_range2d<int>&, Body3&, const tbb::auto_partitioner&), void );
- TestFuncDefinitionPresence( parallel_sort, (int*, int*), void );
- TestTypeDefinitionPresence( pipeline );
- TestTypeDefinitionPresence( task );
- TestTypeDefinitionPresence( empty_task );
- TestTypeDefinitionPresence( task_list );
- TestTypeDefinitionPresence( task_group_context );
- TestTypeDefinitionPresence( task_group );
- TestTypeDefinitionPresence( task_handle<Body> );
- TestTypeDefinitionPresence( task_scheduler_init );
- TestTypeDefinitionPresence( task_scheduler_observer );
- TestTypeDefinitionPresence( tbb_thread );
- TestTypeDefinitionPresence( tbb_allocator<int> );
- TestTypeDefinitionPresence( zero_allocator<int> );
- TestTypeDefinitionPresence( tick_count );
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/tbb_thread.h"
-#include "tbb/atomic.h"
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness_report.h"
-#include "harness_assert.h"
-
-static const int THRDS = 3;
-static const int THRDS_DETACH = 2;
-static tbb::atomic<int> sum;
-static tbb::atomic<int> BaseCount;
-static tbb::tbb_thread::id real_ids[THRDS+THRDS_DETACH];
-
-class Base {
- mutable int copy_throws;
- friend void RunTests();
- friend void CheckExceptionSafety();
- void operator=( const Base& ); // Deny access
-protected:
- Base() : copy_throws(100) {++BaseCount;}
- Base( const Base& c ) : copy_throws(c.copy_throws) {
- if( --copy_throws<=0 )
- throw 0;
- ++BaseCount;
- }
- ~Base() {--BaseCount;}
-};
-
-template<int N>
-class Data: Base {
- Data(); // Deny access
- explicit Data(int v) : value(v) {}
-
- friend void RunTests();
- friend void CheckExceptionSafety();
-public:
- int value;
-};
-
-
-#include "harness_barrier.h"
-
-class ThreadFunc: Base {
- ThreadFunc() {}
-
- static Harness::SpinBarrier init_barrier;
-
- friend void RunTests();
-public:
- void operator()(){
- real_ids[0] = tbb::this_tbb_thread::get_id();
- init_barrier.wait();
-
- sum.fetch_and_add(1);
- }
- void operator()(int num){
- real_ids[num] = tbb::this_tbb_thread::get_id();
- init_barrier.wait();
-
- sum.fetch_and_add(num);
- }
- void operator()(int num, Data<0> dx) {
- real_ids[num] = tbb::this_tbb_thread::get_id();
-
- const double WAIT = .1;
- tbb::tick_count t0 = tbb::tick_count::now();
- tbb::this_tbb_thread::sleep( tbb::tick_count::interval_t(WAIT) );
- tbb::tick_count t1 = tbb::tick_count::now();
- ASSERT( ( WAIT - (t1-t0).seconds() ) < 1e-10
- || (t1-t0).seconds() > WAIT, "Should sleep enough.");
-
- init_barrier.wait();
-
- sum.fetch_and_add(num);
- sum.fetch_and_add(dx.value);
- }
- void operator()(Data<0> d) {
- tbb::this_tbb_thread::sleep( tbb::tick_count::interval_t(d.value*1.) );
- }
-};
-
-Harness::SpinBarrier ThreadFunc::init_barrier(THRDS);
-
-void CheckRelations( const tbb::tbb_thread::id ids[], int n, bool duplicates_allowed ) {
- for( int i=0; i<n; ++i ) {
- const tbb::tbb_thread::id x = ids[i];
- for( int j=0; j<n; ++j ) {
- const tbb::tbb_thread::id y = ids[j];
- ASSERT( (x==y)==!(x!=y), NULL );
- ASSERT( (x<y)==!(x>=y), NULL );
- ASSERT( (x>y)==!(x<=y), NULL );
- ASSERT( (x<y)+(x==y)+(x>y)==1, NULL );
- ASSERT( x!=y || i==j || duplicates_allowed, NULL );
- for( int k=0; k<n; ++k ) {
- const tbb::tbb_thread::id z = ids[j];
- ASSERT( !(x<y && y<z) || x<z, "< is not transitive" );
- }
- }
- }
-}
-
-class AnotherThreadFunc: Base {
-public:
- void operator()() {}
- void operator()(const Data<1>&) {}
- void operator()(const Data<1>&, const Data<2>&) {}
- friend void CheckExceptionSafety();
-};
-
-void CheckExceptionSafety() {
- int original_count = BaseCount;
- // d loops over number of copies before throw occurs
- for( int d=1; d<=3; ++d ) {
- // Try all combinations of throw/nothrow for f, x, and y's copy constructor.
- for( int i=0; i<8; ++i ) {
- {
- const AnotherThreadFunc f = AnotherThreadFunc();
- if( i&1 ) f.copy_throws = d;
- const Data<1> x(0);
- if( i&2 ) x.copy_throws = d;
- const Data<2> y(0);
- if( i&4 ) y.copy_throws = d;
- bool exception_caught = false;
- for( int j=0; j<3; ++j ) {
- try {
- switch(j) {
- case 0: {tbb::tbb_thread t(f); t.join();} break;
- case 1: {tbb::tbb_thread t(f,x); t.join();} break;
- case 2: {tbb::tbb_thread t(f,x,y); t.join();} break;
- }
- } catch(...) {
- exception_caught = true;
- }
- ASSERT( !exception_caught||(i&((1<<(j+1))-1))!=0, NULL );
- }
- }
-// Intel Compiler sometimes fails to destroy all implicitly generated copies
-// of an object when a copy constructor throws an exception.
-// Problem was reported as Quad issue 482935.
-// This #if should be removed or tightened when the bug is fixed.
-#if !((_WIN32 || _WIN64) && defined(__INTEL_COMPILER))
- ASSERT( BaseCount==original_count, "object leak detected" );
-#endif
- }
- }
-}
-
-#include <cstdio>
-
-void RunTests() {
-
- ThreadFunc t;
- Data<0> d100(100), d1(1), d0(0);
- tbb::tbb_thread::id id;
- tbb::tbb_thread::id id0, uniq_ids[THRDS];
-
- tbb::tbb_thread thrs[THRDS];
- tbb::tbb_thread thr;
- tbb::tbb_thread thr0(t);
- tbb::tbb_thread thr1(t, 2);
- tbb::tbb_thread thr2(t, 1, d100);
-
- ASSERT( thr0.get_id() != id, NULL );
- id0 = thr0.get_id();
- tbb::move(thrs[0], thr0);
- ASSERT( thr0.get_id() == id, NULL );
- ASSERT( thrs[0].get_id() == id0, NULL );
-
- tbb::tbb_thread::native_handle_type h1 = thr1.native_handle();
- tbb::tbb_thread::native_handle_type h2 = thr2.native_handle();
- tbb::tbb_thread::id id1 = thr1.get_id();
- tbb::tbb_thread::id id2 = thr2.get_id();
- tbb::swap(thr1, thr2);
- ASSERT( thr1.native_handle() == h2, NULL );
- ASSERT( thr2.native_handle() == h1, NULL );
- ASSERT( thr1.get_id() == id2, NULL );
- ASSERT( thr2.get_id() == id1, NULL );
-
- tbb::move(thrs[1], thr1);
- ASSERT( thr1.get_id() == id, NULL );
-
- tbb::move(thrs[2], thr2);
- ASSERT( thr2.get_id() == id, NULL );
-
- for (int i=0; i<THRDS; i++)
- uniq_ids[i] = thrs[i].get_id();
-
- ASSERT( thrs[2].joinable(), NULL );
-
- for (int i=0; i<THRDS; i++)
- thrs[i].join();
- for (int i=0; i<THRDS; i++)
- ASSERT( real_ids[i] == uniq_ids[i], NULL );
-
- int current_sum = sum;
- ASSERT( current_sum == 104, NULL );
- ASSERT( ! thrs[2].joinable(), NULL );
- ASSERT( BaseCount==4, "object leak detected" );
-
-#if !__TBB_EXCEPTION_HANDLING_TOTALLY_BROKEN
- CheckExceptionSafety();
-#endif
-
- // Note: all tests involving BaseCount should be put before the tests
- // involing detached threads, because there is no way of knowing when
- // a detached thread destroys its arguments.
-
- tbb::tbb_thread thr_detach_0(t, d0);
- real_ids[THRDS] = thr_detach_0.get_id();
- thr_detach_0.detach();
- ASSERT( thr_detach_0.get_id() == id, NULL );
-
- tbb::tbb_thread thr_detach_1(t, d1);
- real_ids[THRDS+1] = thr_detach_1.get_id();
- thr_detach_1.detach();
- ASSERT( thr_detach_1.get_id() == id, NULL );
-
- CheckRelations(real_ids, THRDS+THRDS_DETACH, true);
-
- CheckRelations(uniq_ids, THRDS, false);
-
- for (int i=0; i<2; i++) {
- AnotherThreadFunc empty_func;
- tbb::tbb_thread thr_to(empty_func), thr_from(empty_func);
- tbb::tbb_thread::id from_id = thr_from.get_id();
- if (i) thr_to.join();
- thr_to = thr_from;
- ASSERT( thr_from.get_id() == tbb::tbb_thread::id(), NULL );
- ASSERT( thr_to.get_id() == from_id, NULL );
- }
-
- ASSERT( tbb::tbb_thread::hardware_concurrency() > 0, NULL);
-}
-
-typedef bool (*id_relation)( tbb::tbb_thread::id, tbb::tbb_thread::id );
-
-id_relation CheckSignatures() {
- id_relation r[6] = {&tbb::operator==,
- &tbb::operator!=,
- &tbb::operator<,
- &tbb::operator>,
- &tbb::operator<=,
- &tbb::operator>=};
- return r[1];
-}
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
-
-__TBB_TEST_EXPORT
-int main( int , char *[] ) {
- CheckSignatures();
- RunTests();
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <vector>
-#include <string>
-#include <utility>
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "tbb/task_scheduler_init.h"
-#include "harness.h"
-
-#if defined (_WIN32) || defined (_WIN64)
-#define TEST_SYSTEM_COMMAND "test_tbb_version.exe 1"
-#define putenv _putenv
-#else
-#define TEST_SYSTEM_COMMAND "./test_tbb_version.exe 1"
-#endif
-
-enum string_required {
- required,
- not_required
- };
-
-typedef std::pair <std::string, string_required> string_pair;
-
-void initialize_strings_vector(std::vector <string_pair>* vector);
-
-const char stderr_stream[] = "version_test.err";
-const char stdout_stream[] = "version_test.out";
-
-__TBB_TEST_EXPORT
-int main(int argc, char*[] ) {
-/* We first introduced runtime version identification in 3014 */
-#if TBB_INTERFACE_VERSION>=3014
- // For now, just test that run-time TBB version matches the compile-time version,
- // since otherwise the subsequent test of "TBB: INTERFACE VERSION" string will fail anyway.
- // We need something more clever in future.
- ASSERT(tbb::TBB_runtime_interface_version()==TBB_INTERFACE_VERSION,
- "Running with the library of different version than the test was compiled against");
-#endif
- try{
- FILE *stream_out;
- FILE *stream_err;
- char psBuffer[512];
-
- if(argc>1) {
- stream_err = freopen( stderr_stream, "w", stderr );
- if( stream_err == NULL ){
- REPORT( "Internal test error (freopen)\n" );
- exit( 1 );
- }
- stream_out = freopen( stdout_stream, "w", stdout );
- if( stream_out == NULL ){
- REPORT( "Internal test error (freopen)\n" );
- exit( 1 );
- }
- {
- tbb::task_scheduler_init init(1);
- }
- fclose( stream_out );
- fclose( stream_err );
- exit(0);
- }
- //1st step check that output is empty if TBB_VERSION is not defined.
- if ( getenv("TBB_VERSION") ){
- REPORT( "TBB_VERSION defined, skipping step 1 (empty output check)\n" );
- }else{
- if( ( system(TEST_SYSTEM_COMMAND) ) != 0 ){
- REPORT( "Error (step 1): Internal test error\n" );
- exit( 1 );
- }
- //Checking output streams - they should be empty
- stream_err = fopen( stderr_stream, "r" );
- if( stream_err == NULL ){
- REPORT( "Error (step 1):Internal test error (stderr open)\n" );
- exit( 1 );
- }
- while( !feof( stream_err ) ) {
- if( fgets( psBuffer, 512, stream_err ) != NULL ){
- REPORT( "Error (step 1): stderr should be empty\n" );
- exit( 1 );
- }
- }
- fclose( stream_err );
- stream_out = fopen( stdout_stream, "r" );
- if( stream_out == NULL ){
- REPORT( "Error (step 1):Internal test error (stdout open)\n" );
- exit( 1 );
- }
- while( !feof( stream_out ) ) {
- if( fgets( psBuffer, 512, stream_out ) != NULL ){
- REPORT( "Error (step 1): stdout should be empty\n" );
- exit( 1 );
- }
- }
- fclose( stream_out );
- }
-
- //Setting TBB_VERSION in case it is not set
- if ( !getenv("TBB_VERSION") ){
- putenv(const_cast<char*>("TBB_VERSION=1"));
- }
-
- if( ( system(TEST_SYSTEM_COMMAND) ) != 0 ){
- REPORT( "Error (step 2):Internal test error\n" );
- exit( 1 );
- }
- //Checking pipe - it should contain version data
- std::vector <string_pair> strings_vector;
- std::vector <string_pair>::iterator strings_iterator;
-
- initialize_strings_vector( &strings_vector );
- strings_iterator = strings_vector.begin();
-
- stream_out = fopen( stdout_stream, "r" );
- if( stream_out == NULL ){
- REPORT( "Error (step 2):Internal test error (stdout open)\n" );
- exit( 1 );
- }
- while( !feof( stream_out ) ) {
- if( fgets( psBuffer, 512, stream_out ) != NULL ){
- REPORT( "Error (step 2): stdout should be empty\n" );
- exit( 1 );
- }
- }
- fclose( stream_out );
-
- stream_err = fopen( stderr_stream, "r" );
- if( stream_err == NULL ){
- REPORT( "Error (step 1):Internal test error (stderr open)\n" );
- exit( 1 );
- }
-
- int skip_line = 0;
-
- while( !feof( stream_err ) ) {
- if( fgets( psBuffer, 512, stream_err ) != NULL ){
- do{
- if ( strings_iterator == strings_vector.end() ){
- REPORT( "Error: version string dictionary ended prematurely.\n" );
- REPORT( "No match for: \t%s", psBuffer );
- exit( 1 );
- }
- if ( strstr( psBuffer, strings_iterator->first.c_str() ) == NULL ){
- if( strings_iterator->second == required ){
- REPORT( "Error: version strings do not match.\n" );
- REPORT( "Expected \"%s\" not found in:\n\t%s", strings_iterator->first.c_str(), psBuffer );
- exit( 1 );
- }else{
- //Do we need to print in case there is no non-required string?
- skip_line = 1;
- }
- }else{
- skip_line = 0;
- }
- if ( strings_iterator != strings_vector.end() ) strings_iterator ++;
- }while( skip_line );
- }
- }
- fclose( stream_err );
- } catch(...) {
- ASSERT( 0,"unexpected exception" );
- }
- REPORT("done\n");
- return 0;
-}
-
-
-// Fill dictionary with version strings for platforms
-void initialize_strings_vector(std::vector <string_pair>* vector)
-{
- vector->push_back(string_pair("TBB: VERSION\t\t2.2", required)); // check TBB_VERSION
- vector->push_back(string_pair("TBB: INTERFACE VERSION\t4001", required)); // check TBB_INTERFACE_VERSION
- vector->push_back(string_pair("TBB: BUILD_DATE", required));
- vector->push_back(string_pair("TBB: BUILD_HOST", required));
- vector->push_back(string_pair("TBB: BUILD_OS", required));
-#if _WIN32||_WIN64
-#if !__MINGW32__
- vector->push_back(string_pair("TBB: BUILD_CL", required));
-#endif
- vector->push_back(string_pair("TBB: BUILD_COMPILER", required));
-#elif __APPLE__
- vector->push_back(string_pair("TBB: BUILD_KERNEL", required));
- vector->push_back(string_pair("TBB: BUILD_GCC", required));
- vector->push_back(string_pair("TBB: BUILD_COMPILER", not_required)); //if( getenv("COMPILER_VERSION") )
-#elif __sun
- vector->push_back(string_pair("TBB: BUILD_KERNEL", required));
- vector->push_back(string_pair("TBB: BUILD_SUNCC", required));
- vector->push_back(string_pair("TBB: BUILD_COMPILER", not_required)); //if( getenv("COMPILER_VERSION") )
-#else //We use version_info_linux.sh for unsupported OSes
- vector->push_back(string_pair("TBB: BUILD_KERNEL", required));
- vector->push_back(string_pair("TBB: BUILD_GCC", required));
- vector->push_back(string_pair("TBB: BUILD_COMPILER", not_required)); //if( getenv("COMPILER_VERSION") )
- vector->push_back(string_pair("TBB: BUILD_GLIBC", required));
- vector->push_back(string_pair("TBB: BUILD_LD", required));
-#endif
- vector->push_back(string_pair("TBB: BUILD_TARGET", required));
- vector->push_back(string_pair("TBB: BUILD_COMMAND", required));
- vector->push_back(string_pair("TBB: TBB_USE_DEBUG", required));
- vector->push_back(string_pair("TBB: TBB_USE_ASSERT", required));
- vector->push_back(string_pair("TBB: DO_ITT_NOTIFY", required));
- vector->push_back(string_pair("TBB: ITT", not_required)); //#ifdef DO_ITT_NOTIFY
- vector->push_back(string_pair("TBB: ALLOCATOR", required));
- vector->push_back(string_pair("TBB: RML", not_required));
- vector->push_back(string_pair("TBB: Intel(R) RML library built:", not_required));
- vector->push_back(string_pair("TBB: SCHEDULER", required));
-
- return;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#include "tbb/tick_count.h"
-#include "harness.h"
-#include <cstdio>
-
-//! Assert that two times in seconds are very close.
-void AssertNear( double x, double y ) {
- ASSERT( -1.0E-10 <= x-y && x-y <=1.0E-10, NULL );
-}
-
-//! Test arithmetic operators on tick_count::interval_t
-void TestArithmetic( const tbb::tick_count& t0, const tbb::tick_count& t1, const tbb::tick_count& t2 ) {
- tbb::tick_count::interval_t i= t1-t0;
- tbb::tick_count::interval_t j = t2-t1;
- tbb::tick_count::interval_t k = t2-t0;
- AssertSameType( tbb::tick_count::interval_t(), i-j );
- AssertSameType( tbb::tick_count::interval_t(), i+j );
- ASSERT( i.seconds()>1E-9, NULL );
- ASSERT( j.seconds()>1E-9, NULL );
- ASSERT( k.seconds()>2E-9, NULL );
- AssertNear( (i+j).seconds(), k.seconds() );
- AssertNear( (k-j).seconds(), i.seconds() );
- AssertNear( ((k-j)+(j-i)).seconds(), k.seconds()-i.seconds() );
- tbb::tick_count::interval_t sum;
- sum += i;
- sum += j;
- AssertNear( sum.seconds(), k.seconds() );
- sum -= i;
- AssertNear( sum.seconds(), j.seconds() );
- sum -= j;
- AssertNear( sum.seconds(), 0.0 );
-}
-
-//------------------------------------------------------------------------
-// Test for overhead in calls to tick_count
-//------------------------------------------------------------------------
-
-//! Wait for given duration.
-/** The duration parameter is in units of seconds. */
-static void WaitForDuration( double duration ) {
- tbb::tick_count start = tbb::tick_count::now();
- while( (tbb::tick_count::now()-start).seconds() < duration )
- continue;
-}
-
-//! Test that average timer overhead is within acceptable limit.
-/** The 'tolerance' value inside the test specifies the limit. */
-void TestSimpleDelay( int ntrial, double duration, double tolerance ) {
- double total_worktime = 0;
- // Iteration -1 warms up the code cache.
- for( int trial=-1; trial<ntrial; ++trial ) {
- tbb::tick_count t0 = tbb::tick_count::now();
- if( duration ) WaitForDuration(duration);
- tbb::tick_count t1 = tbb::tick_count::now();
- if( trial>=0 ) {
- total_worktime += (t1-t0).seconds();
- }
- }
- // Compute average worktime and average delta
- double worktime = total_worktime/ntrial;
- double delta = worktime-duration;
- if (Verbose)
- REPORT("worktime=%g delta=%g tolerance=%g\n", worktime, delta, tolerance);
-
- // Check that delta is acceptable
- if( delta<0 )
- REPORT("ERROR: delta=%g < 0\n",delta);
- if( delta>tolerance )
- REPORT("%s: delta=%g > %g=tolerance where duration=%g\n",delta>3*tolerance?"ERROR":"Warning",delta,tolerance,duration);
-}
-
-//------------------------------------------------------------------------
-// Test for subtracting calls to tick_count from different threads.
-//------------------------------------------------------------------------
-
-#include "tbb/atomic.h"
-const int MAX_NTHREAD = 1000;
-static tbb::atomic<int> Counter;
-static volatile bool Flag;
-static tbb::tick_count tick_countArray[MAX_NTHREAD];
-
-struct tick_countDifferenceBody {
- void operator()( int id ) const {
- if( --Counter==0 ) Flag = true;
- while( !Flag ) continue;
- tick_countArray[id] = tbb::tick_count::now();
- }
-};
-
-//! Test that two tick_count values recorded on different threads can be meaningfully subtracted.
-void Testtick_countDifference( int n ) {
- double tolerance = 3E-4;
- for( int trial=0; trial<10; ++trial ) {
- Counter = n;
- Flag = false;
- NativeParallelFor( n, tick_countDifferenceBody() );
- ASSERT( Counter==0, NULL );
- for( int i=0; i<n; ++i )
- for( int j=0; j<i; ++j ) {
- double diff = (tick_countArray[i]-tick_countArray[j]).seconds();
- if( diff<0 ) diff = -diff;
- if( diff>tolerance ) {
- REPORT("%s: cross-thread tick_count difference = %g > %g = tolerance\n",
- diff>3*tolerance?"ERROR":"Warning",diff,tolerance);
- }
- }
- }
-}
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[]) {
- ParseCommandLine(argc, argv);
-
- tbb::tick_count t0 = tbb::tick_count::now();
- TestSimpleDelay(/*ntrial=*/1000000,/*duration=*/0, /*tolerance=*/2E-6);
- tbb::tick_count t1 = tbb::tick_count::now();
- TestSimpleDelay(/*ntrial=*/10, /*duration=*/0.125,/*tolerance=*/5E-6);
- tbb::tick_count t2 = tbb::tick_count::now();
- TestArithmetic(t0,t1,t2);
-
- for( int n=MinThread; n<=MaxThread; ++n ) {
- Testtick_countDifference(n);
- }
- REPORT("done\n");
- return 0;
-}
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-#define DO_ITT_NOTIFY 1
-#define TBB_USE_ASSERT 1
-#define TBB_DO_ITT_EVENTS 1
-
-/* to do implicite linkage under Windows, but __TBB_BUILD stops it */
-#include "tbb/tbb_stddef.h"
-
-#if _MSC_VER /* need this to overcome _declspec( dllimport ) for ITT_event */
-#define __TBB_BUILD 1
-#endif
-
-#include "../tbb/itt_notify.cpp"
-
-#undef DO_ITT_NOTIFY
-
-#include <string>
-#include <vector>
-#include <sstream>
-#include <iostream>
-#include <tbb/atomic.h>
-#include <tbb/tbb_thread.h>
-#include <tbb/concurrent_hash_map.h>
-#include "harness_assert.h"
-
-namespace tbb {
-namespace internal {
-
-void DoOneTimeInitializations() {}
-bool GetBoolEnvironmentVariable(char const*) { return true; }
-bool FillDynamicLinks(const char*, const DynamicLinkDescriptor [], size_t) {
- return true;
-}
-void PrintExtraVersionInfo( const char* , const char* ) {}
-
-struct EvName {
- int event;
- char name[100];
-
- EvName(int event, const char *n) : event(event) {
- strcpy(name, n);
- }
-};
-
-struct Hash_Cmp {
- static size_t hash(int event) {
- return event;
- }
- static bool equal(int e1, int e2) {
- return e1==e2;
- }
-};
-
-typedef concurrent_hash_map<__itt_event,std::string,Hash_Cmp> EvNames;
-
-static EvNames ev_names;
-
-static atomic<int> uniq_itt_event;
-
-__itt_event test_event_create(const char *name, int)
-{
- __itt_event my_cnt = uniq_itt_event++;
- EvNames::accessor acc;
- std::string str(name);
-
- ev_names.insert( acc, my_cnt );
- acc->second = str;
-
- return my_cnt;
-}
-
-struct IdxStr {
- itt_event_t h;
- std::string str;
-};
-
-static ITT_Event_Hnd_to_Event<true> ev;
-static IdxStr *idxs;
-static atomic<int> waiting_threads;
-
-class Pusher
-{
- int my_num;
- int events_per_thread;
-
- void barrier() {
- waiting_threads--;
- while(waiting_threads)
- ;
- }
-public:
- Pusher(int my_num, int events_per_thread) :
- my_num(my_num), events_per_thread(events_per_thread) {}
- void operator()(){
- barrier();
-
- for (int i=events_per_thread*my_num;
- i<events_per_thread*(my_num+1); i++) {
- IdxStr i_s;
- char buf[100];
-
- sprintf(buf, "%d", i);
- i_s.str = buf;
- i_s.h = ev.add_event(buf);
-
- idxs[i] = i_s;
- }
- }
- void operator()(int thread_id){
- std::vector<itt_event_t> l_idx;
- barrier();
-
- for (int i=0; i<events_per_thread; i++) {
- char buf[100];
-
- sprintf(buf, "%d_%d", thread_id, i);
-
- itt_event_t idx = ev.add_event(buf);
- int event = ev.get_event_by_handler( idx );
-
- EvNames::const_accessor acc;
- bool ok = ev_names.find(acc, event);
- ASSERT(ok, "itt_event should exists");
- ASSERT(0==acc->second.compare(buf), "different event names");
-
- l_idx.push_back(idx);
- }
-
- for (int i=0; i<events_per_thread; i++) {
- ev.get_event_by_handler( l_idx[i] );
- }
- }
-};
-
-
-void Test()
-{
- ITT_Handler_event_create = test_event_create;
- uniq_itt_event = 77;
- const int init_num_thr = 8;
- const int events_per_thread = 1000;
-
- tbb::tbb_thread threads[init_num_thr];
- waiting_threads = init_num_thr;
- idxs = new IdxStr[init_num_thr*events_per_thread];
- for (int i=0; i<init_num_thr; i++)
- new(threads+i) tbb::tbb_thread(Pusher(i, events_per_thread));
-
- for (int i=0; i<init_num_thr; i++)
- threads[i].join();
-
- ev.switch_to_event_creation();
-
- for (int i=0; i<init_num_thr*events_per_thread; i++) {
- std::ostringstream out;
- out << i;
-
- __itt_event e = ev.get_event_by_handler(idxs[i].h);
-
- EvNames::const_accessor acc;
- bool ok = ev_names.find(acc, e);
- ASSERT(ok, "itt_event should exists");
- ASSERT(0==acc->second.compare(out.str()), "different event names");
- }
-
- waiting_threads = init_num_thr;
- for (int i=0; i<init_num_thr; i++)
- new(threads+i) tbb::tbb_thread(Pusher(i, events_per_thread), i);
- for (int i=0; i<init_num_thr; i++)
- threads[i].join();
-}
-
-} // namespace internal
-} // namespace tbb
-
-__TBB_TEST_EXPORT
-int main() {
- tbb::internal::Test();
- REPORT("done\n");
-}
-
-#define HARNESS_NO_PARSE_COMMAND_LINE 1
-#include "harness.h"
+++ /dev/null
-/*
- Copyright 2005-2009 Intel Corporation. All Rights Reserved.
-
- This file is part of Threading Building Blocks.
-
- Threading Building Blocks is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- version 2 as published by the Free Software Foundation.
-
- Threading Building Blocks is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Threading Building Blocks; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- As a special exception, you may use this file as part of a free software
- library without restriction. Specifically, if other files instantiate
- templates or use macros or inline functions from this file, or you compile
- this file and link it with other files to produce an executable, this
- file does not by itself cause the resulting executable to be covered by
- the GNU General Public License. This exception does not however
- invalidate any other reasons why the executable file might be covered by
- the GNU General Public License.
-*/
-
-// Test that __TBB_Yield works.
-// On Red Hat EL4 U1, it does not work, because sched_yield is broken.
-
-#include "tbb/tbb_machine.h"
-#include "tbb/tick_count.h"
-#include "harness.h"
-
-static volatile long CyclicCounter;
-static volatile bool Quit;
-double SingleThreadTime;
-
-struct RoundRobin: NoAssign {
- const int number_of_threads;
- RoundRobin( long p ) : number_of_threads(p) {}
- void operator()( long k ) const {
- tbb::tick_count t0 = tbb::tick_count::now();
- for( long i=0; i<10000; ++i ) {
- // Wait for previous thread to notify us
- for( int j=0; CyclicCounter!=k && !Quit; ++j ) {
- __TBB_Yield();
- if( j%100==0 ) {
- tbb::tick_count t1 = tbb::tick_count::now();
- if( (t1-t0).seconds()>=1.0*number_of_threads ) {
- REPORT("Warning: __TBB_Yield failing to yield with %d threads (or system is heavily loaded)\n",number_of_threads);
- Quit = true;
- return;
- }
- }
- }
- // Notify next thread that it can run
- CyclicCounter = (k+1)%number_of_threads;
- }
- }
-};
-
-__TBB_TEST_EXPORT
-int main( int argc, char* argv[] ) {
- // Set defaults
- MaxThread = MinThread = 3;
- ParseCommandLine( argc, argv );
- for( int p=MinThread; p<=MaxThread; ++p ) {
- if( Verbose ) REPORT("testing with %d threads\n", p );
- CyclicCounter = 0;
- Quit = false;
- NativeParallelFor( long(p), RoundRobin(p) );
- }
- REPORT("done\n");
- return 0;
-}
-