Changeset 1011 for GTP/trunk/Lib/Vis


Ignore:
Timestamp:
06/12/06 16:36:26 (19 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/Lib/Vis
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/scripts/TestPreprocessor.vcproj

    r1002 r1011  
    8484                                OutputFile="$(OutDir)/Preprocessor.exe" 
    8585                                LinkIncremental="1" 
    86                                 AdditionalLibraryDirectories="..\support\xercesc\lib\;..\support\zlib\lib\;..\support\devil\lib;"$(QTDIR)\lib";..\include;..\src\GL;"$(CG_LIB_PATH)";"$(GTPDIR)\NonGTP\Xerces";"$(GTPDIR)\NonGTP\Xerces\xercesc\lib";"$(GTPDIR)\NonGTP\zlib\lib";"$(GTPDIR)\NonGTP\Devil\lib";..\lib\release" 
     86                                AdditionalLibraryDirectories="..\support\xercesc\lib\;..\support\zlib\lib\;..\support\devil\lib;"$(QTDIR)\lib";..\include;..\src\GL;"$(CG_LIB_PATH)";"$(GTPDIR)\NonGTP\Xerces";"$(GTPDIR)\NonGTP\Xerces\xercesc\lib";"$(GTPDIR)\NonGTP\zlib\lib";"$(GTPDIR)\NonGTP\Devil\lib";..\lib\release;..\..\Preprocessing\lib\release" 
    8787                                GenerateDebugInformation="FALSE" 
    8888                                SubSystem="1" 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspBspTree.cpp

    r1006 r1011  
    6868        bool randomize = false; 
    6969        Environment::GetSingleton()->GetBoolValue("VspBspTree.Construction.randomize", randomize); 
    70         if (randomize) 
    71                 Randomize(); // initialise random generator for heuristics 
     70        if (randomize) Randomize(); // initialise random generator for heuristics 
    7271 
    7372        //-- termination criteria for autopartition 
     
    8786        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.minGlobalCostRatio", mTermMinGlobalCostRatio); 
    8887        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.globalCostMissTolerance", mTermGlobalCostMissTolerance); 
    89  
    90         // HACK//mTermMinPolygons = 25; 
    9188 
    9289        //-- factors for bsp tree split plane heuristics 
     
    27362733                                const int side = plane.Side(bRay.ExtrapOrigin()); 
    27372734 
     2735                                ++ splits; 
     2736 
    27382737                                if (side <= 0) 
    27392738                                { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspKdTree.cpp

    r1006 r1011  
    147147} 
    148148 
     149 
    149150void VspKdInterior::Print(ostream &s) const 
    150151{ 
     
    165166} 
    166167 
     168 
    167169int VspKdInterior::ComputeRayIntersection(const RayInfo &rayData, float &t) 
    168170{ 
     
    170172} 
    171173 
     174 
    172175VspKdNode *VspKdInterior::GetBack() const 
    173176{ 
    174177        return mBack; 
    175178} 
     179 
    176180 
    177181VspKdNode *VspKdInterior::GetFront() const 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspOspTree.cpp

    r1010 r1011  
    124124{} 
    125125 
     126 
    126127VspInterior::~VspInterior()  
    127128{  
     
    130131} 
    131132 
     133 
    132134bool VspInterior::IsLeaf() const 
    133135{  
     
    135137} 
    136138 
     139 
    137140VspNode *VspInterior::GetBack()  
    138141{ 
     
    140143} 
    141144 
     145 
    142146VspNode *VspInterior::GetFront()  
    143147{ 
     
    145149} 
    146150 
     151 
    147152AxisAlignedPlane VspInterior::GetPlane() const 
    148153{ 
    149154        return mPlane; 
    150155} 
     156 
    151157 
    152158void VspInterior::ReplaceChildLink(VspNode *oldChild, VspNode *newChild)  
     
    157163                mFront = newChild; 
    158164} 
     165 
    159166 
    160167void VspInterior::SetupChildLinks(VspNode *b, VspNode *f)  
     
    527534{ 
    528535        return 
    529                 (mOutOfMemory  
    530                 || (mVspStats.Leaves() >= mMaxViewCells)  
    531                 || (mGlobalCostMisses >= mTermGlobalCostMissTolerance) 
    532                  ); 
     536                (mOutOfMemory ||  
     537                (mVspStats.Leaves() >= mMaxViewCells) ||  
     538                (mGlobalCostMisses >= mTermGlobalCostMissTolerance)); 
    533539} 
    534540 
     
    680686        backData.mRays = new RayInfoContainer(); 
    681687         
    682  
    683688        //-- subdivide rays 
    684 #if TODO         
    685689        SplitRays(splitPlane, 
    686690                          *tData.mRays, 
    687691                          *frontData.mRays, 
    688692                          *backData.mRays); 
    689 #endif 
    690  
    691         // compute pvs 
     693 
     694        //-- compute pvs 
    692695        frontData.mPvs = ComputePvsSize(*frontData.mRays); 
    693696        backData.mPvs = ComputePvsSize(*backData.mRays); 
    694697 
    695698        // split front and back node geometry and compute area 
    696          
    697         // if geometry was not already computed 
    698         // TODO 
    699  
    700 #if TODO 
    701699        tData.mBoundingBox.Split(splitPlane.mAxis, splitPlane.mPosition,  
    702700                                                         frontData.mBoundingBox, backData.mBoundingBox); 
    703701 
    704 #endif 
    705702 
    706703        frontData.mProbability = frontData.mBoundingBox.GetVolume(); 
     
    10391036        int bestAxis = -1; 
    10401037 
    1041 #if 0 
    1042         // maximum cost ratio for axis to be valid: 
    1043         // if exceeded, spatial mid split is used instead 
    1044         const maxCostRatioForHeur = 0.99f; 
    1045 #endif 
    10461038 
    10471039        // if we use some kind of specialised fixed axis 
     
    11461138        } 
    11471139 
    1148 #if TODO 
    1149         pFront = geomFront.GetVolume(); 
     1140        AxisAlignedBox3 frontBox; 
     1141        AxisAlignedBox3 backBox; 
     1142 
     1143        data.mBoundingBox.Split(candidatePlane.mAxis, candidatePlane.mPosition, frontBox, backBox); 
     1144 
     1145        pFront = frontBox.GetVolume(); 
    11501146        pBack = pOverall - pFront; 
    1151 #endif 
    11521147                 
    11531148 
     
    13991394        Intersectable::NewMail(); 
    14001395        ViewCell::NewMail(); 
     1396 
    14011397        Vector3 entp = ray.Extrap(mint); 
    14021398        Vector3 extp = ray.Extrap(maxt); 
     
    16511647 
    16521648 
    1653 int VspOspTree::SplitRays(const Plane3 &plane, 
    1654                                                   RayInfoContainer &rays, 
    1655                                                   RayInfoContainer &frontRays, 
    1656                                                   RayInfoContainer &backRays) const 
    1657 { 
    1658         int splits = 0; 
    1659  
    1660         RayInfoContainer::const_iterator it, it_end = rays.end(); 
    1661  
    1662         for (it = rays.begin(); it != it_end; ++ it) 
    1663         { 
    1664                 RayInfo bRay = *it; 
    1665                  
    1666                 VssRay *ray = bRay.mRay; 
    1667                 float t; 
    1668  
    1669                 // get classification and receive new t 
    1670                 const int cf = bRay.ComputeRayIntersection(plane, t); 
    1671  
    1672                 switch (cf) 
    1673                 { 
    1674                 case -1: 
    1675                         backRays.push_back(bRay); 
    1676                         break; 
    1677                 case 1: 
    1678                         frontRays.push_back(bRay); 
    1679                         break; 
    1680                 case 0: 
    1681                         { 
    1682                                 //-- split ray 
    1683                                 //-- test if start point behind or in front of plane 
    1684                                 const int side = plane.Side(bRay.ExtrapOrigin()); 
    1685  
    1686                                 if (side <= 0) 
    1687                                 { 
    1688                                         backRays.push_back(RayInfo(ray, bRay.GetMinT(), t)); 
    1689                                         frontRays.push_back(RayInfo(ray, t, bRay.GetMaxT())); 
    1690                                 } 
    1691                                 else 
    1692                                 { 
    1693                                         frontRays.push_back(RayInfo(ray, bRay.GetMinT(), t)); 
    1694                                         backRays.push_back(RayInfo(ray, t, bRay.GetMaxT())); 
    1695                                 } 
    1696                         } 
    1697                         break; 
    1698                 default: 
    1699                         Debug << "Should not come here" << endl; 
    1700                         break; 
    1701                 } 
    1702         } 
    1703  
    1704         return splits; 
    1705 } 
    1706  
    1707  
    17081649int VspOspTree::FindNeighbors(VspNode *n, vector<VspLeaf *> &neighbors, 
    17091650                                                          const bool onlyUnmailed) const 
     
    18491790        int hits = 0; 
    18501791#if TODO 
    1851         stack<BspRayTraversalData> tStack; 
     1792        stack<VspRayTraversalData> tStack; 
    18521793 
    18531794        float mint = 0.0f, maxt = 1.0f; 
     
    21952136} 
    21962137 
    2197 } 
     2138 
     2139int VspOspTree::SplitRays(const AxisAlignedPlane &plane, 
     2140                                                  RayInfoContainer &rays, 
     2141                                                  RayInfoContainer &frontRays, 
     2142                                                  RayInfoContainer &backRays) const 
     2143{ 
     2144        int splits = 0; 
     2145 
     2146        RayInfoContainer::const_iterator rit, rit_end = rays.end(); 
     2147 
     2148        for (rit = rays.begin(); rit != rit_end; ++ rit) 
     2149        { 
     2150                RayInfo bRay = *rit; 
     2151                 
     2152                VssRay *ray = bRay.mRay; 
     2153                float t; 
     2154 
     2155                // get classification and receive new t 
     2156                //-- test if start point behind or in front of plane 
     2157                const int side = plane.ComputeRayIntersection(bRay, t); 
     2158 
     2159                if (side == 0) 
     2160                { 
     2161                        ++ splits; 
     2162 
     2163                        if (ray->HasPosDir(plane.mAxis)) 
     2164                        { 
     2165                                backRays.push_back(RayInfo(ray, bRay.GetMinT(), t)); 
     2166                                frontRays.push_back(RayInfo(ray, t, bRay.GetMaxT())); 
     2167                        } 
     2168                        else 
     2169                        { 
     2170                                frontRays.push_back(RayInfo(ray, bRay.GetMinT(), t)); 
     2171                                backRays.push_back(RayInfo(ray, t, bRay.GetMaxT())); 
     2172                        } 
     2173                } 
     2174                else if (side == 1) 
     2175                { 
     2176                        frontRays.push_back(bRay); 
     2177                } 
     2178                else 
     2179                { 
     2180                        backRays.push_back(bRay); 
     2181                } 
     2182 
     2183        } 
     2184 
     2185        return splits; 
     2186} 
     2187 
     2188} 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspOspTree.h

    r1010 r1011  
    3535{ 
    3636public: 
     37 
     38        int ComputeRayIntersection(const RayInfo &rayData, float &t) const 
     39        { 
     40                return rayData.ComputeRayIntersection(mAxis, mPosition, t); 
     41        } 
     42 
    3743        int mAxis; 
    3844        float mPosition; 
     
    742748                @returns the number of splits 
    743749        */ 
    744         int SplitRays(const Plane3 &plane, 
     750        int SplitRays(const AxisAlignedPlane &plane, 
    745751                                  RayInfoContainer &rays,  
    746752                              RayInfoContainer &frontRays,  
  • GTP/trunk/Lib/Vis/shared/scripts/GtpVisibility.sln

    r1004 r1011  
    11Microsoft Visual Studio Solution File, Format Version 8.00 
    2 Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "Preprocessor", "..\..\Preprocessing\scripts\Preprocessor.icproj", "{1C63E944-5E2E-447C-AE75-F1BF14641C98}" 
     2Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Preprocessor", "..\..\Preprocessing\scripts\Preprocessor.vcproj", "{EABCE292-D598-4600-A1C9-2591E7D62FDA}" 
    33        ProjectSection(ProjectDependencies) = postProject 
    44        EndProjectSection 
    55EndProject 
    6 Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "GtpVisibility", "..\..\OnlineCullingCHC\scripts\GtpVisibility.icproj", "{C1910FAC-39EA-49F1-B93C-517E15D1C250}" 
     6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GtpVisibility", "..\..\OnlineCullingCHC\scripts\GtpVisibility.vcproj", "{101A7691-74F3-48B4-96A3-CF35578F5900}" 
    77        ProjectSection(ProjectDependencies) = postProject 
    8                 {1C63E944-5E2E-447C-AE75-F1BF14641C98} = {1C63E944-5E2E-447C-AE75-F1BF14641C98} 
     8                {EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA} 
    99        EndProjectSection 
    1010EndProject 
    11 Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "TestCullingTerrain", "..\..\..\..\App\Demos\Vis\HillyTerrain\OGRE\TestCullingTerrain.icproj", "{D26A9780-4457-473C-A391-BBEB7758E2D0}" 
     11Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCullingTerrain", "..\..\..\..\App\Demos\Vis\HillyTerrain\OGRE\TestCullingTerrain.vcproj", "{248F19A6-2FE0-4F5D-8928-E0EA10609887}" 
    1212        ProjectSection(ProjectDependencies) = postProject 
    13                 {4FC8EE48-701E-474E-88CB-FFD17E8A778B} = {4FC8EE48-701E-474E-88CB-FFD17E8A778B} 
    14                 {C1910FAC-39EA-49F1-B93C-517E15D1C250} = {C1910FAC-39EA-49F1-B93C-517E15D1C250} 
    15                 {7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3} = {7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3} 
     13                {80DECC17-BDDD-4412-8CF8-F7C1C17A7436} = {80DECC17-BDDD-4412-8CF8-F7C1C17A7436} 
     14                {101A7691-74F3-48B4-96A3-CF35578F5900} = {101A7691-74F3-48B4-96A3-CF35578F5900} 
     15                {7319E499-473D-4CE5-9983-725D6E68A55D} = {7319E499-473D-4CE5-9983-725D6E68A55D} 
    1616        EndProjectSection 
    1717EndProject 
    18 Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "Plugin_VisibilitySceneManager", "..\..\OnlineCullingCHC\OGRE\scripts\Plugin_VisibilitySceneManager.icproj", "{4FC8EE48-701E-474E-88CB-FFD17E8A778B}" 
     18Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_VisibilitySceneManager", "..\..\OnlineCullingCHC\OGRE\scripts\Plugin_VisibilitySceneManager.vcproj", "{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}" 
    1919        ProjectSection(ProjectDependencies) = postProject 
    20                 {C1910FAC-39EA-49F1-B93C-517E15D1C250} = {C1910FAC-39EA-49F1-B93C-517E15D1C250} 
     20                {101A7691-74F3-48B4-96A3-CF35578F5900} = {101A7691-74F3-48B4-96A3-CF35578F5900} 
    2121        EndProjectSection 
    2222EndProject 
    23 Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "EvalStats", "..\EvalStats\EvalStats.icproj", "{A83C475F-BE2B-452B-B702-97C8F125D31D}" 
     23Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EvalStats", "..\EvalStats\EvalStats.vcproj", "{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}" 
    2424        ProjectSection(ProjectDependencies) = postProject 
    2525        EndProjectSection 
    2626EndProject 
    27 Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "TestPreprocessor", "..\..\Preprocessing\scripts\TestPreprocessor.icproj", "{6DB3C2CD-BBE6-463D-A9D3-92240C71ED22}" 
     27Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestPreprocessor", "..\..\Preprocessing\scripts\TestPreprocessor.vcproj", "{69BC58F0-C7EB-4B43-B782-B6F047EF0528}" 
    2828        ProjectSection(ProjectDependencies) = postProject 
    29                 {1C63E944-5E2E-447C-AE75-F1BF14641C98} = {1C63E944-5E2E-447C-AE75-F1BF14641C98} 
     29                {EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA} 
    3030        EndProjectSection 
    3131EndProject 
    32 Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "IVReader", "..\..\OnlineCullingCHC\IVReader\scripts\IVReader.icproj", "{7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3}" 
     32Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IVReader", "..\..\OnlineCullingCHC\IVReader\scripts\IVReader.vcproj", "{7319E499-473D-4CE5-9983-725D6E68A55D}" 
    3333        ProjectSection(ProjectDependencies) = postProject 
    3434        EndProjectSection 
     
    4040        EndGlobalSection 
    4141        GlobalSection(ProjectConfiguration) = postSolution 
    42                 {1C63E944-5E2E-447C-AE75-F1BF14641C98}.Debug.ActiveCfg = Debug|Win32 
    43                 {1C63E944-5E2E-447C-AE75-F1BF14641C98}.Debug.Build.0 = Debug|Win32 
    44                 {1C63E944-5E2E-447C-AE75-F1BF14641C98}.Release.ActiveCfg = Release|Win32 
    45                 {1C63E944-5E2E-447C-AE75-F1BF14641C98}.Release.Build.0 = Release|Win32 
    46                 {C1910FAC-39EA-49F1-B93C-517E15D1C250}.Debug.ActiveCfg = Debug|Win32 
    47                 {C1910FAC-39EA-49F1-B93C-517E15D1C250}.Debug.Build.0 = Debug|Win32 
    48                 {C1910FAC-39EA-49F1-B93C-517E15D1C250}.Release.ActiveCfg = Release|Win32 
    49                 {C1910FAC-39EA-49F1-B93C-517E15D1C250}.Release.Build.0 = Release|Win32 
    50                 {D26A9780-4457-473C-A391-BBEB7758E2D0}.Debug.ActiveCfg = Debug|Win32 
    51                 {D26A9780-4457-473C-A391-BBEB7758E2D0}.Debug.Build.0 = Debug|Win32 
    52                 {D26A9780-4457-473C-A391-BBEB7758E2D0}.Release.ActiveCfg = Release|Win32 
    53                 {D26A9780-4457-473C-A391-BBEB7758E2D0}.Release.Build.0 = Release|Win32 
    54                 {4FC8EE48-701E-474E-88CB-FFD17E8A778B}.Debug.ActiveCfg = Debug|Win32 
    55                 {4FC8EE48-701E-474E-88CB-FFD17E8A778B}.Debug.Build.0 = Debug|Win32 
    56                 {4FC8EE48-701E-474E-88CB-FFD17E8A778B}.Release.ActiveCfg = Release|Win32 
    57                 {4FC8EE48-701E-474E-88CB-FFD17E8A778B}.Release.Build.0 = Release|Win32 
    58                 {A83C475F-BE2B-452B-B702-97C8F125D31D}.Debug.ActiveCfg = Debug|Win32 
    59                 {A83C475F-BE2B-452B-B702-97C8F125D31D}.Debug.Build.0 = Debug|Win32 
    60                 {A83C475F-BE2B-452B-B702-97C8F125D31D}.Release.ActiveCfg = Release|Win32 
    61                 {A83C475F-BE2B-452B-B702-97C8F125D31D}.Release.Build.0 = Release|Win32 
    62                 {6DB3C2CD-BBE6-463D-A9D3-92240C71ED22}.Debug.ActiveCfg = Debug|Win32 
    63                 {6DB3C2CD-BBE6-463D-A9D3-92240C71ED22}.Debug.Build.0 = Debug|Win32 
    64                 {6DB3C2CD-BBE6-463D-A9D3-92240C71ED22}.Release.ActiveCfg = Release|Win32 
    65                 {6DB3C2CD-BBE6-463D-A9D3-92240C71ED22}.Release.Build.0 = Release|Win32 
    66                 {7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3}.Debug.ActiveCfg = Debug|Win32 
    67                 {7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3}.Debug.Build.0 = Debug|Win32 
    68                 {7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3}.Release.ActiveCfg = Release|Win32 
    69                 {7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3}.Release.Build.0 = Release|Win32 
     42                {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug.ActiveCfg = Debug|Win32 
     43                {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug.Build.0 = Debug|Win32 
     44                {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Release.ActiveCfg = Release|Win32 
    7045                {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Release.Build.0 = Release|Win32 
    71                 {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Release.ActiveCfg = Release|Win32 
    72                 {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug.Build.0 = Debug|Win32 
    73                 {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Debug.ActiveCfg = Debug|Win32 
     46                {101A7691-74F3-48B4-96A3-CF35578F5900}.Debug.ActiveCfg = Debug|Win32 
     47                {101A7691-74F3-48B4-96A3-CF35578F5900}.Debug.Build.0 = Debug|Win32 
     48                {101A7691-74F3-48B4-96A3-CF35578F5900}.Release.ActiveCfg = Release|Win32 
    7449                {101A7691-74F3-48B4-96A3-CF35578F5900}.Release.Build.0 = Release|Win32 
    75                 {101A7691-74F3-48B4-96A3-CF35578F5900}.Release.ActiveCfg = Release|Win32 
    76                 {101A7691-74F3-48B4-96A3-CF35578F5900}.Debug.Build.0 = Debug|Win32 
    77                 {101A7691-74F3-48B4-96A3-CF35578F5900}.Debug.ActiveCfg = Debug|Win32 
     50                {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug.ActiveCfg = Debug|Win32 
     51                {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug.Build.0 = Debug|Win32 
     52                {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Release.ActiveCfg = Release|Win32 
    7853                {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Release.Build.0 = Release|Win32 
    79                 {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Release.ActiveCfg = Release|Win32 
    80                 {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug.Build.0 = Debug|Win32 
    81                 {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Debug.ActiveCfg = Debug|Win32 
     54                {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug.ActiveCfg = Debug|Win32 
     55                {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug.Build.0 = Debug|Win32 
     56                {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release.ActiveCfg = Release|Win32 
    8257                {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release.Build.0 = Release|Win32 
    83                 {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release.ActiveCfg = Release|Win32 
    84                 {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug.Build.0 = Debug|Win32 
    85                 {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Debug.ActiveCfg = Debug|Win32 
     58                {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Debug.ActiveCfg = Debug|Win32 
     59                {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Debug.Build.0 = Debug|Win32 
     60                {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Release.ActiveCfg = Release|Win32 
    8661                {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Release.Build.0 = Release|Win32 
    87                 {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Release.ActiveCfg = Release|Win32 
    88                 {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Debug.Build.0 = Debug|Win32 
    89                 {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Debug.ActiveCfg = Debug|Win32 
     62                {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug.ActiveCfg = Debug|Win32 
     63                {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug.Build.0 = Debug|Win32 
     64                {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release.ActiveCfg = Release|Win32 
    9065                {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release.Build.0 = Release|Win32 
    91                 {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release.ActiveCfg = Release|Win32 
    92                 {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug.Build.0 = Debug|Win32 
    93                 {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Debug.ActiveCfg = Debug|Win32 
     66                {7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.ActiveCfg = Debug|Win32 
     67                {7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.Build.0 = Debug|Win32 
     68                {7319E499-473D-4CE5-9983-725D6E68A55D}.Release.ActiveCfg = Release|Win32 
    9469                {7319E499-473D-4CE5-9983-725D6E68A55D}.Release.Build.0 = Release|Win32 
    95                 {7319E499-473D-4CE5-9983-725D6E68A55D}.Release.ActiveCfg = Release|Win32 
    96                 {7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.Build.0 = Debug|Win32 
    97                 {7319E499-473D-4CE5-9983-725D6E68A55D}.Debug.ActiveCfg = Debug|Win32 
    9870        EndGlobalSection 
    9971        GlobalSection(ExtensibilityGlobals) = postSolution 
Note: See TracChangeset for help on using the changeset viewer.