Changeset 1004 for GTP/trunk/Lib/Vis


Ignore:
Timestamp:
06/07/06 18:38:29 (18 years ago)
Author:
mattausch
Message:

environment as a singleton

Location:
GTP/trunk/Lib/Vis
Files:
42 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp

    r975 r1004  
    10291029        OgreBoundingBoxConverter bconverter(this); 
    10301030 
    1031          
    1032         GtpVisibilityPreprocessor::Environment *env =  
    1033                 mVisibilityManager->GetVisibilityEnvironment()->GetPreprocessorEnvironment(); 
    1034  
    10351031        // load the view cells assigning the found objects to the pvss 
    10361032        mViewCellsManager =  
    1037                 GtpVisibilityPreprocessor::ViewCellsManager::LoadViewCells(filename, &mObjects, env, false, &bconverter); 
     1033                GtpVisibilityPreprocessor::ViewCellsManager::LoadViewCells(filename, &mObjects, false, &bconverter); 
    10381034 
    10391035        return (mViewCellsManager != NULL); 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/include/VisibilityEnvironment.h

    r938 r1004  
    4040 
    4141protected: 
    42         GtpVisibilityPreprocessor::Environment *mEnvironment; 
     42        //GtpVisibilityPreprocessor::Environment *Environment::GetSingleton(); 
    4343}; 
    4444} // namespace GtpVisibility 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/VisibilityEnvironment.cpp

    r971 r1004  
    1212        GtpVisibilityPreprocessor::Debug.open("debug.log"); 
    1313        // load environment 
    14         mEnvironment = new GtpVisibilityPreprocessor::Environment();      
     14        //Environment::GetSingleton() = new GtpVisibilityPreprocessor::Environment::GetSingleton();       
    1515} 
    1616//----------------------------------------------------------------------- 
    1717VisibilityEnvironment::~VisibilityEnvironment() 
    1818{ 
    19         DEL_PTR(mEnvironment);    
     19        //DEL_PTR(Environment::GetSingleton()); 
     20        GtpVisibilityPreprocessor::Environment::DelSingleton(); 
    2021} 
    2122//----------------------------------------------------------------------- 
     
    2324{                
    2425        //-- parse environment 
    25         return mEnvironment->ReadEnvFile(filename.c_str()); 
     26        return GtpVisibilityPreprocessor::Environment::GetSingleton()->ReadEnvFile(filename.c_str()); 
    2627} 
    2728//----------------------------------------------------------------------- 
     
    2930{ 
    3031        char str[200]; 
    31         mEnvironment->GetStringValue("Scene.filename", str); 
     32        GtpVisibilityPreprocessor::Environment::GetSingleton()->GetStringValue("Scene.filename", str); 
    3233        return str; 
    3334} 
     
    3637{ 
    3738        char str[200]; 
    38         mEnvironment->GetStringValue("ViewCells.filename", str); 
     39        GtpVisibilityPreprocessor::Environment::GetSingleton()->GetStringValue("ViewCells.filename", str); 
     40         
    3941        return str; 
    4042} 
     
    4244GtpVisibilityPreprocessor::Environment *VisibilityEnvironment::GetPreprocessorEnvironment() 
    4345{ 
    44         return mEnvironment; 
     46        return GtpVisibilityPreprocessor::Environment::GetSingleton(); 
    4547} 
    4648} // namespace GtpVisibility 
  • GTP/trunk/Lib/Vis/Preprocessing/scripts/Preprocessor.vcproj

    r1002 r1004  
    176176                                                Name="VCCustomBuildTool" 
    177177                                                Description="Performing moc on $(InputName).h" 
    178                                                 CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp 
    179 " 
     178                                                CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp
" 
    180179                                                Outputs="$(InputDir)moc_$(InputName).cpp"/> 
    181180                                </FileConfiguration> 
     
    308307                                                Name="VCCustomBuildTool" 
    309308                                                Description="Performing moc on $(InputName).h" 
    310                                                 CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp 
    311 " 
     309                                                CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp&#xA;" 
    312310                                                Outputs="$(InputDir)moc_$(InputName).cpp"/> 
    313311                                </FileConfiguration> 
     
    323321                                                Name="VCCustomBuildTool" 
    324322                                                Description="Performing moc on $(InputName).h" 
    325                                                 CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp 
    326 " 
     323                                                CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp&#xA;" 
    327324                                                Outputs="$(InputDir)moc_$(InputName).cpp"/> 
    328325                                </FileConfiguration> 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp

    r1002 r1004  
    2626 
    2727 
    28 Environment *environment = NULL; 
     28//Environment *environment = NULL; 
     29Environment *Environment::sEnvironment = NULL; 
     30 
     31 
     32Environment *Environment::GetSingleton() 
     33{ 
     34        if (!sEnvironment) 
     35        { 
     36                sEnvironment = new Environment(); 
     37        } 
     38 
     39        return sEnvironment; 
     40} 
     41 
     42void Environment::DelSingleton() 
     43{ 
     44        DEL_PTR(sEnvironment); 
     45} 
     46 
    2947 
    3048Environment::~Environment() 
     
    22192237  if (!GetParam(' ', 0, filename)) { 
    22202238    // user didn't specified environment file explicitly, so 
    2221     strcpy(filename, "default.env"); 
     2239    strcpy(filename, "default.Environment::GetSingleton()"); 
    22222240  } 
    22232241   
  • GTP/trunk/Lib/Vis/Preprocessing/src/Environment.h

    r938 r1004  
    174174 
    175175public:   
    176   /**@name Methods */ 
    177   //@{ 
    178   /// Constructor of the CEnvironment class. 
    179   Environment(); 
    180   /// Destructor of the CEnvironment class. 
    181   virtual ~Environment(); 
    182    
    183   /// This method is used as a help on available command line options. 
    184   virtual void PrintUsage(ostream &s) const; 
    185  
    186   virtual void SetStaticOptions(); 
     176         
     177public: 
     178 
     179        /** Returns the resource manager as a singleton. 
     180        */ 
     181        static Environment *GetSingleton(); 
     182 
     183        static void DelSingleton(); 
     184 
     185    /// This method is used as a help on available command line options. 
     186        virtual void PrintUsage(ostream &s) const; 
     187 
     188        virtual void SetStaticOptions(); 
    187189 
    188190 
     
    312314  /// returns named option as a character string. 
    313315  bool GetStringValue(const char *name, 
    314                                                                                         char *value, 
    315                                                                                         const bool isFatal = false) const; 
     316                                          char *value, 
     317                                          const bool isFatal = false) const; 
    316318   
    317319  //@} 
     
    348350                char *filenameCoded); 
    349351 
     352protected: 
     353 
     354        /**@name Methods */  //@{ 
     355  /// Constructor of the CEnvironment class. 
     356  Environment(); 
     357  /// Destructor of the CEnvironment class. 
     358  virtual ~Environment(); 
     359 
     360private: 
     361 
     362        static Environment *sEnvironment; 
    350363}; 
    351364 
    352365// global environment value 
    353 extern Environment *environment; 
     366//extern Environment *environment; 
    354367 
    355368} 
  • GTP/trunk/Lib/Vis/Preprocessing/src/FromPointVisibilityTree.cpp

    r1002 r1004  
    6767{ 
    6868        bool randomize = false; 
    69         environment->GetBoolValue("FromPointVisibilityTree.Construction.randomize", randomize); 
     69        Environment::GetSingleton()->GetBoolValue("FromPointVisibilityTree.Construction.randomize", randomize); 
    7070        if (randomize) 
    7171                Randomize(); // initialise random generator for heuristics 
    7272 
    7373        //-- termination criteria for autopartition 
    74         environment->GetIntValue("FromPointVisibilityTree.Termination.maxDepth", mTermMaxDepth); 
    75         environment->GetIntValue("FromPointVisibilityTree.Termination.minPvs", mTermMinPvs); 
    76         environment->GetIntValue("FromPointVisibilityTree.Termination.minRays", mTermMinRays); 
    77         environment->GetFloatValue("FromPointVisibilityTree.Termination.minProbability", mTermMinProbability); 
    78         environment->GetFloatValue("FromPointVisibilityTree.Termination.maxRayContribution", mTermMaxRayContribution); 
    79         environment->GetFloatValue("FromPointVisibilityTree.Termination.minAccRayLenght", mTermMinAccRayLength); 
    80         environment->GetFloatValue("FromPointVisibilityTree.Termination.maxCostRatio", mTermMaxCostRatio); 
    81         environment->GetIntValue("FromPointVisibilityTree.Termination.missTolerance", mTermMissTolerance); 
    82         environment->GetIntValue("FromPointVisibilityTree.Termination.maxViewCells", mMaxViewCells); 
     74        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.Termination.maxDepth", mTermMaxDepth); 
     75        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.Termination.minPvs", mTermMinPvs); 
     76        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.Termination.minRays", mTermMinRays); 
     77        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.minProbability", mTermMinProbability); 
     78        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.maxRayContribution", mTermMaxRayContribution); 
     79        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.minAccRayLenght", mTermMinAccRayLength); 
     80        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.maxCostRatio", mTermMaxCostRatio); 
     81        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.Termination.missTolerance", mTermMissTolerance); 
     82        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.Termination.maxViewCells", mMaxViewCells); 
    8383 
    8484        //-- max cost ratio for early tree termination 
    85         environment->GetFloatValue("FromPointVisibilityTree.Termination.maxCostRatio", mTermMaxCostRatio); 
    86  
    87         environment->GetFloatValue("FromPointVisibilityTree.Termination.minGlobalCostRatio", mTermMinGlobalCostRatio); 
    88         environment->GetIntValue("FromPointVisibilityTree.Termination.globalCostMissTolerance", mTermGlobalCostMissTolerance); 
     85        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.maxCostRatio", mTermMaxCostRatio); 
     86 
     87        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.minGlobalCostRatio", mTermMinGlobalCostRatio); 
     88        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.Termination.globalCostMissTolerance", mTermGlobalCostMissTolerance); 
    8989 
    9090        // HACK//mTermMinPolygons = 25; 
    9191 
    9292        //-- factors for bsp tree split plane heuristics 
    93         environment->GetFloatValue("FromPointVisibilityTree.Factor.pvs", mPvsFactor); 
    94         environment->GetFloatValue("FromPointVisibilityTree.Termination.ct_div_ci", mCtDivCi); 
     93        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Factor.pvs", mPvsFactor); 
     94        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.ct_div_ci", mCtDivCi); 
    9595 
    9696 
    9797        //-- partition criteria 
    98         environment->GetIntValue("FromPointVisibilityTree.maxPolyCandidates", mMaxPolyCandidates); 
    99         environment->GetIntValue("FromPointVisibilityTree.maxRayCandidates", mMaxRayCandidates); 
    100         environment->GetIntValue("FromPointVisibilityTree.splitPlaneStrategy", mSplitPlaneStrategy); 
    101  
    102         environment->GetFloatValue("FromPointVisibilityTree.Construction.epsilon", mEpsilon); 
    103         environment->GetIntValue("FromPointVisibilityTree.maxTests", mMaxTests); 
     98        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.maxPolyCandidates", mMaxPolyCandidates); 
     99        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.maxRayCandidates", mMaxRayCandidates); 
     100        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.splitPlaneStrategy", mSplitPlaneStrategy); 
     101 
     102        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Construction.epsilon", mEpsilon); 
     103        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.maxTests", mMaxTests); 
    104104 
    105105        // if only the driving axis is used for axis aligned split 
    106         environment->GetBoolValue("FromPointVisibilityTree.splitUseOnlyDrivingAxis", mOnlyDrivingAxis); 
     106        Environment::GetSingleton()->GetBoolValue("FromPointVisibilityTree.splitUseOnlyDrivingAxis", mOnlyDrivingAxis); 
    107107         
    108108        //-- termination criteria for axis aligned split 
    109         environment->GetFloatValue("FromPointVisibilityTree.Termination.AxisAligned.maxRayContribution",  
    110                                                                 mTermMaxRayContriForAxisAligned); 
    111         environment->GetIntValue("FromPointVisibilityTree.Termination.AxisAligned.minRays", 
    112                                                         mTermMinRaysForAxisAligned); 
    113  
    114         //environment->GetFloatValue("FromPointVisibilityTree.maxTotalMemory", mMaxTotalMemory); 
    115         environment->GetFloatValue("FromPointVisibilityTree.maxStaticMemory", mMaxMemory); 
    116  
    117         environment->GetFloatValue("FromPointVisibilityTree.Construction.renderCostWeight", mRenderCostWeight); 
    118         environment->GetBoolValue("FromPointVisibilityTree.usePolygonSplitIfAvailable", mUsePolygonSplitIfAvailable); 
    119  
    120         environment->GetBoolValue("FromPointVisibilityTree.useCostHeuristics", mUseCostHeuristics); 
    121         environment->GetBoolValue("FromPointVisibilityTree.useSplitCostQueue", mUseSplitCostQueue); 
    122         environment->GetBoolValue("FromPointVisibilityTree.simulateOctree", mCirculatingAxis); 
    123         environment->GetBoolValue("FromPointVisibilityTree.useRandomAxis", mUseRandomAxis); 
    124         environment->GetIntValue("FromPointVisibilityTree.nodePriorityQueueType", mNodePriorityQueueType); 
    125  
    126         environment->GetBoolValue("ViewCells.PostProcess.emptyViewCellsMerge", mEmptyViewCellsMergeAllowed); 
     109        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Termination.AxisAligned.maxRayContribution",  
     110                                                                                                mTermMaxRayContriForAxisAligned); 
     111        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.Termination.AxisAligned.minRays", 
     112                                                                                          mTermMinRaysForAxisAligned); 
     113 
     114        //Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.maxTotalMemory", mMaxTotalMemory); 
     115        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.maxStaticMemory", mMaxMemory); 
     116 
     117        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Construction.renderCostWeight", mRenderCostWeight); 
     118        Environment::GetSingleton()->GetBoolValue("FromPointVisibilityTree.usePolygonSplitIfAvailable", mUsePolygonSplitIfAvailable); 
     119 
     120        Environment::GetSingleton()->GetBoolValue("FromPointVisibilityTree.useCostHeuristics", mUseCostHeuristics); 
     121        Environment::GetSingleton()->GetBoolValue("FromPointVisibilityTree.useSplitCostQueue", mUseSplitCostQueue); 
     122        Environment::GetSingleton()->GetBoolValue("FromPointVisibilityTree.simulateOctree", mCirculatingAxis); 
     123        Environment::GetSingleton()->GetBoolValue("FromPointVisibilityTree.useRandomAxis", mUseRandomAxis); 
     124        Environment::GetSingleton()->GetIntValue("FromPointVisibilityTree.nodePriorityQueueType", mNodePriorityQueueType); 
     125 
     126        Environment::GetSingleton()->GetBoolValue("ViewCells.PostProcess.emptyViewCellsMerge", mEmptyViewCellsMergeAllowed); 
    127127         
    128128        char subdivisionStatsLog[100]; 
    129         environment->GetStringValue("FromPointVisibilityTree.subdivisionStats", subdivisionStatsLog); 
     129        Environment::GetSingleton()->GetStringValue("FromPointVisibilityTree.subdivisionStats", subdivisionStatsLog); 
    130130        mSubdivisionStats.open(subdivisionStatsLog); 
    131131 
    132         environment->GetFloatValue("FromPointVisibilityTree.Construction.minBand", mMinBand); 
    133         environment->GetFloatValue("FromPointVisibilityTree.Construction.maxBand", mMaxBand); 
     132        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Construction.minBand", mMinBand); 
     133        Environment::GetSingleton()->GetFloatValue("FromPointVisibilityTree.Construction.maxBand", mMaxBand); 
    134134 
    135135        //-- debug output 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.cpp

    r1002 r1004  
    8686  mFrame = 0; 
    8787  mWireFrame = false; 
    88   environment->GetBoolValue("Preprocessor.detectEmptyViewSpace", mDetectEmptyViewSpace); 
     88  Environment::GetSingleton()->GetBoolValue("Preprocessor.detectEmptyViewSpace", mDetectEmptyViewSpace); 
    8989  mSnapErrorFrames = true; 
    9090  mSnapPrefix = "snap/"; 
     
    775775QGLPixelBuffer(QSize(w, h)), GlRenderer(sceneGraph, viewcells, tree) { 
    776776  
    777   environment->GetIntValue("Preprocessor.pvsRenderErrorSamples", mPvsStatFrames); 
     777  Environment::GetSingleton()->GetIntValue("Preprocessor.pvsRenderErrorSamples", mPvsStatFrames); 
    778778  mPvsErrorBuffer.resize(mPvsStatFrames); 
    779779  ClearErrorBuffer(); 
     
    939939 
    940940void 
    941 GlRendererWidget::SetupProjection(const int w, const int h) 
     941GlRendererWidget::SetupProjection(const int w, const int h, const float angle) 
    942942{ 
    943943  if (!mTopView) 
    944         GlRenderer::SetupProjection(w, h); 
     944        GlRenderer::SetupProjection(w, h, angle); 
    945945  else { 
    946946        glViewport(0, 0, w, h); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h

    r1001 r1004  
    366366  virtual int GetHeight() const { return height(); } 
    367367 
    368   virtual void 
    369   SetupProjection(const int w, const int h); 
     368 virtual void 
     369  SetupProjection(const int w, const int h, const float angle = 70.0f); 
    370370 
    371371  void 
  • GTP/trunk/Lib/Vis/Preprocessing/src/KdTree.cpp

    r1002 r1004  
    3636   
    3737  mRoot = new KdLeaf(NULL, 0); 
    38   environment->GetIntValue("KdTree.Termination.maxNodes", mTermMaxNodes); 
    39   environment->GetIntValue("KdTree.Termination.maxDepth", mTermMaxDepth); 
    40   environment->GetIntValue("KdTree.Termination.minCost", mTermMinCost); 
    41   environment->GetFloatValue("KdTree.Termination.maxCostRatio", mMaxCostRatio); 
    42   environment->GetFloatValue("KdTree.Termination.ct_div_ci", mCt_div_ci); 
    43   environment->GetFloatValue("KdTree.splitBorder", mSplitBorder); 
    44  
    45   environment->GetBoolValue("KdTree.sahUseFaces", mSahUseFaces); 
     38  Environment::GetSingleton()->GetIntValue("KdTree.Termination.maxNodes", mTermMaxNodes); 
     39  Environment::GetSingleton()->GetIntValue("KdTree.Termination.maxDepth", mTermMaxDepth); 
     40  Environment::GetSingleton()->GetIntValue("KdTree.Termination.minCost", mTermMinCost); 
     41  Environment::GetSingleton()->GetFloatValue("KdTree.Termination.maxCostRatio", mMaxCostRatio); 
     42  Environment::GetSingleton()->GetFloatValue("KdTree.Termination.ct_div_ci", mCt_div_ci); 
     43  Environment::GetSingleton()->GetFloatValue("KdTree.splitBorder", mSplitBorder); 
     44 
     45  Environment::GetSingleton()->GetBoolValue("KdTree.sahUseFaces", mSahUseFaces); 
    4646 
    4747  char splitType[64]; 
    48   environment->GetStringValue("KdTree.splitMethod", splitType); 
     48  Environment::GetSingleton()->GetStringValue("KdTree.splitMethod", splitType); 
    4949   
    5050  mSplitMethod = SPLIT_SPATIAL_MEDIAN; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/LogManager.cpp

    r1001 r1004  
    11#include "LogManager.h" 
     2#include "common.h" 
     3 
    24using namespace std; 
    35 
     
    1820 
    1921 
     22void LogManager::DelSingleton() 
     23{ 
     24        DEL_PTR(sLogManager); 
     25} 
     26 
     27 
    2028LogManager::LogManager() 
    2129{ 
  • GTP/trunk/Lib/Vis/Preprocessing/src/LogManager.h

    r1001 r1004  
    2424        static LogManager *GetSingleton(); 
    2525 
     26        static void DelSingleton(); 
    2627 
    2728protected: 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Mesh.cpp

    r1002 r1004  
    719719int TransformedMeshInstance::CastRay(Ray &ray) 
    720720{ 
    721   ray.ApplyTransform(Invert(mWorldTransform)); 
    722   int res = mMesh->CastRay(ray, this); 
    723   ray.ApplyTransform(mWorldTransform); 
    724    
    725   return res; 
     721        ray.ApplyTransform(Invert(mWorldTransform)); 
     722         
     723        const int res = mMesh->CastRay(ray, this); 
     724        ray.ApplyTransform(mWorldTransform); 
     725 
     726    return res; 
     727} 
     728 
     729int TransformedMeshInstance::CastRay(Ray &ray, const vector<int> &faces) 
     730{ 
     731        ray.ApplyTransform(Invert(mWorldTransform)); 
     732 
     733        const int res = mMesh->CastRayToSelectedFaces(ray, faces, this); 
     734        ray.ApplyTransform(mWorldTransform); 
     735 
     736         return res; 
    726737} 
    727738 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Mesh.h

    r1002 r1004  
    256256  } 
    257257 
    258   virtual int 
    259   CastRay( 
    260           Ray &ray 
    261           ); 
     258  virtual int CastRay(Ray &ray); 
    262259 
    263260  virtual bool IsConvex() { return mMesh->mIsConvex; } 
     
    303300        class if the same mesh should be instantiated on different places. 
    304301*/ 
    305 class TransformedMeshInstance : public MeshInstance 
     302class TransformedMeshInstance: public MeshInstance 
    306303{ 
    307304public: 
     
    313310  virtual int CastRay(Ray &ray); 
    314311 
     312  virtual int CastRay(Ray &ray, const vector<int> &faces); 
     313 
    315314  virtual int Type() const { return TRANSFORMED_MESH_INSTANCE; } 
    316315 
     
    329328  void GetWorldTransform(Matrix4x4 &m); 
    330329 
    331   /** Transforms mesh- 
     330  /** Transforms a mesh according to the stored world transform. 
    332331        @param transformedMesh returns the tranformed mesh. 
    333332  */ 
  • GTP/trunk/Lib/Vis/Preprocessing/src/MeshKdTree.cpp

    r863 r1004  
    2525MeshKdTree::ParseEnvironment() 
    2626{ 
    27   environment->GetIntValue("MeshKdTree.Termination.maxDepth", mTermMaxDepth); 
    28   environment->GetIntValue("MeshKdTree.Termination.minCost", mTermMinCost); 
    29   environment->GetFloatValue("MeshKdTree.Termination.maxCostRatio", mMaxCostRatio); 
    30   environment->GetFloatValue("MeshKdTree.Termination.ct_div_ci", mCt_div_ci); 
    31   environment->GetFloatValue("MeshKdTree.splitBorder", mSplitBorder); 
     27  Environment::GetSingleton()->GetIntValue("MeshKdTree.Termination.maxDepth", mTermMaxDepth); 
     28  Environment::GetSingleton()->GetIntValue("MeshKdTree.Termination.minCost", mTermMinCost); 
     29  Environment::GetSingleton()->GetFloatValue("MeshKdTree.Termination.maxCostRatio", mMaxCostRatio); 
     30  Environment::GetSingleton()->GetFloatValue("MeshKdTree.Termination.ct_div_ci", mCt_div_ci); 
     31  Environment::GetSingleton()->GetFloatValue("MeshKdTree.splitBorder", mSplitBorder); 
    3232   
    3333  char splitType[64]; 
    34   environment->GetStringValue("MeshKdTree.splitMethod", splitType); 
     34  Environment::GetSingleton()->GetStringValue("MeshKdTree.splitMethod", splitType); 
    3535   
    3636  mSplitMethod = SPLIT_SPATIAL_MEDIAN; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.cpp

    r1002 r1004  
    118118mRenderSimulator(NULL) 
    119119{ 
    120         environment->GetBoolValue("Preprocessor.useGlRenderer", mUseGlRenderer); 
     120        Environment::GetSingleton()->GetBoolValue("Preprocessor.useGlRenderer", mUseGlRenderer); 
    121121   
    122122        // renderer will be constructed when the scene graph and viewcell manager will be known 
    123123        renderer = NULL; 
    124124   
    125         environment->GetBoolValue("Preprocessor.useGlDebugger", mUseGlDebugger); 
    126         environment->GetBoolValue("Preprocessor.loadPolygonsAsMeshes", mLoadPolygonsAsMeshes); 
    127         environment->GetBoolValue("Preprocessor.quitOnFinish", mQuitOnFinish); 
    128         environment->GetBoolValue("Preprocessor.computeVisibility", mComputeVisibility); 
    129         environment->GetBoolValue("Preprocessor.detectEmptyViewSpace", mDetectEmptyViewSpace); 
    130         environment->GetBoolValue("Preprocessor.exportVisibility", mExportVisibility ); 
     125        Environment::GetSingleton()->GetBoolValue("Preprocessor.useGlDebugger", mUseGlDebugger); 
     126        Environment::GetSingleton()->GetBoolValue("Preprocessor.loadPolygonsAsMeshes", mLoadPolygonsAsMeshes); 
     127        Environment::GetSingleton()->GetBoolValue("Preprocessor.quitOnFinish", mQuitOnFinish); 
     128        Environment::GetSingleton()->GetBoolValue("Preprocessor.computeVisibility", mComputeVisibility); 
     129        Environment::GetSingleton()->GetBoolValue("Preprocessor.detectEmptyViewSpace", mDetectEmptyViewSpace); 
     130        Environment::GetSingleton()->GetBoolValue("Preprocessor.exportVisibility", mExportVisibility ); 
    131131 
    132132        char buffer[256]; 
    133         environment->GetStringValue("Preprocessor.visibilityFile",  buffer); 
     133        Environment::GetSingleton()->GetStringValue("Preprocessor.visibilityFile",  buffer); 
    134134        mVisibilityFileName = buffer; 
    135         environment->GetBoolValue("Preprocessor.applyVisibilityFilter", mApplyVisibilityFilter ); 
    136         environment->GetBoolValue("Preprocessor.applyVisibilitySpatialFilter", 
     135        Environment::GetSingleton()->GetBoolValue("Preprocessor.applyVisibilityFilter", mApplyVisibilityFilter ); 
     136        Environment::GetSingleton()->GetBoolValue("Preprocessor.applyVisibilitySpatialFilter", 
    137137                                                          mApplyVisibilitySpatialFilter ); 
    138         environment->GetFloatValue("Preprocessor.visibilityFilterWidth", mVisibilityFilterWidth); 
     138        Environment::GetSingleton()->GetFloatValue("Preprocessor.visibilityFilterWidth", mVisibilityFilterWidth); 
    139139 
    140140        Debug << "detect empty view space=" << mDetectEmptyViewSpace << endl; 
     
    361361{ 
    362362        //-- parse view cells construction method 
    363         environment->GetBoolValue("ViewCells.loadFromFile", mLoadViewCells); 
     363        Environment::GetSingleton()->GetBoolValue("ViewCells.loadFromFile", mLoadViewCells); 
    364364        char buf[100]; 
    365365         
    366366        if (mLoadViewCells) 
    367367        {        
    368                 environment->GetStringValue("ViewCells.filename", buf); 
    369                 mViewCellsManager = ViewCellsManager::LoadViewCells(buf, &mObjects, environment, true); 
     368                Environment::GetSingleton()->GetStringValue("ViewCells.filename", buf); 
     369                mViewCellsManager = ViewCellsManager::LoadViewCells(buf, &mObjects, true); 
    370370        } 
    371371        else 
    372372        { 
    373373                //-- parse type of view cell container 
    374                 environment->GetStringValue("ViewCells.type", buf);              
     374                Environment::GetSingleton()->GetStringValue("ViewCells.type", buf);              
    375375            mViewCellsManager = CreateViewCellsManager(buf); 
    376376        } 
     
    379379        float objRenderCost = 0, vcOverhead = 0, moveSpeed = 0; 
    380380 
    381         environment->GetFloatValue("Simulation.objRenderCost",objRenderCost); 
    382         environment->GetFloatValue("Simulation.vcOverhead", vcOverhead); 
    383         environment->GetFloatValue("Simulation.moveSpeed", moveSpeed); 
     381        Environment::GetSingleton()->GetFloatValue("Simulation.objRenderCost",objRenderCost); 
     382        Environment::GetSingleton()->GetFloatValue("Simulation.vcOverhead", vcOverhead); 
     383        Environment::GetSingleton()->GetFloatValue("Simulation.moveSpeed", moveSpeed); 
    384384         
    385385        mRenderSimulator =  
     
    408408        if (strcmp(name, "kdTree") == 0) 
    409409        { 
    410                 mViewCellsManager = new KdViewCellsManager(mKdTree, environment); 
     410                mViewCellsManager = new KdViewCellsManager(mKdTree); 
    411411        } 
    412412        else if (strcmp(name, "bspTree") == 0) 
     
    415415 
    416416                mBspTree = new BspTree(); 
    417                 mViewCellsManager = new BspViewCellsManager(mBspTree, environment); 
     417                mViewCellsManager = new BspViewCellsManager(mBspTree); 
    418418        } 
    419419        else if (strcmp(name, "vspBspTree") == 0) 
     
    421421                Debug << "view cell type: VspBsp" << endl; 
    422422 
    423                 mVspBspTree = new VspBspTree(environment); 
    424                 mViewCellsManager = new VspBspViewCellsManager(mVspBspTree, environment); 
     423                mVspBspTree = new VspBspTree(); 
     424                mViewCellsManager = new VspBspViewCellsManager(mVspBspTree); 
    425425        } 
    426426        else if (strcmp(name, "vspKdTree") == 0) 
     
    428428                mVspKdTree = new VspKdTree();            
    429429         
    430                 mViewCellsManager = new VspKdViewCellsManager(mVspKdTree, environment); 
     430                mViewCellsManager = new VspKdViewCellsManager(mVspKdTree); 
    431431        } 
    432432        else if (strcmp(name, "sceneDependent") == 0) 
     
    437437                Debug << "view cell type: Bsp" << endl; 
    438438                 
    439                 mViewCellsManager = new BspViewCellsManager(mBspTree, environment); 
     439                mViewCellsManager = new BspViewCellsManager(mBspTree); 
    440440        } 
    441441        else 
     
    464464        std::stable_sort(objects.begin(), objects.end(), ilt); 
    465465        char fileName[100]; 
    466         environment->GetStringValue("Preprocessor.samplesFilename", fileName); 
     466        Environment::GetSingleton()->GetStringValue("Preprocessor.samplesFilename", fileName); 
    467467         
    468468    Vector3 origin, termination; 
     
    549549{ 
    550550        char fileName[100]; 
    551         environment->GetStringValue("Preprocessor.samplesFilename", fileName); 
     551        Environment::GetSingleton()->GetStringValue("Preprocessor.samplesFilename", fileName); 
    552552         
    553553 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RenderSampler.cpp

    r1002 r1004  
    88RenderSampler::RenderSampler():Preprocessor() 
    99{ 
    10   environment->GetIntValue("RenderSampler.samples", mSamples); 
     10  Environment::GetSingleton()->GetIntValue("RenderSampler.samples", mSamples); 
    1111  cout << "number of render samples: " << mSamples << endl; 
    1212} 
     
    2222        bool useOcclusionQueries; 
    2323 
    24     environment->GetIntValue("Preprocessor.histogram.maxValue", histoMaxVal); 
    25         environment->GetIntValue("Preprocessor.histogram.intervals", histoIntervals); 
    26         environment->GetIntValue("RenderSampler.visibleThreshold", threshold); 
    27         environment->GetBoolValue("RenderSampler.useOcclusionQueries", useOcclusionQueries); 
     24    Environment::GetSingleton()->GetIntValue("Preprocessor.histogram.maxValue", histoMaxVal); 
     25        Environment::GetSingleton()->GetIntValue("Preprocessor.histogram.intervals", histoIntervals); 
     26        Environment::GetSingleton()->GetIntValue("RenderSampler.visibleThreshold", threshold); 
     27        Environment::GetSingleton()->GetBoolValue("RenderSampler.useOcclusionQueries", useOcclusionQueries); 
    2828 
    2929        Debug << "************* render sampler ****************" << endl; 
     
    5757                histogram[i] = 0; 
    5858        } 
    59 cout << "here3 "<< mSamples << endl; 
    60         cout << "here2 " << samples.size() << endl; 
     59 
    6160        // store maximal pvs 
    6261        for (int i = 0; i < mSamples; ++ i)  
  • GTP/trunk/Lib/Vis/Preprocessing/src/ResourceManager.h

    r1002 r1004  
    3838        } 
    3939 
     40        /** We also want full control over the delete. 
     41        */ 
    4042        static void DelSingleton() 
    4143        { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RssPreprocessor.cpp

    r884 r1004  
    2929{ 
    3030  // this should increase coherence of the samples 
    31   environment->GetIntValue("RssPreprocessor.samplesPerPass", mSamplesPerPass); 
    32   environment->GetIntValue("RssPreprocessor.initialSamples", mInitialSamples); 
    33   environment->GetIntValue("RssPreprocessor.vssSamples", mRssSamples); 
    34   environment->GetIntValue("RssPreprocessor.vssSamplesPerPass", mRssSamplesPerPass); 
    35   environment->GetBoolValue("RssPreprocessor.useImportanceSampling", mUseImportanceSampling); 
    36  
    37   environment->GetBoolValue("RssPreprocessor.Export.pvs", mExportPvs); 
    38   environment->GetBoolValue("RssPreprocessor.Export.rssTree", mExportRssTree); 
    39   environment->GetBoolValue("RssPreprocessor.Export.rays", mExportRays); 
    40   environment->GetIntValue("RssPreprocessor.Export.numRays", mExportNumRays); 
    41   environment->GetBoolValue("RssPreprocessor.useViewcells", mUseViewcells); 
    42   environment->GetBoolValue("RssPreprocessor.objectBasedSampling", mObjectBasedSampling); 
    43   environment->GetBoolValue("RssPreprocessor.directionalSampling", mDirectionalSampling); 
    44  
    45   environment->GetBoolValue("RssPreprocessor.loadInitialSamples", mLoadInitialSamples); 
    46   environment->GetBoolValue("RssPreprocessor.storeInitialSamples", mStoreInitialSamples); 
    47   environment->GetBoolValue("RssPreprocessor.updateSubdivision", mUpdateSubdivision); 
     31  Environment::GetSingleton()->GetIntValue("RssPreprocessor.samplesPerPass", mSamplesPerPass); 
     32  Environment::GetSingleton()->GetIntValue("RssPreprocessor.initialSamples", mInitialSamples); 
     33  Environment::GetSingleton()->GetIntValue("RssPreprocessor.vssSamples", mRssSamples); 
     34  Environment::GetSingleton()->GetIntValue("RssPreprocessor.vssSamplesPerPass", mRssSamplesPerPass); 
     35  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.useImportanceSampling", mUseImportanceSampling); 
     36 
     37  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.Export.pvs", mExportPvs); 
     38  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.Export.rssTree", mExportRssTree); 
     39  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.Export.rays", mExportRays); 
     40  Environment::GetSingleton()->GetIntValue("RssPreprocessor.Export.numRays", mExportNumRays); 
     41  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.useViewcells", mUseViewcells); 
     42  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.objectBasedSampling", mObjectBasedSampling); 
     43  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.directionalSampling", mDirectionalSampling); 
     44 
     45  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.loadInitialSamples", mLoadInitialSamples); 
     46  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.storeInitialSamples", mStoreInitialSamples); 
     47  Environment::GetSingleton()->GetBoolValue("RssPreprocessor.updateSubdivision", mUpdateSubdivision); 
    4848   
    4949  mStats.open("stats.log"); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RssTree.cpp

    r863 r1004  
    107107RssTree::RssTree() 
    108108{ 
    109   environment->GetIntValue("RssTree.maxDepth", termMaxDepth); 
    110   environment->GetIntValue("RssTree.minPvs", termMinPvs); 
    111   environment->GetIntValue("RssTree.minRays", termMinRays); 
    112   environment->GetFloatValue("RssTree.maxRayContribution", termMaxRayContribution); 
    113   environment->GetFloatValue("RssTree.maxCostRatio", termMaxCostRatio); 
    114  
    115   environment->GetFloatValue("RssTree.minSize", termMinSize); 
     109  Environment::GetSingleton()->GetIntValue("RssTree.maxDepth", termMaxDepth); 
     110  Environment::GetSingleton()->GetIntValue("RssTree.minPvs", termMinPvs); 
     111  Environment::GetSingleton()->GetIntValue("RssTree.minRays", termMinRays); 
     112  Environment::GetSingleton()->GetFloatValue("RssTree.maxRayContribution", termMaxRayContribution); 
     113  Environment::GetSingleton()->GetFloatValue("RssTree.maxCostRatio", termMaxCostRatio); 
     114 
     115  Environment::GetSingleton()->GetFloatValue("RssTree.minSize", termMinSize); 
    116116  termMinSize = sqr(termMinSize); 
    117117         
    118   environment->GetFloatValue("RssTree.refDirBoxMaxSize", refDirBoxMaxSize); 
     118  Environment::GetSingleton()->GetFloatValue("RssTree.refDirBoxMaxSize", refDirBoxMaxSize); 
    119119  refDirBoxMaxSize = sqr(refDirBoxMaxSize); 
    120120   
    121   environment->GetFloatValue("RssTree.epsilon", epsilon); 
    122   environment->GetFloatValue("RssTree.ct_div_ci", ct_div_ci); 
    123          
    124   environment->GetFloatValue("RssTree.maxTotalMemory", maxTotalMemory); 
    125   environment->GetFloatValue("RssTree.maxStaticMemory", maxStaticMemory); 
    126    
    127   environment->GetFloatValue("RssTree.maxStaticMemory", maxStaticMemory); 
    128  
    129  
    130    
    131   environment->GetIntValue("RssTree.accessTimeThreshold", accessTimeThreshold); 
     121  Environment::GetSingleton()->GetFloatValue("RssTree.epsilon", epsilon); 
     122  Environment::GetSingleton()->GetFloatValue("RssTree.ct_div_ci", ct_div_ci); 
     123         
     124  Environment::GetSingleton()->GetFloatValue("RssTree.maxTotalMemory", maxTotalMemory); 
     125  Environment::GetSingleton()->GetFloatValue("RssTree.maxStaticMemory", maxStaticMemory); 
     126   
     127  Environment::GetSingleton()->GetFloatValue("RssTree.maxStaticMemory", maxStaticMemory); 
     128 
     129 
     130   
     131  Environment::GetSingleton()->GetIntValue("RssTree.accessTimeThreshold", accessTimeThreshold); 
    132132  //= 1000; 
    133   environment->GetIntValue("RssTree.minCollapseDepth", minCollapseDepth); 
     133  Environment::GetSingleton()->GetIntValue("RssTree.minCollapseDepth", minCollapseDepth); 
    134134  //  int minCollapseDepth = 4; 
    135135 
     
    141141  // split type 
    142142  char sname[128]; 
    143   environment->GetStringValue("RssTree.splitType", sname); 
     143  Environment::GetSingleton()->GetStringValue("RssTree.splitType", sname); 
    144144  string name(sname); 
    145145         
     
    157157          } 
    158158         
    159   environment->GetBoolValue("RssTree.randomize", randomize); 
    160   environment->GetBoolValue("RssTree.splitUseOnlyDrivingAxis", mSplitUseOnlyDrivingAxis); 
    161  
    162   environment->GetBoolValue("RssTree.interleaveDirSplits", mInterleaveDirSplits); 
    163   environment->GetIntValue("RssTree.dirSplitDepth", mDirSplitDepth); 
    164  
    165   environment->GetBoolValue("RssTree.importanceBasedCost", mImportanceBasedCost); 
    166    
    167   environment->GetIntValue("RssTree.maxRays", mMaxRays); 
    168  
    169   environment->GetBoolValue("RssTree.perObjectTree", mPerObjectTree); 
     159  Environment::GetSingleton()->GetBoolValue("RssTree.randomize", randomize); 
     160  Environment::GetSingleton()->GetBoolValue("RssTree.splitUseOnlyDrivingAxis", mSplitUseOnlyDrivingAxis); 
     161 
     162  Environment::GetSingleton()->GetBoolValue("RssTree.interleaveDirSplits", mInterleaveDirSplits); 
     163  Environment::GetSingleton()->GetIntValue("RssTree.dirSplitDepth", mDirSplitDepth); 
     164 
     165  Environment::GetSingleton()->GetBoolValue("RssTree.importanceBasedCost", mImportanceBasedCost); 
     166   
     167  Environment::GetSingleton()->GetIntValue("RssTree.maxRays", mMaxRays); 
     168 
     169  Environment::GetSingleton()->GetBoolValue("RssTree.perObjectTree", mPerObjectTree); 
    170170   
    171171  //  mRoots; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/SamplingPreprocessor.cpp

    r863 r1004  
    1717{ 
    1818  // this should increase coherence of the samples 
    19   environment->GetIntValue("Sampling.samplesPerPass", mSamplesPerPass); 
    20   environment->GetIntValue("Sampling.totalSamples", mTotalSamples); 
     19  Environment::GetSingleton()->GetIntValue("Sampling.samplesPerPass", mSamplesPerPass); 
     20  Environment::GetSingleton()->GetIntValue("Sampling.totalSamples", mTotalSamples); 
    2121  
    2222  mStats.open("stats.log"); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/UnigraphicsParser.cpp

    r1002 r1004  
    6565 
    6666  int meshGrouping; 
    67   environment->GetIntValue("Unigraphics.meshGrouping", 
     67  Environment::GetSingleton()->GetIntValue("Unigraphics.meshGrouping", 
    6868                           meshGrouping); 
    6969   
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCell.cpp

    r1002 r1004  
    354354 
    355355 
    356 ViewCellsTree::ViewCellsTree(ViewCellsManager *vcm, Environment *env): 
     356ViewCellsTree::ViewCellsTree(ViewCellsManager *vcm): 
    357357mRoot(NULL), 
    358358mUseAreaForPvs(false), 
     
    364364#endif 
    365365{ 
    366         env->GetBoolValue("ViewCells.Visualization.exportMergedViewCells", mExportMergedViewCells); 
    367         env->GetFloatValue("ViewCells.maxStaticMemory", mMaxMemory); 
     366        Environment::GetSingleton()->GetBoolValue("ViewCells.Visualization.exportMergedViewCells", mExportMergedViewCells); 
     367        Environment::GetSingleton()->GetFloatValue("ViewCells.maxStaticMemory", mMaxMemory); 
    368368 
    369369        //-- merge options 
    370         env->GetFloatValue("ViewCells.PostProcess.renderCostWeight", mRenderCostWeight); 
    371         env->GetIntValue("ViewCells.PostProcess.minViewCells", mMergeMinViewCells); 
    372         env->GetFloatValue("ViewCells.PostProcess.maxCostRatio", mMergeMaxCostRatio); 
    373         env->GetBoolValue("ViewCells.PostProcess.refine", mRefineViewCells);     
    374  
    375         env->GetIntValue("ViewCells.PostProcess.maxMergesPerPass", mMaxMergesPerPass); 
    376         env->GetFloatValue("ViewCells.PostProcess.avgCostMaxDeviation", mAvgCostMaxDeviation); 
     370        Environment::GetSingleton()->GetFloatValue("ViewCells.PostProcess.renderCostWeight", mRenderCostWeight); 
     371        Environment::GetSingleton()->GetIntValue("ViewCells.PostProcess.minViewCells", mMergeMinViewCells); 
     372        Environment::GetSingleton()->GetFloatValue("ViewCells.PostProcess.maxCostRatio", mMergeMaxCostRatio); 
     373        Environment::GetSingleton()->GetBoolValue("ViewCells.PostProcess.refine", mRefineViewCells);     
     374 
     375        Environment::GetSingleton()->GetIntValue("ViewCells.PostProcess.maxMergesPerPass", mMaxMergesPerPass); 
     376        Environment::GetSingleton()->GetFloatValue("ViewCells.PostProcess.avgCostMaxDeviation", mAvgCostMaxDeviation); 
    377377 
    378378        Debug << "============= view cell tree options ================\n"; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCell.h

    r1002 r1004  
    2424class ViewCellsManager; 
    2525class ViewCellLeaf; 
    26 class Environment; 
     26//class Environment; 
    2727 
    2828 
     
    393393 
    394394public: 
    395         /** View cells tree constructor taking a view cell mnanager and 
    396                 an environment as parameters. 
    397         */ 
    398         ViewCellsTree(ViewCellsManager *vcm, Environment *env); 
     395        /** View cells tree constructor taking a view cell mnanager as parameter 
     396        */ 
     397        ViewCellsTree(ViewCellsManager *vcm); 
    399398        ~ViewCellsTree(); 
    400399 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellBsp.cpp

    r1002 r1004  
    227227 
    228228        //-- termination criteria for autopartition 
    229         environment->GetIntValue("BspTree.Termination.maxDepth", mTermMaxDepth); 
    230         environment->GetIntValue("BspTree.Termination.minPvs", mTermMinPvs); 
    231         environment->GetIntValue("BspTree.Termination.minPolygons", mTermMinPolys); 
    232         environment->GetIntValue("BspTree.Termination.minRays", mTermMinRays); 
    233         environment->GetFloatValue("BspTree.Termination.minProbability", mTermMinProbability);   
    234         environment->GetFloatValue("BspTree.Termination.maxRayContribution", mTermMaxRayContribution); 
    235         environment->GetFloatValue("BspTree.Termination.minAccRayLenght", mTermMinAccRayLength); 
     229        Environment::GetSingleton()->GetIntValue("BspTree.Termination.maxDepth", mTermMaxDepth); 
     230        Environment::GetSingleton()->GetIntValue("BspTree.Termination.minPvs", mTermMinPvs); 
     231        Environment::GetSingleton()->GetIntValue("BspTree.Termination.minPolygons", mTermMinPolys); 
     232        Environment::GetSingleton()->GetIntValue("BspTree.Termination.minRays", mTermMinRays); 
     233        Environment::GetSingleton()->GetFloatValue("BspTree.Termination.minProbability", mTermMinProbability);   
     234        Environment::GetSingleton()->GetFloatValue("BspTree.Termination.maxRayContribution", mTermMaxRayContribution); 
     235        Environment::GetSingleton()->GetFloatValue("BspTree.Termination.minAccRayLenght", mTermMinAccRayLength); 
    236236 
    237237        //-- factors for bsp tree split plane heuristics 
    238         environment->GetFloatValue("BspTree.Factor.verticalSplits", mVerticalSplitsFactor); 
    239         environment->GetFloatValue("BspTree.Factor.largestPolyArea", mLargestPolyAreaFactor); 
    240         environment->GetFloatValue("BspTree.Factor.blockedRays", mBlockedRaysFactor); 
    241         environment->GetFloatValue("BspTree.Factor.leastRaySplits", mLeastRaySplitsFactor); 
    242         environment->GetFloatValue("BspTree.Factor.balancedRays", mBalancedRaysFactor); 
    243         environment->GetFloatValue("BspTree.Factor.pvs", mPvsFactor); 
    244         environment->GetFloatValue("BspTree.Factor.leastSplits" , mLeastSplitsFactor); 
    245         environment->GetFloatValue("BspTree.Factor.balancedPolys", mBalancedPolysFactor); 
    246         environment->GetFloatValue("BspTree.Factor.balancedViewCells", mBalancedViewCellsFactor); 
    247         environment->GetFloatValue("BspTree.Termination.ct_div_ci", mCtDivCi); 
     238        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.verticalSplits", mVerticalSplitsFactor); 
     239        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.largestPolyArea", mLargestPolyAreaFactor); 
     240        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.blockedRays", mBlockedRaysFactor); 
     241        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.leastRaySplits", mLeastRaySplitsFactor); 
     242        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.balancedRays", mBalancedRaysFactor); 
     243        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.pvs", mPvsFactor); 
     244        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.leastSplits" , mLeastSplitsFactor); 
     245        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.balancedPolys", mBalancedPolysFactor); 
     246        Environment::GetSingleton()->GetFloatValue("BspTree.Factor.balancedViewCells", mBalancedViewCellsFactor); 
     247        Environment::GetSingleton()->GetFloatValue("BspTree.Termination.ct_div_ci", mCtDivCi); 
    248248 
    249249        //-- termination criteria for axis aligned split 
    250         environment->GetFloatValue("BspTree.Termination.AxisAligned.ct_div_ci", mAxisAlignedCtDivCi); 
    251         environment->GetFloatValue("BspTree.Termination.maxCostRatio", mMaxCostRatio); 
    252         environment->GetIntValue("BspTree.Termination.AxisAligned.minPolys",  
     250        Environment::GetSingleton()->GetFloatValue("BspTree.Termination.AxisAligned.ct_div_ci", mAxisAlignedCtDivCi); 
     251        Environment::GetSingleton()->GetFloatValue("BspTree.Termination.maxCostRatio", mMaxCostRatio); 
     252        Environment::GetSingleton()->GetIntValue("BspTree.Termination.AxisAligned.minPolys",  
    253253                                                         mTermMinPolysForAxisAligned); 
    254         environment->GetIntValue("BspTree.Termination.AxisAligned.minRays",  
     254        Environment::GetSingleton()->GetIntValue("BspTree.Termination.AxisAligned.minRays",  
    255255                                                         mTermMinRaysForAxisAligned); 
    256         environment->GetIntValue("BspTree.Termination.AxisAligned.minObjects",  
     256        Environment::GetSingleton()->GetIntValue("BspTree.Termination.AxisAligned.minObjects",  
    257257                                                         mTermMinObjectsForAxisAligned); 
    258258        //-- partition criteria 
    259         environment->GetIntValue("BspTree.maxPolyCandidates", mMaxPolyCandidates); 
    260         environment->GetIntValue("BspTree.maxRayCandidates", mMaxRayCandidates); 
    261         environment->GetIntValue("BspTree.splitPlaneStrategy", mSplitPlaneStrategy); 
    262         environment->GetFloatValue("BspTree.AxisAligned.splitBorder", mSplitBorder); 
    263         environment->GetIntValue("BspTree.maxTests", mMaxTests); 
    264         environment->GetIntValue("BspTree.Termination.maxViewCells", mMaxViewCells); 
    265  
    266         environment->GetFloatValue("BspTree.Construction.epsilon", mEpsilon); 
     259        Environment::GetSingleton()->GetIntValue("BspTree.maxPolyCandidates", mMaxPolyCandidates); 
     260        Environment::GetSingleton()->GetIntValue("BspTree.maxRayCandidates", mMaxRayCandidates); 
     261        Environment::GetSingleton()->GetIntValue("BspTree.splitPlaneStrategy", mSplitPlaneStrategy); 
     262        Environment::GetSingleton()->GetFloatValue("BspTree.AxisAligned.splitBorder", mSplitBorder); 
     263        Environment::GetSingleton()->GetIntValue("BspTree.maxTests", mMaxTests); 
     264        Environment::GetSingleton()->GetIntValue("BspTree.Termination.maxViewCells", mMaxViewCells); 
     265 
     266        Environment::GetSingleton()->GetFloatValue("BspTree.Construction.epsilon", mEpsilon); 
    267267 
    268268        char subdivisionStatsLog[100]; 
    269         environment->GetStringValue("BspTree.subdivisionStats", subdivisionStatsLog); 
     269        Environment::GetSingleton()->GetStringValue("BspTree.subdivisionStats", subdivisionStatsLog); 
    270270        mSubdivisionStats.open(subdivisionStatsLog); 
    271271 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp

    r1002 r1004  
    4040 
    4141 
    42 ViewCellsManager::ViewCellsManager(Environment *env): 
     42ViewCellsManager::ViewCellsManager(): 
    4343mRenderer(NULL), 
    4444mInitialSamples(0), 
     
    5353mMaxPvsRatio(1.0), 
    5454mViewCellPvsIsUpdated(false) 
    55 ,mEnvironment(env) 
    5655{ 
    5756        mViewSpaceBox.Initialize(); 
    5857        ParseEnvironment(); 
    5958 
    60         mViewCellsTree = new ViewCellsTree(this, env); 
     59        mViewCellsTree = new ViewCellsTree(this); 
    6160} 
    6261 
     
    6564{ 
    6665        // visualization stuff 
    67         mEnvironment->GetBoolValue("ViewCells.Visualization.exportRays", mExportRays); 
    68         mEnvironment->GetBoolValue("ViewCells.Visualization.exportGeometry", mExportGeometry); 
    69         mEnvironment->GetFloatValue("ViewCells.maxPvsRatio", mMaxPvsRatio); 
    70          
    71         mEnvironment->GetBoolValue("ViewCells.pruneEmptyViewCells", mPruneEmptyViewCells); 
     66        Environment::GetSingleton()->GetBoolValue("ViewCells.Visualization.exportRays", mExportRays); 
     67        Environment::GetSingleton()->GetBoolValue("ViewCells.Visualization.exportGeometry", mExportGeometry); 
     68        Environment::GetSingleton()->GetFloatValue("ViewCells.maxPvsRatio", mMaxPvsRatio); 
     69         
     70        Environment::GetSingleton()->GetBoolValue("ViewCells.pruneEmptyViewCells", mPruneEmptyViewCells); 
    7271 
    7372        // HACK 
     
    7776                mMinPvsSize = 0; 
    7877 
    79         mEnvironment->GetBoolValue("ViewCells.processOnlyValidViewCells", mOnlyValidViewCells); 
    80  
    81         mEnvironment->GetIntValue("ViewCells.Construction.samples", mConstructionSamples); 
    82         mEnvironment->GetIntValue("ViewCells.PostProcess.samples", mPostProcessSamples); 
    83         mEnvironment->GetBoolValue("ViewCells.PostProcess.useRaysForMerge", mUseRaysForMerge); 
    84  
    85         mEnvironment->GetIntValue("ViewCells.Visualization.samples", mVisualizationSamples); 
    86  
    87         mEnvironment->GetIntValue("ViewCells.Construction.samplesPerPass", mSamplesPerPass); 
    88         mEnvironment->GetBoolValue("ViewCells.exportToFile", mExportViewCells); 
    89          
    90         mEnvironment->GetIntValue("ViewCells.active", mNumActiveViewCells); 
    91         mEnvironment->GetBoolValue("ViewCells.PostProcess.compress", mCompressViewCells); 
    92         mEnvironment->GetBoolValue("ViewCells.Visualization.useClipPlane", mUseClipPlaneForViz); 
    93         mEnvironment->GetBoolValue("ViewCells.PostProcess.merge", mMergeViewCells); 
    94         mEnvironment->GetBoolValue("ViewCells.evaluateViewCells", mEvaluateViewCells); 
    95         mEnvironment->GetBoolValue("ViewCells.showVisualization", mShowVisualization); 
    96         mEnvironment->GetIntValue("ViewCells.Filter.maxSize", mMaxFilterSize); 
    97         mEnvironment->GetFloatValue("ViewCells.Filter.width", mFilterWidth); 
    98         mEnvironment->GetIntValue("ViewCells.renderCostEvaluationType", mRenderCostEvaluationType); 
    99  
    100         mEnvironment->GetBoolValue("ViewCells.exportBboxesForPvs", mExportBboxesForPvs); 
    101         mEnvironment->GetBoolValue("ViewCells.exportPvs", mExportPvs); 
     78        Environment::GetSingleton()->GetBoolValue("ViewCells.processOnlyValidViewCells", mOnlyValidViewCells); 
     79 
     80        Environment::GetSingleton()->GetIntValue("ViewCells.Construction.samples", mConstructionSamples); 
     81        Environment::GetSingleton()->GetIntValue("ViewCells.PostProcess.samples", mPostProcessSamples); 
     82        Environment::GetSingleton()->GetBoolValue("ViewCells.PostProcess.useRaysForMerge", mUseRaysForMerge); 
     83 
     84        Environment::GetSingleton()->GetIntValue("ViewCells.Visualization.samples", mVisualizationSamples); 
     85 
     86        Environment::GetSingleton()->GetIntValue("ViewCells.Construction.samplesPerPass", mSamplesPerPass); 
     87        Environment::GetSingleton()->GetBoolValue("ViewCells.exportToFile", mExportViewCells); 
     88         
     89        Environment::GetSingleton()->GetIntValue("ViewCells.active", mNumActiveViewCells); 
     90        Environment::GetSingleton()->GetBoolValue("ViewCells.PostProcess.compress", mCompressViewCells); 
     91        Environment::GetSingleton()->GetBoolValue("ViewCells.Visualization.useClipPlane", mUseClipPlaneForViz); 
     92        Environment::GetSingleton()->GetBoolValue("ViewCells.PostProcess.merge", mMergeViewCells); 
     93        Environment::GetSingleton()->GetBoolValue("ViewCells.evaluateViewCells", mEvaluateViewCells); 
     94        Environment::GetSingleton()->GetBoolValue("ViewCells.showVisualization", mShowVisualization); 
     95        Environment::GetSingleton()->GetIntValue("ViewCells.Filter.maxSize", mMaxFilterSize); 
     96        Environment::GetSingleton()->GetFloatValue("ViewCells.Filter.width", mFilterWidth); 
     97        Environment::GetSingleton()->GetIntValue("ViewCells.renderCostEvaluationType", mRenderCostEvaluationType); 
     98 
     99        Environment::GetSingleton()->GetBoolValue("ViewCells.exportBboxesForPvs", mExportBboxesForPvs); 
     100        Environment::GetSingleton()->GetBoolValue("ViewCells.exportPvs", mExportPvs); 
    102101 
    103102        char buf[100]; 
    104         mEnvironment->GetStringValue("ViewCells.samplingType", buf); 
     103        Environment::GetSingleton()->GetStringValue("ViewCells.samplingType", buf); 
    105104 
    106105         
     
    119118        } 
    120119 
    121         mEnvironment->GetStringValue("ViewCells.Evaluation.samplingType", buf); 
     120        Environment::GetSingleton()->GetStringValue("ViewCells.Evaluation.samplingType", buf); 
    122121         
    123122        if (strcmp(buf, "box") == 0) 
     
    135134        } 
    136135 
    137         mEnvironment->GetStringValue("ViewCells.renderCostEvaluationType", buf); 
     136        Environment::GetSingleton()->GetStringValue("ViewCells.renderCostEvaluationType", buf); 
    138137         
    139138        if (strcmp(buf, "perobject") == 0) 
     
    151150        } 
    152151 
    153     mEnvironment->GetStringValue("ViewCells.Visualization.colorCode", buf); 
     152    Environment::GetSingleton()->GetStringValue("ViewCells.Visualization.colorCode", buf); 
    154153 
    155154        if (strcmp(buf, "PVS") == 0) 
     
    393392                  << TimeDiff(startTime, GetTime()) * 1e-3 << " secs" << endl; 
    394393 
    395 return 0; 
     394//return 0; 
    396395        // take post processing time 
    397396        startTime = GetTime(); 
     
    560559 
    561560    int histoIntervals; 
    562         mEnvironment->GetIntValue("Preprocessor.histogram.intervals", histoIntervals); 
     561        Environment::GetSingleton()->GetIntValue("Preprocessor.histogram.intervals", histoIntervals); 
    563562        const int intervals = min(histoIntervals, (int)viewCells.size()); 
    564563 
    565564        int histoMaxVal; 
    566         mEnvironment->GetIntValue("Preprocessor.histogram.maxValue", histoMaxVal); 
     565        Environment::GetSingleton()->GetIntValue("Preprocessor.histogram.maxValue", histoMaxVal); 
    567566        maxRenderCost = max(histoMaxVal, maxRenderCost); 
    568567 
     
    629628ViewCellsManager *ViewCellsManager::LoadViewCells(const string &filename,  
    630629                                                                                                  ObjectContainer *objects, 
    631                                                                                                   Environment *env, 
    632630                                                                                                  const bool finalizeViewCells, 
    633631                                                                                                  BoundingBoxConverter *bconverter) 
     
    638636        ViewCellsManager *vm = NULL; 
    639637 
    640         if (parser.ParseFile(filename, &vm, objects, bconverter, env)) 
     638        if (parser.ParseFile(filename, &vm, objects, bconverter)) 
    641639        { 
    642640                long startTime = GetTime(); 
     
    762760        // hack: normalize pvs size 
    763761        int histoMaxVal; 
    764         mEnvironment->GetIntValue("Preprocessor.histogram.maxValue", histoMaxVal); 
     762        Environment::GetSingleton()->GetIntValue("Preprocessor.histogram.maxValue", histoMaxVal); 
    765763        maxVal = max(histoMaxVal, maxPvs); 
    766764                 
     
    768766 
    769767        int histoIntervals; 
    770         mEnvironment->GetIntValue("Preprocessor.histogram.intervals", histoIntervals); 
     768        Environment::GetSingleton()->GetIntValue("Preprocessor.histogram.intervals", histoIntervals); 
    771769        const int intervals = min(histoIntervals, (int)viewCells.size()); 
    772770 
     
    847845        char s[64];  
    848846 
    849         mEnvironment->GetIntValue("ViewCells.Evaluation.samplesPerPass", samplesPerPass); 
    850         mEnvironment->GetIntValue("ViewCells.Evaluation.samples", numSamples); 
     847        Environment::GetSingleton()->GetIntValue("ViewCells.Evaluation.samplesPerPass", samplesPerPass); 
     848        Environment::GetSingleton()->GetIntValue("ViewCells.Evaluation.samples", numSamples); 
    851849 
    852850        char statsPrefix[100]; 
    853         mEnvironment->GetStringValue("ViewCells.Evaluation.statsPrefix", statsPrefix); 
     851        Environment::GetSingleton()->GetStringValue("ViewCells.Evaluation.statsPrefix", statsPrefix); 
    854852 
    855853        Debug << "view cell evaluation samples per pass: " << samplesPerPass << endl; 
     
    895893                                                Preprocessor::SPATIAL_BOX_BASED_DISTRIBUTION; 
    896894                */ 
     895                long startTime = GetTime(); 
     896 
    897897                //-- construction rays => we use uniform samples for this 
    898                 cout << "casting " << samplesPerPass << " samples " << endl; 
     898                cout << "casting " << samplesPerPass << " samples ... "; 
     899                Debug << "casting " << samplesPerPass << " samples ... "; 
     900 
    899901                CastPassSamples(samplesPerPass, samplingType, evaluationSamples); 
    900902                 
    901903                castSamples += samplesPerPass; 
    902904 
    903                 cout << "computing sample contributions of " << (int)evaluationSamples.size()  
    904                          << " samples " << endl; 
     905                Real timeDiff = TimeDiff(startTime, GetTime()); 
     906                Debug << "finished in " << timeDiff * 1e-3 << " secs" << endl; 
     907                cout << "finished in " << timeDiff * 1e-3 << " secs" << endl; 
     908 
     909                cout << "computing sample contributions of " << (int)evaluationSamples.size()  << " samples ... "; 
     910                Debug << "computing sample contributions of " << (int)evaluationSamples.size()  << " samples ... "; 
     911 
     912                startTime = GetTime(); 
    905913 
    906914                ComputeSampleContributions(evaluationSamples, true, false); 
    907915 
     916                timeDiff = TimeDiff(startTime, GetTime()); 
     917                cout << "finished in " << timeDiff * 1e-3 << " secs" << endl; 
     918                Debug << "finished in " << timeDiff * 1e-3 << " secs" << endl; 
     919 
     920                startTime = GetTime(); 
     921 
    908922                cout << "compute new statistics ... "; 
    909  
     923                Debug << "compute new statistics ... "; 
    910924 
    911925                //-- propagate pvs or pvs size information 
     
    913927                UpdatePvsForEvaluation(mViewCellsTree->GetRoot(), pvs); 
    914928 
    915  
    916929                //-- output stats 
    917930                sprintf(s, "-%09d-eval.log", castSamples); 
     
    920933                mViewCellsTree->ExportStats(fileName); 
    921934 
    922                 cout << "finished" << endl; 
     935                timeDiff = TimeDiff(startTime, GetTime()); 
     936                cout << "finished in " << timeDiff * 1e-3 << " secs" << endl; 
     937                Debug << "finished in " << timeDiff * 1e-3 << " secs" << endl; 
     938 
    923939         
    924940                disposeRays(evaluationSamples, NULL); 
     
    931947        int histoStepSize; 
    932948 
    933         mEnvironment->GetBoolValue("ViewCells.Evaluation.histogram", useHisto); 
    934         mEnvironment->GetIntValue("ViewCells.Evaluation.histoStepSize", histoStepSize); 
     949        Environment::GetSingleton()->GetBoolValue("ViewCells.Evaluation.histogram", useHisto); 
     950        Environment::GetSingleton()->GetIntValue("ViewCells.Evaluation.histoStepSize", histoStepSize); 
    935951 
    936952        const int numLeaves = mViewCellsTree->GetNumInitialViewCells(mViewCellsTree->GetRoot()); 
     
    12631279        X3dParser parser; 
    12641280 
    1265         mEnvironment->GetFloatValue("ViewCells.height", parser.mViewCellHeight); 
     1281        Environment::GetSingleton()->GetFloatValue("ViewCells.height", parser.mViewCellHeight); 
    12661282 
    12671283        bool success = parser.ParseFile(filename, *this); 
     
    17051721        float pos; 
    17061722 
    1707         mEnvironment->GetFloatValue("ViewCells.Visualization.clipPlanePos", pos); 
     1723        Environment::GetSingleton()->GetFloatValue("ViewCells.Visualization.clipPlanePos", pos); 
    17081724 
    17091725        Vector3 point = mViewSpaceBox.Min() +  mViewSpaceBox.Size() * pos; 
    17101726 
    17111727        if (mUseClipPlaneForViz) 
    1712         mEnvironment->GetIntValue("ViewCells.Visualization.clipPlaneAxis", axis); 
     1728        Environment::GetSingleton()->GetIntValue("ViewCells.Visualization.clipPlaneAxis", axis); 
    17131729 
    17141730        Vector3 normal(0,0,0); 
     
    21692185 
    21702186 
    2171 BspViewCellsManager::BspViewCellsManager(BspTree *bspTree, Environment *env): 
    2172 ViewCellsManager(env), mBspTree(bspTree) 
    2173 { 
    2174         mEnvironment->GetIntValue("BspTree.Construction.samples", mInitialSamples); 
     2187BspViewCellsManager::BspViewCellsManager(BspTree *bspTree): 
     2188ViewCellsManager(), mBspTree(bspTree) 
     2189{ 
     2190        Environment::GetSingleton()->GetIntValue("BspTree.Construction.samples", mInitialSamples); 
    21752191        mBspTree->SetViewCellsManager(this); 
    21762192        mBspTree->mViewCellsTree = mViewCellsTree; 
     
    23402356        { 
    23412357                char mstats[100]; 
    2342                 mEnvironment->GetStringValue("ViewCells.mergeStats", mstats); 
     2358                Environment::GetSingleton()->GetStringValue("ViewCells.mergeStats", mstats); 
    23432359                mViewCellsTree->ExportStats(mstats); 
    23442360        } 
     
    24242440        { 
    24252441                char filename[100]; 
    2426                 mEnvironment->GetStringValue("ViewCells.filename", filename); 
     2442                Environment::GetSingleton()->GetStringValue("ViewCells.filename", filename); 
    24272443                ExportViewCells(filename, mExportPvs, objects); 
    24282444        } 
     
    24322448        { 
    24332449                char filename[100]; 
    2434                 mEnvironment->GetStringValue("ViewCells.boxesFilename", filename); 
     2450                Environment::GetSingleton()->GetStringValue("ViewCells.boxesFilename", filename); 
    24352451                ExportBoundingBoxes(filename, objects); 
    24362452        } 
     
    24592475         
    24602476        int savedColorCode = mColorCode; 
    2461  
    24622477         
    24632478         
     
    24772492                                exporter->ExportGeometry(objects); 
    24782493 
    2479                         //exporter->SetWireframe(); 
    24802494                        //exporter->SetFilled(); 
    24812495                        bool b = mUseClipPlaneForViz; 
     
    24922506        //-- visualization of the BSP splits 
    24932507        bool exportSplits = false; 
    2494         mEnvironment->GetBoolValue("BspTree.Visualization.exportSplits", exportSplits); 
     2508        Environment::GetSingleton()->GetBoolValue("BspTree.Visualization.exportSplits", exportSplits); 
    24952509 
    24962510        if (exportSplits) 
     
    30343048 
    30353049 
    3036 KdViewCellsManager::KdViewCellsManager(KdTree *kdTree, Environment *env): 
    3037 ViewCellsManager(env), mKdTree(kdTree), mKdPvsDepth(100) 
     3050KdViewCellsManager::KdViewCellsManager(KdTree *kdTree): 
     3051ViewCellsManager(), mKdTree(kdTree), mKdPvsDepth(100) 
    30383052{ 
    30393053} 
     
    33383352 
    33393353 
    3340 VspKdViewCellsManager::VspKdViewCellsManager(VspKdTree *vspKdTree, Environment *env): 
    3341 ViewCellsManager(env), mVspKdTree(vspKdTree) 
    3342 { 
    3343         mEnvironment->GetIntValue("VspKdTree.Construction.samples", mInitialSamples); 
     3354VspKdViewCellsManager::VspKdViewCellsManager(VspKdTree *vspKdTree): 
     3355ViewCellsManager(), mVspKdTree(vspKdTree) 
     3356{ 
     3357        Environment::GetSingleton()->GetIntValue("VspKdTree.Construction.samples", mInitialSamples); 
    33443358        mVspKdTree->SetViewCellsManager(this); 
    33453359} 
     
    36993713 
    37003714 
    3701 VspBspViewCellsManager::VspBspViewCellsManager(VspBspTree *vspBspTree, Environment *env): 
    3702 ViewCellsManager(env), mVspBspTree(vspBspTree) 
    3703 { 
    3704         mEnvironment->GetIntValue("VspBspTree.Construction.samples", mInitialSamples); 
     3715VspBspViewCellsManager::VspBspViewCellsManager(VspBspTree *vspBspTree): 
     3716ViewCellsManager(), mVspBspTree(vspBspTree) 
     3717{ 
     3718        Environment::GetSingleton()->GetIntValue("VspBspTree.Construction.samples", mInitialSamples); 
    37053719        mVspBspTree->SetViewCellsManager(this); 
    37063720        mVspBspTree->mViewCellsTree = mViewCellsTree; 
     
    38573871                ObjectPvs pvs; 
    38583872 
    3859                 mEnvironment->GetStringValue("ViewCells.mergeStats", mstats); 
     3873                Environment::GetSingleton()->GetStringValue("ViewCells.mergeStats", mstats); 
    38603874                mViewCellsTree->ExportStats(mstats); 
    38613875        } 
     
    41114125        { 
    41124126                char filename[100]; 
    4113                 mEnvironment->GetStringValue("ViewCells.filename", filename); 
     4127                Environment::GetSingleton()->GetStringValue("ViewCells.filename", filename); 
    41144128                ExportViewCells(filename, mExportPvs, objects); 
    41154129        } 
     
    41204134        { 
    41214135                char filename[100]; 
    4122                 mEnvironment->GetStringValue("ViewCells.boxesFilename", filename); 
     4136                Environment::GetSingleton()->GetStringValue("ViewCells.boxesFilename", filename); 
    41234137         
    41244138                ExportBoundingBoxes(filename, objects); 
    4125 /* 
    4126                 IndexedBoundingBoxContainer boxes; 
    4127                 LoadBoundingBoxes(filename, boxes); 
    4128  
    4129                 IndexedBoundingBoxContainer::const_iterator it, it_end = boxes.end(); 
    4130  
    4131                 for (it = boxes.begin(); it != it_end; ++ it) 
    4132                 { 
    4133                         IndexedBoundingBox ibox = *it; 
    4134                         AxisAlignedBox3 box = ibox.second; 
    4135  
    4136                         Debug << ibox.first << " "  
    4137                                   << box.Min().x << " "  
    4138                                   << box.Min().y << " "  
    4139                                   << box.Min().z << " "  
    4140                                   << box.Max().x << " "  
    4141                                   << box.Max().y << " "  
    4142                   << box.Max().z << endl;        
    4143                 }*/ 
    41444139        } 
    41454140 
     
    43304325                        if (0) 
    43314326                        { 
     4327                                // export view space box 
    43324328                                exporter->SetWireframe(); 
    43334329                                exporter->ExportBox(mViewSpaceBox); 
     
    44214417        //-- visualization of the BSP splits 
    44224418        bool exportSplits = false; 
    4423         mEnvironment->GetBoolValue("VspBspTree.Visualization.exportSplits", exportSplits); 
     4419        Environment::GetSingleton()->GetBoolValue("VspBspTree.Visualization.exportSplits", exportSplits); 
    44244420 
    44254421        if (exportSplits) 
     
    47124708        int numSamples; 
    47134709 
    4714         mEnvironment->GetIntValue("RenderSampler.samples", numSamples); 
     4710        Environment::GetSingleton()->GetIntValue("RenderSampler.samples", numSamples); 
    47154711        cout << "samples" << numSamples << endl; 
    47164712 
     
    50465042        int i; 
    50475043        for (i=0; it != it_end; ++ it, ++ i) { 
    5048                 cout<<"v"<<i<<" pvs="<<(*it)->GetPvs().mEntries.size()<<endl; 
     5044                //cout<<"v"<<i<<" pvs="<<(*it)->GetPvs().mEntries.size()<<endl; 
    50495045          pvs.Merge((*it)->GetPvs()); 
    50505046        } 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.h

    r1002 r1004  
    3333class MergeCandidate; 
    3434class BoundingBoxConverter; 
    35 class Environment; 
     35 
    3636 
    3737struct BspRay; 
     
    7272        enum {PER_OBJECT, PER_TRIANGLE}; 
    7373 
    74         /** default constructor taking an environment file. 
    75         */ 
    76         ViewCellsManager(Environment *env); 
     74        /** Default constructor. 
     75        */ 
     76        ViewCellsManager(); 
    7777 
    7878        virtual ~ViewCellsManager(); 
     
    409409                of the hierarchy. 
    410410        */ 
    411         inline void SetScalarPvsSize(ViewCell *vc, const int pvsSize) const; 
     411        void SetScalarPvsSize(ViewCell *vc, const int pvsSize) const; 
    412412 
    413413 
     
    433433                @param filename the filename of the view cells 
    434434                @param objects the scene objects 
    435                 @param env an environment file containing more parameters 
    436435                @param finalizeViewCells if the view cells should be post processed, i.e. 
    437436                        a mesh is created representing the geometry 
     
    443442        static ViewCellsManager *LoadViewCells(const string &filename,  
    444443                                                                                   ObjectContainer *objects,  
    445                                                                                    Environment *env, 
    446444                                                                                   const bool finalizeViewCells, 
    447445                                                                                   BoundingBoxConverter *bconverter = NULL); 
     
    571569        bool mExportBboxesForPvs; 
    572570                 
    573         Environment *environment; 
     571        //Environment *environment; 
    574572        Plane3 mClipPlane; 
    575573 
     
    652650        /// if pvs should be exported with view cells 
    653651        bool mExportPvs; 
    654  
    655         /// the pointer to the environment 
    656         Environment *mEnvironment; 
    657652}; 
    658653 
     
    668663                used to construct the bsp tree. 
    669664        */ 
    670         BspViewCellsManager(BspTree *tree, Environment *env); 
     665        BspViewCellsManager(BspTree *tree); 
    671666 
    672667        ~BspViewCellsManager(); 
     
    757752public: 
    758753 
    759         KdViewCellsManager(KdTree *tree, Environment *env); 
     754        KdViewCellsManager(KdTree *tree); 
    760755 
    761756        int ConstructSubdivision(const ObjectContainer &objects,  
     
    826821public: 
    827822 
    828         VspKdViewCellsManager(VspKdTree *vspKdTree, Environment *env); 
     823        VspKdViewCellsManager(VspKdTree *vspKdTree); 
    829824 
    830825        int ConstructSubdivision(const ObjectContainer &objects,  
     
    892887public: 
    893888 
    894         VspBspViewCellsManager(VspBspTree *tree, Environment *env); 
     889        VspBspViewCellsManager(VspBspTree *tree); 
    895890        ~VspBspViewCellsManager(); 
    896891 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.cpp

    r975 r1004  
    6767// --------------------------------------------------------------------------- 
    6868ViewCellsParseHandlers::ViewCellsParseHandlers(ObjectContainer *objects,  
    69                                                                                            BoundingBoxConverter *bconverter, 
    70                                                                                            Environment *env): 
     69                                                                                           BoundingBoxConverter *bconverter): 
    7170  mElementCount(0) 
    7271  , mAttrCount(0) 
     
    8281  , mObjects(objects) 
    8382  , mBoundingBoxConverter(bconverter) 
    84   , mEnvironment(env) 
    8583{ 
    8684} 
     
    622620                //mCurrentBspNode = mBspTree->GetRoot(); 
    623621 
    624                 mViewCellsManager = new BspViewCellsManager(mBspTree, mEnvironment); 
     622                mViewCellsManager = new BspViewCellsManager(mBspTree); 
    625623        } 
    626624         
     
    630628                Debug << "view cell type: VspKd" << endl; 
    631629                mVspKdTree = new VspKdTree();    
    632                 mViewCellsManager = new VspKdViewCellsManager(mVspKdTree, mEnvironment); 
     630                mViewCellsManager = new VspKdViewCellsManager(mVspKdTree); 
    633631        } 
    634632        else // vspBspTree 
     
    638636                mVspBspTree = new VspBspTree(); 
    639637                //mCurrentBspNode = mVspBspTree->GetRoot(); 
    640                 mViewCellsManager = new VspBspViewCellsManager(mVspBspTree, mEnvironment); 
     638                mViewCellsManager = new VspBspViewCellsManager(mVspBspTree); 
    641639 
    642640                mVspBspTree->mBox = mViewSpaceBox; 
     
    705703                                                                ViewCellsManager **viewCells, 
    706704                                                                ObjectContainer *objects, 
    707                                                                 BoundingBoxConverter *bconverter, 
    708                                                                 Environment *env) 
     705                                                                BoundingBoxConverter *bconverter) 
    709706{ 
    710707  // Initialize the XML4C system 
     
    737734  //  to do. 
    738735  // 
    739   ViewCellsParseHandlers handler(objects, bconverter, env); 
     736  ViewCellsParseHandlers handler(objects, bconverter); 
    740737  parser->setDocumentHandler(&handler); 
    741738  parser->setErrorHandler(&handler); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.h

    r938 r1004  
    2121                                 ViewCellsManager **viewCells, 
    2222                                 ObjectContainer *objectsm, 
    23                                  BoundingBoxConverter *bconverter, 
    24                                  Environment *env); 
     23                                 BoundingBoxConverter *bconverter); 
    2524}; 
    2625 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParserXerces.h

    r955 r1004  
    2929  //  Constructors and Destructor 
    3030  // ----------------------------------------------------------------------- 
    31   ViewCellsParseHandlers(ObjectContainer *objects, BoundingBoxConverter *bconverter, Environment *env); 
     31  ViewCellsParseHandlers(ObjectContainer *objects, BoundingBoxConverter *bconverter); 
    3232  ~ViewCellsParseHandlers(); 
    3333   
     
    8585 
    8686  IndexedBoundingBoxContainer mIBoundingBoxes; 
    87   Environment *mEnvironment; 
    88  
     87  
    8988  bool mParseViewCells; 
    9089 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VrmlExporter.cpp

    r1001 r1004  
    751751                                VssRay *ray; 
    752752                                 
    753                                 const indices[][2] = {{0,0}, {0,1}, {1,1}, {1,0}};  
     753                                const int indices[][2] = {{0,0}, {0,1}, {1,1}, {1,0}};  
    754754                                MeshInstance dummy(mesh); 
    755755                                for (int i=0; i < 4; i++)  
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspBspTree.cpp

    r1002 r1004  
    5555 
    5656 
    57 VspBspTree::VspBspTree(Environment *env): 
     57VspBspTree::VspBspTree(): 
    5858mRoot(NULL), 
    5959mUseAreaForPvs(false), 
     
    6767{ 
    6868        bool randomize = false; 
    69         env->GetBoolValue("VspBspTree.Construction.randomize", randomize); 
     69        Environment::GetSingleton()->GetBoolValue("VspBspTree.Construction.randomize", randomize); 
    7070        if (randomize) 
    7171                Randomize(); // initialise random generator for heuristics 
    7272 
    7373        //-- termination criteria for autopartition 
    74         env->GetIntValue("VspBspTree.Termination.maxDepth", mTermMaxDepth); 
    75         env->GetIntValue("VspBspTree.Termination.minPvs", mTermMinPvs); 
    76         env->GetIntValue("VspBspTree.Termination.minRays", mTermMinRays); 
    77         env->GetFloatValue("VspBspTree.Termination.minProbability", mTermMinProbability); 
    78         env->GetFloatValue("VspBspTree.Termination.maxRayContribution", mTermMaxRayContribution); 
    79         env->GetFloatValue("VspBspTree.Termination.minAccRayLenght", mTermMinAccRayLength); 
    80         env->GetFloatValue("VspBspTree.Termination.maxCostRatio", mTermMaxCostRatio); 
    81         env->GetIntValue("VspBspTree.Termination.missTolerance", mTermMissTolerance); 
    82         env->GetIntValue("VspBspTree.Termination.maxViewCells", mMaxViewCells); 
     74        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.maxDepth", mTermMaxDepth); 
     75        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.minPvs", mTermMinPvs); 
     76        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.minRays", mTermMinRays); 
     77        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.minProbability", mTermMinProbability); 
     78        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.maxRayContribution", mTermMaxRayContribution); 
     79        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.minAccRayLenght", mTermMinAccRayLength); 
     80        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.maxCostRatio", mTermMaxCostRatio); 
     81        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.missTolerance", mTermMissTolerance); 
     82        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.maxViewCells", mMaxViewCells); 
    8383 
    8484        //-- max cost ratio for early tree termination 
    85         env->GetFloatValue("VspBspTree.Termination.maxCostRatio", mTermMaxCostRatio); 
    86  
    87         env->GetFloatValue("VspBspTree.Termination.minGlobalCostRatio", mTermMinGlobalCostRatio); 
    88         env->GetIntValue("VspBspTree.Termination.globalCostMissTolerance", mTermGlobalCostMissTolerance); 
     85        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.maxCostRatio", mTermMaxCostRatio); 
     86 
     87        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.minGlobalCostRatio", mTermMinGlobalCostRatio); 
     88        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.globalCostMissTolerance", mTermGlobalCostMissTolerance); 
    8989 
    9090        // HACK//mTermMinPolygons = 25; 
    9191 
    9292        //-- factors for bsp tree split plane heuristics 
    93         env->GetFloatValue("VspBspTree.Factor.pvs", mPvsFactor); 
    94         env->GetFloatValue("VspBspTree.Termination.ct_div_ci", mCtDivCi); 
     93        Environment::GetSingleton()->GetFloatValue("VspBspTree.Factor.pvs", mPvsFactor); 
     94        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.ct_div_ci", mCtDivCi); 
    9595 
    9696 
    9797        //-- partition criteria 
    98         env->GetIntValue("VspBspTree.maxPolyCandidates", mMaxPolyCandidates); 
    99         env->GetIntValue("VspBspTree.maxRayCandidates", mMaxRayCandidates); 
    100         env->GetIntValue("VspBspTree.splitPlaneStrategy", mSplitPlaneStrategy); 
    101  
    102         env->GetFloatValue("VspBspTree.Construction.epsilon", mEpsilon); 
    103         env->GetIntValue("VspBspTree.maxTests", mMaxTests); 
     98        Environment::GetSingleton()->GetIntValue("VspBspTree.maxPolyCandidates", mMaxPolyCandidates); 
     99        Environment::GetSingleton()->GetIntValue("VspBspTree.maxRayCandidates", mMaxRayCandidates); 
     100        Environment::GetSingleton()->GetIntValue("VspBspTree.splitPlaneStrategy", mSplitPlaneStrategy); 
     101 
     102        Environment::GetSingleton()->GetFloatValue("VspBspTree.Construction.epsilon", mEpsilon); 
     103        Environment::GetSingleton()->GetIntValue("VspBspTree.maxTests", mMaxTests); 
    104104 
    105105        // if only the driving axis is used for axis aligned split 
    106         env->GetBoolValue("VspBspTree.splitUseOnlyDrivingAxis", mOnlyDrivingAxis); 
     106        Environment::GetSingleton()->GetBoolValue("VspBspTree.splitUseOnlyDrivingAxis", mOnlyDrivingAxis); 
    107107         
    108108        //-- termination criteria for axis aligned split 
    109         env->GetFloatValue("VspBspTree.Termination.AxisAligned.maxRayContribution",  
     109        Environment::GetSingleton()->GetFloatValue("VspBspTree.Termination.AxisAligned.maxRayContribution",  
    110110                                                                mTermMaxRayContriForAxisAligned); 
    111         env->GetIntValue("VspBspTree.Termination.AxisAligned.minRays", 
     111        Environment::GetSingleton()->GetIntValue("VspBspTree.Termination.AxisAligned.minRays", 
    112112                                                         mTermMinRaysForAxisAligned); 
    113113 
    114         //env->GetFloatValue("VspBspTree.maxTotalMemory", mMaxTotalMemory); 
    115         env->GetFloatValue("VspBspTree.maxStaticMemory", mMaxMemory); 
    116  
    117         env->GetFloatValue("VspBspTree.Construction.renderCostWeight", mRenderCostWeight); 
    118         env->GetBoolValue("VspBspTree.usePolygonSplitIfAvailable", mUsePolygonSplitIfAvailable); 
    119  
    120         env->GetBoolValue("VspBspTree.useCostHeuristics", mUseCostHeuristics); 
    121         env->GetBoolValue("VspBspTree.useSplitCostQueue", mUseSplitCostQueue); 
    122         env->GetBoolValue("VspBspTree.simulateOctree", mCirculatingAxis); 
    123         env->GetBoolValue("VspBspTree.useRandomAxis", mUseRandomAxis); 
    124         env->GetIntValue("VspBspTree.nodePriorityQueueType", mNodePriorityQueueType); 
    125  
    126         env->GetBoolValue("ViewCells.PostProcess.emptyViewCellsMerge", mEmptyViewCellsMergeAllowed); 
     114        //Environment::GetSingleton()->GetFloatValue("VspBspTree.maxTotalMemory", mMaxTotalMemory); 
     115        Environment::GetSingleton()->GetFloatValue("VspBspTree.maxStaticMemory", mMaxMemory); 
     116 
     117        Environment::GetSingleton()->GetFloatValue("VspBspTree.Construction.renderCostWeight", mRenderCostWeight); 
     118        Environment::GetSingleton()->GetBoolValue("VspBspTree.usePolygonSplitIfAvailable", mUsePolygonSplitIfAvailable); 
     119 
     120        Environment::GetSingleton()->GetBoolValue("VspBspTree.useCostHeuristics", mUseCostHeuristics); 
     121        Environment::GetSingleton()->GetBoolValue("VspBspTree.useSplitCostQueue", mUseSplitCostQueue); 
     122        Environment::GetSingleton()->GetBoolValue("VspBspTree.simulateOctree", mCirculatingAxis); 
     123        Environment::GetSingleton()->GetBoolValue("VspBspTree.useRandomAxis", mUseRandomAxis); 
     124        Environment::GetSingleton()->GetIntValue("VspBspTree.nodePriorityQueueType", mNodePriorityQueueType); 
     125 
     126        Environment::GetSingleton()->GetBoolValue("ViewCells.PostProcess.emptyViewCellsMerge", mEmptyViewCellsMergeAllowed); 
    127127         
    128128        char subdivisionStatsLog[100]; 
    129         env->GetStringValue("VspBspTree.subdivisionStats", subdivisionStatsLog); 
     129        Environment::GetSingleton()->GetStringValue("VspBspTree.subdivisionStats", subdivisionStatsLog); 
    130130        mSubdivisionStats.open(subdivisionStatsLog); 
    131131 
    132         env->GetFloatValue("VspBspTree.Construction.minBand", mMinBand); 
    133         env->GetFloatValue("VspBspTree.Construction.maxBand", mMaxBand); 
    134         env->GetBoolValue("VspBspTree.Construction.useDrivingAxisForMaxCost", mUseDrivingAxisForMaxCost); 
     132        Environment::GetSingleton()->GetFloatValue("VspBspTree.Construction.minBand", mMinBand); 
     133        Environment::GetSingleton()->GetFloatValue("VspBspTree.Construction.maxBand", mMaxBand); 
     134        Environment::GetSingleton()->GetBoolValue("VspBspTree.Construction.useDrivingAxisForMaxCost", mUseDrivingAxisForMaxCost); 
    135135 
    136136        //-- debug output 
     
    198198        Debug << endl; 
    199199} 
    200  
     200/* 
    201201VspBspTree::VspBspTree(): 
    202202mRoot(NULL), 
     
    211211mEpsilon(1e-6f) 
    212212{ 
    213 } 
     213}*/ 
    214214 
    215215BspViewCell *VspBspTree::GetOutOfBoundsCell() 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspBspTree.h

    r971 r1004  
    2828class Beam; 
    2929class ViewCellsTree; 
    30 class Environment; 
     30//class Environment; 
    3131 
    3232/** 
     
    201201        VspBspTree(); 
    202202 
    203          
    204         /** Constructor creating an empty tree. Loads parameters  
    205                 from an environment file. 
    206         */  
    207         VspBspTree(Environment *env); 
    208  
    209203        /** Default destructor. 
    210204        */ 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspKdTree.cpp

    r882 r1004  
    407407VspKdTree::VspKdTree(): mOnlyDrivingAxis(false) 
    408408{ 
    409         environment->GetIntValue("VspKdTree.Termination.maxDepth", mTermMaxDepth); 
    410         environment->GetIntValue("VspKdTree.Termination.minPvs", mTermMinPvs); 
    411         environment->GetIntValue("VspKdTree.Termination.minRays", mTermMinRays); 
    412         environment->GetFloatValue("VspKdTree.Termination.maxRayContribution", mTermMaxRayContribution); 
    413         environment->GetFloatValue("VspKdTree.Termination.maxCostRatio", mTermMaxCostRatio); 
    414         environment->GetFloatValue("VspKdTree.Termination.minSize", mTermMinSize); 
    415  
    416         environment->GetIntValue("VspKdTree.Termination.missTolerance", mTermMissTolerance); 
     409        Environment::GetSingleton()->GetIntValue("VspKdTree.Termination.maxDepth", mTermMaxDepth); 
     410        Environment::GetSingleton()->GetIntValue("VspKdTree.Termination.minPvs", mTermMinPvs); 
     411        Environment::GetSingleton()->GetIntValue("VspKdTree.Termination.minRays", mTermMinRays); 
     412        Environment::GetSingleton()->GetFloatValue("VspKdTree.Termination.maxRayContribution", mTermMaxRayContribution); 
     413        Environment::GetSingleton()->GetFloatValue("VspKdTree.Termination.maxCostRatio", mTermMaxCostRatio); 
     414        Environment::GetSingleton()->GetFloatValue("VspKdTree.Termination.minSize", mTermMinSize); 
     415 
     416        Environment::GetSingleton()->GetIntValue("VspKdTree.Termination.missTolerance", mTermMissTolerance); 
    417417 
    418418        mTermMinSize = sqr(mTermMinSize); 
    419419 
    420         environment->GetFloatValue("VspKdTree.epsilon", mEpsilon); 
    421         environment->GetFloatValue("VspKdTree.ct_div_ci", mCtDivCi); 
    422  
    423         environment->GetFloatValue("VspKdTree.maxTotalMemory", mMaxTotalMemory); 
    424         environment->GetFloatValue("VspKdTree.maxStaticMemory", mMaxStaticMemory); 
    425  
    426         environment->GetIntValue("VspKdTree.accessTimeThreshold", mAccessTimeThreshold); 
    427         environment->GetIntValue("VspKdTree.minCollapseDepth", mMinCollapseDepth); 
    428  
    429         //environment->GetIntValue("ViewCells.maxViewCells", mMaxViewCells); 
    430  
    431         environment->GetIntValue("VspKdTree.PostProcess.minViewCells", mMergeMinViewCells); 
    432         environment->GetFloatValue("VspKdTree.PostProcess.maxCostRatio", mMergeMaxCostRatio); 
    433         environment->GetIntValue("VspKdTree.PostProcess.maxPvsSize", 
     420        Environment::GetSingleton()->GetFloatValue("VspKdTree.epsilon", mEpsilon); 
     421        Environment::GetSingleton()->GetFloatValue("VspKdTree.ct_div_ci", mCtDivCi); 
     422 
     423        Environment::GetSingleton()->GetFloatValue("VspKdTree.maxTotalMemory", mMaxTotalMemory); 
     424        Environment::GetSingleton()->GetFloatValue("VspKdTree.maxStaticMemory", mMaxStaticMemory); 
     425 
     426        Environment::GetSingleton()->GetIntValue("VspKdTree.accessTimeThreshold", mAccessTimeThreshold); 
     427        Environment::GetSingleton()->GetIntValue("VspKdTree.minCollapseDepth", mMinCollapseDepth); 
     428 
     429        //Environment::GetSingleton()->GetIntValue("ViewCells.maxViewCells", mMaxViewCells); 
     430 
     431        Environment::GetSingleton()->GetIntValue("VspKdTree.PostProcess.minViewCells", mMergeMinViewCells); 
     432        Environment::GetSingleton()->GetFloatValue("VspKdTree.PostProcess.maxCostRatio", mMergeMaxCostRatio); 
     433        Environment::GetSingleton()->GetIntValue("VspKdTree.PostProcess.maxPvsSize", 
    434434                                                         VspKdMergeCandidate::sMaxPvsSize); 
    435435 
    436         environment->GetBoolValue("VspKdTree.splitUseOnlyDrivingAxis", mOnlyDrivingAxis); 
    437         environment->GetIntValue("VspKdTree.Termination.maxViewCells", mMaxViewCells); 
     436        Environment::GetSingleton()->GetBoolValue("VspKdTree.splitUseOnlyDrivingAxis", mOnlyDrivingAxis); 
     437        Environment::GetSingleton()->GetIntValue("VspKdTree.Termination.maxViewCells", mMaxViewCells); 
    438438 
    439439        //-- output 
     
    450450        //-- split type 
    451451        char sname[128]; 
    452         environment->GetStringValue("VspKdTree.splitType", sname); 
     452        Environment::GetSingleton()->GetStringValue("VspKdTree.splitType", sname); 
    453453        string name(sname); 
    454454 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspKdTree.h

    r860 r1004  
    277277        /** Returns back child. 
    278278        */ 
    279         inline VspKdNode *GetBack() const; 
     279        VspKdNode *GetBack() const; 
    280280        /** Returns front child. 
    281281        */ 
    282         inline VspKdNode *GetFront() const; 
     282        VspKdNode *GetFront() const; 
    283283 
    284284protected: 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VssPreprocessor.cpp

    r1002 r1004  
    2626{ 
    2727  // this should increase coherence of the samples 
    28   environment->GetIntValue("VssPreprocessor.samplesPerPass", mSamplesPerPass); 
    29   environment->GetIntValue("VssPreprocessor.initialSamples", mInitialSamples); 
    30   environment->GetIntValue("VssPreprocessor.vssSamples", mVssSamples); 
    31   environment->GetIntValue("VssPreprocessor.vssSamplesPerPass", mVssSamplesPerPass); 
    32   environment->GetBoolValue("VssPreprocessor.useImportanceSampling", mUseImportanceSampling); 
     28  Environment::GetSingleton()->GetIntValue("VssPreprocessor.samplesPerPass", mSamplesPerPass); 
     29  Environment::GetSingleton()->GetIntValue("VssPreprocessor.initialSamples", mInitialSamples); 
     30  Environment::GetSingleton()->GetIntValue("VssPreprocessor.vssSamples", mVssSamples); 
     31  Environment::GetSingleton()->GetIntValue("VssPreprocessor.vssSamplesPerPass", mVssSamplesPerPass); 
     32  Environment::GetSingleton()->GetBoolValue("VssPreprocessor.useImportanceSampling", mUseImportanceSampling); 
    3333  
    34   environment->GetBoolValue("VssPreprocessor.loadInitialSamples", mLoadInitialSamples); 
    35   environment->GetBoolValue("VssPreprocessor.storeInitialSamples", mStoreInitialSamples); 
    36   environment->GetBoolValue("VssPreprocessor.useViewSpaceBox", mUseViewSpaceBox); 
    37   environment->GetBoolValue("VssPreprocessor.testBeamSampling", mTestBeamSampling); 
    38   environment->GetBoolValue("VssPreprocessor.enlargeViewSpace", mEnlargeViewSpace); 
    39   environment->GetBoolValue("Preprocessor.detectEmptyViewSpace", mDetectEmptyViewSpace); 
     34  Environment::GetSingleton()->GetBoolValue("VssPreprocessor.loadInitialSamples", mLoadInitialSamples); 
     35  Environment::GetSingleton()->GetBoolValue("VssPreprocessor.storeInitialSamples", mStoreInitialSamples); 
     36  Environment::GetSingleton()->GetBoolValue("VssPreprocessor.useViewSpaceBox", mUseViewSpaceBox); 
     37  Environment::GetSingleton()->GetBoolValue("VssPreprocessor.testBeamSampling", mTestBeamSampling); 
     38  Environment::GetSingleton()->GetBoolValue("VssPreprocessor.enlargeViewSpace", mEnlargeViewSpace); 
     39  Environment::GetSingleton()->GetBoolValue("Preprocessor.detectEmptyViewSpace", mDetectEmptyViewSpace); 
    4040   
    4141  useViewspacePlane = mUseViewSpaceBox; //hack 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VssTree.cpp

    r863 r1004  
    6767VssTree::VssTree() 
    6868{ 
    69   environment->GetIntValue("VssTree.maxDepth", termMaxDepth); 
    70   environment->GetIntValue("VssTree.minPvs", termMinPvs); 
    71   environment->GetIntValue("VssTree.minRays", termMinRays); 
    72   environment->GetFloatValue("VssTree.maxRayContribution", termMaxRayContribution); 
    73   environment->GetFloatValue("VssTree.maxCostRatio", termMaxCostRatio); 
    74  
    75   environment->GetFloatValue("VssTree.minSize", termMinSize); 
     69  Environment::GetSingleton()->GetIntValue("VssTree.maxDepth", termMaxDepth); 
     70  Environment::GetSingleton()->GetIntValue("VssTree.minPvs", termMinPvs); 
     71  Environment::GetSingleton()->GetIntValue("VssTree.minRays", termMinRays); 
     72  Environment::GetSingleton()->GetFloatValue("VssTree.maxRayContribution", termMaxRayContribution); 
     73  Environment::GetSingleton()->GetFloatValue("VssTree.maxCostRatio", termMaxCostRatio); 
     74 
     75  Environment::GetSingleton()->GetFloatValue("VssTree.minSize", termMinSize); 
    7676  termMinSize = sqr(termMinSize); 
    7777         
    78   environment->GetFloatValue("VssTree.refDirBoxMaxSize", refDirBoxMaxSize); 
     78  Environment::GetSingleton()->GetFloatValue("VssTree.refDirBoxMaxSize", refDirBoxMaxSize); 
    7979  refDirBoxMaxSize = sqr(refDirBoxMaxSize); 
    8080   
    81   environment->GetFloatValue("VssTree.epsilon", epsilon); 
    82   environment->GetFloatValue("VssTree.ct_div_ci", ct_div_ci); 
    83          
    84   environment->GetFloatValue("VssTree.maxTotalMemory", maxTotalMemory); 
    85   environment->GetFloatValue("VssTree.maxStaticMemory", maxStaticMemory); 
     81  Environment::GetSingleton()->GetFloatValue("VssTree.epsilon", epsilon); 
     82  Environment::GetSingleton()->GetFloatValue("VssTree.ct_div_ci", ct_div_ci); 
     83         
     84  Environment::GetSingleton()->GetFloatValue("VssTree.maxTotalMemory", maxTotalMemory); 
     85  Environment::GetSingleton()->GetFloatValue("VssTree.maxStaticMemory", maxStaticMemory); 
    8686   
    8787   
     
    8989 
    9090  float refDirAngle; 
    91   environment->GetFloatValue("VssTree.refDirAngle", refDirAngle); 
    92    
    93   environment->GetIntValue("VssTree.accessTimeThreshold", accessTimeThreshold); 
     91  Environment::GetSingleton()->GetFloatValue("VssTree.refDirAngle", refDirAngle); 
     92   
     93  Environment::GetSingleton()->GetIntValue("VssTree.accessTimeThreshold", accessTimeThreshold); 
    9494  //= 1000; 
    95   environment->GetIntValue("VssTree.minCollapseDepth", minCollapseDepth); 
     95  Environment::GetSingleton()->GetIntValue("VssTree.minCollapseDepth", minCollapseDepth); 
    9696  //  int minCollapseDepth = 4; 
    9797 
     
    103103  // split type 
    104104  char sname[128]; 
    105   environment->GetStringValue("VssTree.splitType", sname); 
     105  Environment::GetSingleton()->GetStringValue("VssTree.splitType", sname); 
    106106  string name(sname); 
    107107         
     
    119119          } 
    120120         
    121   environment->GetBoolValue("VssTree.randomize", randomize); 
    122   environment->GetBoolValue("VssTree.splitUseOnlyDrivingAxis", mSplitUseOnlyDrivingAxis); 
    123   environment->GetBoolValue("VssTree.useRss", mUseRss); 
    124  
    125   environment->GetBoolValue("VssTree.interleaveDirSplits", mInterleaveDirSplits); 
    126   environment->GetIntValue("VssTree.dirSplitDepth", mDirSplitDepth); 
     121  Environment::GetSingleton()->GetBoolValue("VssTree.randomize", randomize); 
     122  Environment::GetSingleton()->GetBoolValue("VssTree.splitUseOnlyDrivingAxis", mSplitUseOnlyDrivingAxis); 
     123  Environment::GetSingleton()->GetBoolValue("VssTree.useRss", mUseRss); 
     124 
     125  Environment::GetSingleton()->GetBoolValue("VssTree.interleaveDirSplits", mInterleaveDirSplits); 
     126  Environment::GetSingleton()->GetIntValue("VssTree.dirSplitDepth", mDirSplitDepth); 
    127127 
    128128  root = NULL; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/X3dExporter.cpp

    r1001 r1004  
    737737                                VssRay *ray; 
    738738                                 
    739                                 const indices[][2] = {{0,0}, {0,1}, {1,1}, {1,0}};  
     739                                const int indices[][2] = {{0,0}, {0,1}, {1,1}, {1,0}};  
    740740                                MeshInstance dummy(mesh); 
    741741                                for (int i=0; i < 4; i++) { 
  • GTP/trunk/Lib/Vis/Preprocessing/src/X3dParser.cpp

    r1002 r1004  
    175175                        Vector3 transl; 
    176176                                                         
    177                         if (sscanf(ptr, "%f %f %f %f", &transl.x, &transl.y, &transl.z) == 3) 
     177                        if (sscanf(ptr, "%f %f %f", &transl.x, &transl.y, &transl.z) == 3) 
    178178                        { 
    179179                                translm = new Matrix4x4(TranslationMatrix(transl)); 
     
    184184                        Vector3 scale; 
    185185 
    186                         if (sscanf(ptr, "%f %f %f %f", &scale.x, &scale.y, &scale.z) == 3) 
     186                        if (sscanf(ptr, "%f %f %f", &scale.x, &scale.y, &scale.z) == 3) 
    187187                        { 
    188188                                scalem = new Matrix4x4(ScaleMatrix(scale.x, scale.y, scale.z)); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/main.cpp

    r1002 r1004  
    4040 
    4141  Debug.open("debug.log"); 
    42   environment = new Environment; 
    43   
    44   environment->Parse(argc, argv, USE_EXE_PATH); 
     42   
     43  Environment::GetSingleton()->Parse(argc, argv, USE_EXE_PATH); 
    4544  MeshKdTree::ParseEnvironment(); 
    4645 
    4746  char buff[128]; 
    48   environment->GetStringValue("Preprocessor.type", buff); 
     47  Environment::GetSingleton()->GetStringValue("Preprocessor.type", buff); 
    4948  string preprocessorType(buff); 
    5049 
     
    8180                  } 
    8281                  else { 
    83                           DEL_PTR(environment); 
     82                          Environment::DelSingleton(); 
    8483                          cerr<<"Unknown preprocessor type"<<endl; 
    8584                          Debug<<"Unknown preprocessor type"<<endl; 
     
    109108  preprocessor = p; 
    110109   
    111   environment->GetStringValue("Scene.filename", buff); 
     110  Environment::GetSingleton()->GetStringValue("Scene.filename", buff); 
    112111  string filename(buff); 
    113112  p->LoadScene(filename); 
     
    166165  //-- clean up 
    167166  DEL_PTR(p); 
    168   DEL_PTR(environment); 
     167  Environment::DelSingleton(); 
    169168 
    170169  MeshManager::DelSingleton(); 
  • GTP/trunk/Lib/Vis/shared/scripts/GtpVisibility.sln

    r902 r1004  
    11Microsoft Visual Studio Solution File, Format Version 8.00 
    2 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Preprocessor", "..\..\Preprocessing\scripts\Preprocessor.vcproj", "{EABCE292-D598-4600-A1C9-2591E7D62FDA}" 
     2Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "Preprocessor", "..\..\Preprocessing\scripts\Preprocessor.icproj", "{1C63E944-5E2E-447C-AE75-F1BF14641C98}" 
    33        ProjectSection(ProjectDependencies) = postProject 
    44        EndProjectSection 
    55EndProject 
    6 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GtpVisibility", "..\..\OnlineCullingCHC\scripts\GtpVisibility.vcproj", "{101A7691-74F3-48B4-96A3-CF35578F5900}" 
     6Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "GtpVisibility", "..\..\OnlineCullingCHC\scripts\GtpVisibility.icproj", "{C1910FAC-39EA-49F1-B93C-517E15D1C250}" 
    77        ProjectSection(ProjectDependencies) = postProject 
    8                 {EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA} 
     8                {1C63E944-5E2E-447C-AE75-F1BF14641C98} = {1C63E944-5E2E-447C-AE75-F1BF14641C98} 
    99        EndProjectSection 
    1010EndProject 
    11 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCullingTerrain", "..\..\..\..\App\Demos\Vis\HillyTerrain\OGRE\TestCullingTerrain.vcproj", "{248F19A6-2FE0-4F5D-8928-E0EA10609887}" 
     11Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "TestCullingTerrain", "..\..\..\..\App\Demos\Vis\HillyTerrain\OGRE\TestCullingTerrain.icproj", "{D26A9780-4457-473C-A391-BBEB7758E2D0}" 
    1212        ProjectSection(ProjectDependencies) = postProject 
    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} 
     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} 
    1616        EndProjectSection 
    1717EndProject 
    18 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_VisibilitySceneManager", "..\..\OnlineCullingCHC\OGRE\scripts\Plugin_VisibilitySceneManager.vcproj", "{80DECC17-BDDD-4412-8CF8-F7C1C17A7436}" 
     18Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "Plugin_VisibilitySceneManager", "..\..\OnlineCullingCHC\OGRE\scripts\Plugin_VisibilitySceneManager.icproj", "{4FC8EE48-701E-474E-88CB-FFD17E8A778B}" 
    1919        ProjectSection(ProjectDependencies) = postProject 
    20                 {101A7691-74F3-48B4-96A3-CF35578F5900} = {101A7691-74F3-48B4-96A3-CF35578F5900} 
     20                {C1910FAC-39EA-49F1-B93C-517E15D1C250} = {C1910FAC-39EA-49F1-B93C-517E15D1C250} 
    2121        EndProjectSection 
    2222EndProject 
    23 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EvalStats", "..\EvalStats\EvalStats.vcproj", "{935D1BDD-41B0-49F1-A86C-EB49B94DDB20}" 
     23Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "EvalStats", "..\EvalStats\EvalStats.icproj", "{A83C475F-BE2B-452B-B702-97C8F125D31D}" 
    2424        ProjectSection(ProjectDependencies) = postProject 
    2525        EndProjectSection 
    2626EndProject 
    27 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestPreprocessor", "..\..\Preprocessing\scripts\TestPreprocessor.vcproj", "{69BC58F0-C7EB-4B43-B782-B6F047EF0528}" 
     27Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "TestPreprocessor", "..\..\Preprocessing\scripts\TestPreprocessor.icproj", "{6DB3C2CD-BBE6-463D-A9D3-92240C71ED22}" 
    2828        ProjectSection(ProjectDependencies) = postProject 
    29                 {EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA} 
     29                {1C63E944-5E2E-447C-AE75-F1BF14641C98} = {1C63E944-5E2E-447C-AE75-F1BF14641C98} 
    3030        EndProjectSection 
    3131EndProject 
    32 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IVReader", "..\..\OnlineCullingCHC\IVReader\scripts\IVReader.vcproj", "{7319E499-473D-4CE5-9983-725D6E68A55D}" 
     32Project("{EAF909A5-FA59-4C3D-9431-0FCC20D5BCF9}") = "IVReader", "..\..\OnlineCullingCHC\IVReader\scripts\IVReader.icproj", "{7499CFDA-3C7F-4660-B1D3-8A41EA2EBFA3}" 
    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 
     70                {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 
    4273                {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 
    45                 {EABCE292-D598-4600-A1C9-2591E7D62FDA}.Release.Build.0 = Release|Win32 
     74                {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 
    4677                {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 
    49                 {101A7691-74F3-48B4-96A3-CF35578F5900}.Release.Build.0 = Release|Win32 
     78                {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 
    5081                {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 
    53                 {248F19A6-2FE0-4F5D-8928-E0EA10609887}.Release.Build.0 = Release|Win32 
     82                {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 
    5485                {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 
    57                 {80DECC17-BDDD-4412-8CF8-F7C1C17A7436}.Release.Build.0 = Release|Win32 
     86                {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 
    5889                {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 
    61                 {935D1BDD-41B0-49F1-A86C-EB49B94DDB20}.Release.Build.0 = Release|Win32 
     90                {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 
    6293                {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 
    65                 {69BC58F0-C7EB-4B43-B782-B6F047EF0528}.Release.Build.0 = Release|Win32 
     94                {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 
    6697                {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 
    69                 {7319E499-473D-4CE5-9983-725D6E68A55D}.Release.Build.0 = Release|Win32 
    7098        EndGlobalSection 
    7199        GlobalSection(ExtensibilityGlobals) = postSolution 
Note: See TracChangeset for help on using the changeset viewer.