Changeset 6
- Timestamp:
- 30.1.2006 10:28:36 (3 years ago)
- Location:
- SoTerrain
- Files:
-
- 7 added
- 13 modified
-
SoTerrain.kateproject (added)
-
doc/TracFooter.html (added)
-
doc/TracHeader.html (added)
-
doxyfile (modified) (8 diffs)
-
include/geomipmapping/SoSimpleGeoMipmapTerrain.h (added)
-
include/profiler/PrProfiler.h (modified) (2 diffs)
-
include/roam/SbROAMMergeQueue.h (modified) (2 diffs)
-
include/roam/SbROAMPrimitives.h (modified) (5 diffs)
-
include/roam/SbROAMSplitQueue.h (modified) (2 diffs)
-
include/roam/SoSimpleROAMTerrain.h (modified) (6 diffs)
-
makefile (modified) (4 diffs)
-
roam.sln (modified) (1 diff)
-
scripts/iso2touni.py (added)
-
src/SoSimpleROAMTerrainTest.cpp (added)
-
src/geomipmapping/SoSimpleGeoMipmapTerrain.cpp (added)
-
src/profiler/PrProfiler.cpp (modified) (3 diffs)
-
src/roam/SbROAMMergeQueue.cpp (modified) (1 diff)
-
src/roam/SbROAMPrimitives.cpp (modified) (1 diff)
-
src/roam/SbROAMSplitQueue.cpp (modified) (1 diff)
-
src/roam/SoSimpleROAMTerrain.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
SoTerrain/doxyfile
r1 r6 4 4 # Project related configuration options 5 5 #--------------------------------------------------------------------------- 6 PROJECT_NAME = So SimpleROAMTerrain7 PROJECT_NUMBER = 1.08 OUTPUT_DIRECTORY = /root/Projekty/roam/doc/6 PROJECT_NAME = SoTerrain 7 PROJECT_NUMBER = 0.3 8 OUTPUT_DIRECTORY = doc/ 9 9 CREATE_SUBDIRS = NO 10 10 OUTPUT_LANGUAGE = Czech … … 82 82 # configuration options related to the input files 83 83 #--------------------------------------------------------------------------- 84 INPUT = /root/Projekty/roam/src/ \ 85 /root/Projekty/roam/include/ 84 INPUT = src/ \ 85 include/ \ 86 scripts/ 86 87 FILE_PATTERNS = *.c \ 87 88 *.cc \ … … 106 107 *.php \ 107 108 *.php3 \ 109 *.py \ 108 110 *.inc \ 109 111 *.m \ … … 121 123 *.PHP \ 122 124 *.PHP3 \ 125 *.PY \ 123 126 *.M \ 124 127 *.MM 125 128 RECURSIVE = YES 126 EXCLUDE = /root/Projekty/roam/src/main.cpp \127 /root/Projekty/roam/src/debug.h129 EXCLUDE = src/SoSimpleROAMTerrainTest.cpp \ 130 include/debug.h 128 131 EXCLUDE_SYMLINKS = NO 129 132 EXCLUDE_PATTERNS = … … 139 142 #--------------------------------------------------------------------------- 140 143 SOURCE_BROWSER = NO 141 INLINE_SOURCES = YES144 INLINE_SOURCES = NO 142 145 STRIP_CODE_COMMENTS = YES 143 146 REFERENCED_BY_RELATION = NO … … 153 156 e_ \ 154 157 it_ \ 155 ip_ 158 ip_ \ 159 So \ 160 Sb \ 161 Pr 156 162 #--------------------------------------------------------------------------- 157 163 # configuration options related to the HTML output … … 160 166 HTML_OUTPUT = html 161 167 HTML_FILE_EXTENSION = .html 162 HTML_HEADER = 163 HTML_FOOTER = 168 HTML_HEADER = doc/TracHeader.html 169 HTML_FOOTER = doc/TracFooter.html 164 170 HTML_STYLESHEET = 165 171 HTML_ALIGN_MEMBERS = YES 166 172 GENERATE_HTMLHELP = YES 167 CHM_FILE = 173 CHM_FILE = YES 168 174 HHC_LOCATION = 169 175 GENERATE_CHI = YES … … 273 279 # Configuration::additions related to the search engine 274 280 #--------------------------------------------------------------------------- 275 SEARCHENGINE = NO281 SEARCHENGINE = YES -
SoTerrain/include/profiler/PrProfiler.h
r1 r6 1 #ifndef PR_PROFILER_H 2 #define PR_RROFILER_H 3 1 4 /////////////////////////////////////////////////////////////////////////////// 2 // Profilovaci knihovna5 // SoTerrain 3 6 /////////////////////////////////////////////////////////////////////////////// 4 /// T rida profileru algoritmu7 /// Tøída profileru algoritmù 5 8 /// \file PrProfiler.h 6 9 /// \author Radek Bartoò - xbarto33 7 10 /// \date 26.06.2005 8 11 /// 9 /// Podrobnejsi popis 12 /// Tato statická tøída slouŸí pro mìøení doby strávené vykonáváním rùzných 13 /// èástí algoritmù. Lze ji pouŸít buï pøímo nebo za pomicí maker. 10 14 /////////////////////////////////////////////////////////////////////////////// 11 15 // … … 25 29 /////////////////////////////////////////////////////////////////////////////// 26 30 27 #ifndef PR_PROFILER_H28 #define PR_RROFILER_H29 30 31 #include <cstdlib> 31 32 #include <vector> 32 33 #include <fstream> 33 #include < sys/time.h>34 #include <time.h> 34 35 35 36 #include <iostream> -
SoTerrain/include/roam/SbROAMMergeQueue.h
r1 r6 1 1 #ifndef SB_ROAM_MERGE_QUEUE_H 2 2 #define SB_ROAM_MERGE_QUEUE_H 3 4 /////////////////////////////////////////////////////////////////////////////// 5 // SoTerrain 6 /////////////////////////////////////////////////////////////////////////////// 7 /// Prioritní fronta diamondù na spojení. 8 /// \file SbROAMMergeQueue.h 9 /// \author Radek Barton - xbarto33 10 /// \date 25.08.2005 11 /// 12 /// Do prioritní fronty diamondù se vkládají diamondy, které lze v terénu 13 /// spojit na dva trojúhelníky. 14 /////////////////////////////////////////////////////////////////////////////// 15 // 16 // THIS SOFTWARE IS NOT COPYRIGHTED 17 // 18 // This source code is offered for use in the public domain. 19 // You may use, modify or distribute it freely. 20 // 21 // This source code is distributed in the hope that it will be useful but 22 // WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 23 // DISCLAIMED. This includes but is not limited to warranties of 24 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 25 // 26 // If you find the source code useful, authors will kindly welcome 27 // if you give them credit and keep their names with their source code. 28 // 29 /////////////////////////////////////////////////////////////////////////////// 3 30 4 31 #include <Inventor/SbHeap.h> … … 8 35 struct SbROAMSplitQueueTriangle; 9 36 struct SbROAMMergeQueueDiamond; 37 38 /** Prioritní fronta diamondù na spojení. 39 Do této prioritní fronty se vkládají diamondy, které lze spojit na dva 40 trojúhelníky a tím dva trojúhelníky z pùvodních ètyø z triangulace odstranit. 41 Toto se provádí tehdy, pokud je tøeba triangulaci zjednodu¹it a to tak, Ÿe 42 se vyjme diamond s minimální prioritou, spojí se a vloŸi se zpìt pøípadnì vzniklé 43 nové diamondy. */ 10 44 class SbROAMMergeQueue : protected SbHeap 11 45 { 12 46 public: 13 SbROAMMergeQueue(const int init_size = 1024); 47 /* Metody. */ 48 /** Konstruktor. 49 Vytvoøí instanci tøídy ::SbROAMMergeQueue o poèáteèní velikosti 50 \p init_size poloŸek. Prioritní fronta se sama podle potøeb zvìt¹uje. 51 \param init_size Poèáteèní velikost prioritní fronty trojúhelníkù 52 na rozdìlení. */ 53 SbROAMMergeQueue(const int init_size = 4096); 54 /** Destruktor. 55 Zru¹í instanci tøídy ::SbROAMMergemQueue. */ 14 56 ~SbROAMMergeQueue(); 57 /** Vyprázdní prioritní frontu. 58 Zavoláním této metody dojde k vyprázdnìní prioritní fronty diamondù na 59 spojení. */ 15 60 void emptyQueue(); 61 /** VloŸení diamondu do fronty. 62 VloŸí diamond \p diamond do prioritní fronty diamondù na spojení. 63 \param diamond Diamond, který se má do fronty vloŸit. */ 16 64 void add(SbROAMMergeQueueDiamond * diamond); 65 /** Odstraní diamond z fronty. 66 Odstraní diamond \p diamond z prioritní fronty damondù. 67 \param diamond Diamond, který se má z fronty odstranit. */ 17 68 void remove(SbROAMMergeQueueDiamond * diamond); 69 /** Odstraní diamond z fronty podle jeho trojúhelníku. 70 Najde ve frontì diamondù na spojení diamond, jenŸ obsahuje trojúhelník 71 \p triangle, vyjme ho z fronty a vrátí na nìj ukazatel. 72 \param triangle Trojúhelník, patøící odstraòovanému diamondu. 73 \return Ukazatel na odstranìný diamond. */ 18 74 SbROAMMergeQueueDiamond * remove(SbROAMSplitQueueTriangle * triangle); 75 /** Vyjme a vrátí diamond z fronty. 76 Odstraní z prioritní fronty diamondù na spojení trojúhelník s 77 nejniŸ¹í prioritou a vrátí ukazatel na nìj. 78 \return Ukazatel na diamond s nejniŸ¹í prioritou. */ 19 79 SbROAMMergeQueueDiamond * extractMin(); 80 /** Vrátí diamond z fronty. 81 Vrátí ukazatel na diamond s nejniŸ¹í prioritou ve frontì. Diamond ve frontì 82 nadále zùstává. 83 \return Ukazatel na diamond s nejniŸ¹í prioritou. */ 20 84 SbROAMMergeQueueDiamond * getMin(); 85 /** Vrátí diamond z fronty podle indexu. 86 Vrátí ukazatel na diamond na indexu \p index v prioritní frontì diamondù. 87 \return Ukazatel na trojúhelník na indexu \p index. */ 21 88 SbROAMMergeQueueDiamond * operator[](const int index); 22 89 using SbHeap::size; 23 90 using SbHeap::newWeight; 24 91 protected: 92 /* Metody. */ 93 /** Vrátí prioritu diamondu. 94 Vrátí prioritu diamondu \p diamond v prioritní frontì diamondù na spojení. 95 \param diamond Diamond, jehoŸ priorita se má získat. 96 \return Priorita diamondu. */ 25 97 inline static float getDiamondPriority(void * diamond); 98 /** Vrátí index diamondu. 99 Vrátí index diamondu \p diamond v prioritní frontì diamondù na spojení. 100 \param diamond Diamond, jehoŸ index se má získat. 101 \return Index diamondu. */ 26 102 inline static int getDiamondIndex(void * diamond); 103 /** Nastaví index diamondu. 104 Nastaví index diamondu \p diamond v prioritní frontì diamondù na hodnotu 105 \p index. 106 \param diamond Diamond, u kterého se má index nastavit. 107 \param index Nový index diamondu. */ 27 108 inline static void setDiamondIndex(void * diamond, int index); 28 109 /* Datove polozky. */ 110 /// Struktura callbackù obsahující metody pro práci s diamondy. 29 111 static SbHeapFuncs heap_funcs; 30 112 private: -
SoTerrain/include/roam/SbROAMPrimitives.h
r1 r6 3 3 4 4 /////////////////////////////////////////////////////////////////////////////// 5 // ROAM5 // SoTerrain 6 6 /////////////////////////////////////////////////////////////////////////////// 7 7 /// Základní datové prvky algoritmu ROAM. … … 81 81 const float PRIORITY_MIN = 0.0f; 82 82 83 class SbROAMSplitQueue; 84 struct SbROAMMergeQueueDiamond; 85 83 86 /** Reprezentace trojúhelníkù ve frontì. 84 Tøída reprezentuje j eden trojúhelník v triangulaci. Roz¹iøuje trojúhelník87 Tøída reprezentuje j;xeden trojúhelník v triangulaci. Roz¹iøuje trojúhelník 85 88 z binárního stromu trojúhelníkù o informace o sousedech a prioritì 86 89 ve frontì. */ 87 class SbROAMSplitQueue;88 struct SbROAMMergeQueueDiamond;89 90 struct SbROAMSplitQueueTriangle 90 91 { … … 92 93 /* Metody. */ 93 94 /** Konstruktor. 94 Vytvoøí instanci tøídy trojúhelníku \p triangle v prioritní frontì95 a inicializuje jeho ukazatele na sousedy \p left, \p right a \p base.96 Prioritu nastaví na hodnotu \p priority.95 Vytvoøí instanci tøídy trojúhelníku \p triangle pro prioritní frontu 96 trojúhelníkù na rozdìlení a inicializuje jeho ukazatele na sousedy 97 \p left, \p right a \p base. Prioritu nastaví na hodnotu \p priority. 97 98 \param triangle Trojúhelník v binárním stromu trojúhelníkù. 98 99 \param priority Priorita trojúhelníku ve frontì. 99 100 \param left Levý soused trojúhelníku. 100 101 \param right Pravý soused trojúhelníku. 101 \param base Základnový soused trojúhelníku. */ 102 \param base Základnový soused trojúhelníku. 103 \param diamond Diamond, do kterého trojúhelník patøí. */ 102 104 SbROAMSplitQueueTriangle(SbROAMTriangle * triangle, 103 105 float priority = PRIORITY_MIN, … … 132 134 /// Index trojúhelníku ve frontì trojúhelníkù na rozdìlení. 133 135 int index; 136 /** Prioritní fronta trojúhelníkù na rozdìlení mùŸe pøistupovat k privátním 137 atributùm trojúhelníku. */ 134 138 friend class SbROAMSplitQueue; 135 139 }; 136 140 137 /* Uzel predstavujici jednu polozku (diamond) fronty. */138 141 class SbROAMMergeQueue; 142 143 /** Uzel pøedstavující diamond ve frontì. 144 Tøída pøedstavuje diamond, tj. ètyøi trojúhelniky, které lze slouèit 145 na dva trojúhelníky spojené podstavou. Tímto slouèením mohou vzniknout 146 dal¹í diamondy. */ 139 147 struct SbROAMMergeQueueDiamond 140 148 { 141 149 public: 142 150 /* Metody. */ 151 /** Konstruktor. 152 Vytvoøí instanci diamondu pro prioritní frontu diamondù na spojení 153 z trojúhelníkù \p first, \p second, \p third a \p fourth a nastaví 154 prioritu tohoto diamondu na hodnotu \p priority. 155 \param first První trojúhelník diamondu. 156 \param second Druhý trojúhelník diamondu. 157 \param third Tøetí trojúhelník diamondu. 158 \param fourth Ètvrtý trojúhelník diamondu. 159 \param priority Priorita diamondu ve frontì diamondù. */ 143 160 SbROAMMergeQueueDiamond(SbROAMSplitQueueTriangle * first = NULL, 144 161 SbROAMSplitQueueTriangle * second = NULL, … … 146 163 SbROAMSplitQueueTriangle * fourth = NULL, 147 164 float priority = PRIORITY_MAX); 165 /** Získání priority diamondu ve frontì. 166 Vrátí hodnotu priority diamondu ve frontì diamondù na spojení. 167 \return Priorita diamondu ve frontì diamondù na spojení. */ 148 168 float getPriority() const; 169 /** Nastavení priority diamondu ve frontì. 170 Nastaví hodnotu priority diamondu ve frontì \p merge_queue na novou 171 hodnotu \p priority. 172 \param merge_queue Fronta, v níŸ se diamond nachází. 173 \param priority Nová priorita diamondu. */ 149 174 void setPriority(SbROAMMergeQueue * merge_queue, const float priority); 150 175 /* Datove polozky. */ 176 /// První trojúhelník diamondu. 151 177 SbROAMSplitQueueTriangle * first; 178 /// Druhý trojúhelník diamondu. 152 179 SbROAMSplitQueueTriangle * second; 180 /// Tøetí trojúhelník diamondu. 153 181 SbROAMSplitQueueTriangle * third; 182 /// Ètvrtý trojúhelník diamondu. 154 183 SbROAMSplitQueueTriangle * fourth; 155 184 private: 185 /// Priorita diamondu ve frontì diamondù na spojení. 156 186 float priority; 187 /// Index diamondu ve frontì diamondù na spojení. 157 188 int index; 189 /** Prioritní fronta diamondù na spojení mùŸe pøistupovat k privátním 190 atributùm diamondu. */ 158 191 friend class SbROAMMergeQueue; 159 192 }; -
SoTerrain/include/roam/SbROAMSplitQueue.h
r1 r6 3 3 4 4 /////////////////////////////////////////////////////////////////////////////// 5 // ROAM5 // SoTerrain 6 6 /////////////////////////////////////////////////////////////////////////////// 7 7 /// Prioritní fronta trojúhelníkù na rozdìlení. … … 33 33 #include <roam/SbROAMPrimitives.h> 34 34 35 struct SbROAMSplitQueueTriangle; 36 35 37 /** Prioritní fronta trojúhelníkù na rozdìlení. 36 38 Do této prioritní fronty se vkládají trojúhelníky, které je tøeba zaøadit 37 39 do triangulace. Pokud je tøeba triangulaci dále zjemòovat, vyjme se z fronty 38 40 trojúhelník s maximální prioritou a vloŸí se zpìt jeho potomci. */ 39 struct SbROAMSplitQueueTriangle;40 41 class SbROAMSplitQueue : protected SbHeap 41 42 { -
SoTerrain/include/roam/SoSimpleROAMTerrain.h
r1 r6 3 3 4 4 /////////////////////////////////////////////////////////////////////////////// 5 // ROAM5 // SoTerrain 6 6 /////////////////////////////////////////////////////////////////////////////// 7 7 /// Terén vykreslovaný algoritmem ROAM. … … 28 28 /////////////////////////////////////////////////////////////////////////////// 29 29 30 // Coin includy 30 31 #include <Inventor/SbLinear.h> 31 32 #include <Inventor/SoPrimitiveVertex.h> 32 33 33 #include <Inventor/fields/SoSFBool.h> 34 34 #include <Inventor/fields/SoSFInt32.h> 35 35 #include <Inventor/fields/SoMFFloat.h> 36 37 36 #include <Inventor/nodes/SoShape.h> 38 37 #include <Inventor/nodes/SoCamera.h> 39 40 38 #include <Inventor/elements/SoCoordinateElement.h> 41 39 #include <Inventor/elements/SoTextureCoordinateElement.h> 42 40 #include <Inventor/elements/SoViewVolumeElement.h> 43 44 41 #include <Inventor/actions/SoGLRenderAction.h> 45 46 42 #include <Inventor/misc/SoState.h> 47 43 44 // ostatni includy 48 45 #include <iostream> 49 46 47 // lokalni includy 50 48 #include <roam/SbROAMSplitQueue.h> 51 49 #include <roam/SbROAMMergeQueue.h> … … 116 114 v pohledu nebo nejde-li rozhodnout vratí \p true. */ 117 115 inline bool isInViewVolume(SbVec3f first, SbVec3f second, SbVec3f apex); 118 /** 119 120 */ 116 /** Výpoèet priority trojúhelníku v triangulaci. 117 Na základì pozice a orientace kamery vypoète prioritu trojúhelníku 118 \p triangle v triangulaci. 119 \param triangle Trojúhelník, jehoŸ priorita se má spoèítat. 120 \return Vrátí vypoètenou prioritu trojúhelníku. */ 121 121 inline float computePriority(SbROAMTriangle * triangle); 122 /** 123 124 */ 125 inline void reconnectNeighbour(SbROAMSplitQueueTriangle * trinagle, 122 /** Výmìna sousedního trojúhelníku. 123 Zjistí, kterým sousedem je trojúhelník \p old_neighbour, a zamìní ho za 124 nový trojúhelník \p new_neighbour. 125 \param triangle Trojúhelník, u kterého výmìnu provést. 126 \param old_neighbour Pùvodní soused trojúhelníku. 127 \param new_neighbour Nový soused trojúhelníku. */ 128 inline void reconnectNeighbour(SbROAMSplitQueueTriangle * triangle, 126 129 SbROAMSplitQueueTriangle * old_neighbour, 127 130 SbROAMSplitQueueTriangle * new_neighbour); … … 151 154 SbROAMSplitQueueTriangle *& left_child, 152 155 SbROAMSplitQueueTriangle *& right_child); 153 /** 154 155 */ 156 /** Spojení poloviny diamondu. 157 Spojí dva trojúhelníky diamondu \p left_child a \p right_child do jednoho 158 rodièovského trojúhelníku \p parent. MùŸe vytvoøi nové diamondy. 159 \param left_child Levý trojúhelník z diamondu. 160 \param right_child Pravý trojúhelník z diamondu. 161 \param parent Výsledný rodièovský trojúhelník. */ 156 162 void halfMerge(SbROAMSplitQueueTriangle * left_child, 157 163 SbROAMSplitQueueTriangle * right_child, 158 164 SbROAMSplitQueueTriangle *& parent); 159 /** 160 161 */ 165 /** Spojení diamondu. 166 Spojí diamond \p diamond z prioritní fronty diamondù na spojení, a 167 vytvoøí tak dva trojúhelníky z pùvodních ètyø v prioritní frontì 168 trojúhelníkù na rozdìlení. 169 \param diamond Diamond z prioritní fronty na rozdìlení. */ 162 170 void merge(SbROAMMergeQueueDiamond * diamond); 163 171 /* Datove polozky. */ … … 174 182 /// Poèet úrovní binárního stromu trojúhelníkù. 175 183 int level; 176 /// Konstanta udavaj ici pocet pixelu na jeden radian zorneho pole.184 /// Konstanta udavající poèet pixelù na jeden radián zorného pole. 177 185 float lambda; 178 186 /// Fronta trojúhelníkù na rozdìlení. … … 181 189 SbROAMMergeQueue * merge_queue; 182 190 /* Konstanty. */ 183 /// V ychozí hodnota pro chybu triangulace v pixelech.191 /// Výchozí hodnota pro chybu triangulace v pixelech. 184 192 static const int DEFAULT_PIXEL_ERROR = 20; 193 /// Výchozí hodnota pro maximální poèet trojúhelníkù v triangulaci. 185 194 static const int DEFAULT_TRIANGLE_COUNT = 3000; 186 195 private: -
SoTerrain/makefile
r1 r6 4 4 5 5 # Promenne specificke pro projekt 6 TARGET = ./ roam6 TARGET = ./SoSimpleROAMTerrainTest 7 7 8 8 INC = ./include/ … … 11 11 DOC = ./doc/html/ 12 12 13 APP = $(OBJ) main.o13 APP = $(OBJ)SoSimpleROAMTerrainTest.o 14 14 TER = $(OBJ)SoSimpleROAMTerrain.o 15 15 SQE = $(OBJ)SbROAMSplitQueue.o … … 49 49 @rm -f -r $(DOC) 50 50 51 doc : $(TARGET)52 @echo "Generating documentation..."51 doc :: 52 echo "Generating documentation..." 53 53 @doxygen doxyfile 54 54 55 55 release : $(TARGET) doc 56 56 @echo "Making release tarball..." 57 @tar -cjf roam.tar.bz2 makefile doxyfile README TODO doc images include \58 src scripts roam.kateproject57 @tar -cjf SoTerrain.tar.bz2 makefile doxyfile README TODO doc images include \ 58 src scripts SoTerrain.kateproject 59 59 60 60 run : $(TARGET) … … 63 63 64 64 # Cile objektu 65 $(APP) : ./src/ main.cpp65 $(APP) : ./src/SoSimpleROAMTerrainTest.cpp 66 66 @echo "Building test application object..." 67 67 @$(CXX) -c -o $@ $(CXXFLAGS) $^ -
SoTerrain/roam.sln
r1 r6 1 Microsoft Visual Studio Solution File, Format Version 7.00 2 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ROAM", "ROAM.vcproj", "{06F261C3-C666-43D8-9028-45AA74EEB221}" 1 2 Microsoft Visual Studio Solution File, Format Version 9.00 3 # Visual Studio 2005 4 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ROAM", "roam.vcproj", "{5E53A762-E897-446E-8FD2-484377F8979E}" 3 5 EndProject 4 6 Global 5 GlobalSection(SolutionConfiguration) = preSolution 6 ConfigName.0 = Debug 7 ConfigName.1 = Release 7 GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 Debug|Win32 = Debug|Win32 9 Release|Win32 = Release|Win32 10 Static Debug|Win32 = Static Debug|Win32 11 Static Release|Win32 = Static Release|Win32 8 12 EndGlobalSection 9 GlobalSection(ProjectDependencies) = postSolution 13 GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 {5E53A762-E897-446E-8FD2-484377F8979E}.Debug|Win32.ActiveCfg = Debug|Win32 15 {5E53A762-E897-446E-8FD2-484377F8979E}.Debug|Win32.Build.0 = Debug|Win32 16 {5E53A762-E897-446E-8FD2-484377F8979E}.Release|Win32.ActiveCfg = Release|Win32 17 {5E53A762-E897-446E-8FD2-484377F8979E}.Release|Win32.Build.0 = Release|Win32 18 {5E53A762-E897-446E-8FD2-484377F8979E}.Static Debug|Win32.ActiveCfg = Static Debug|Win32 19 {5E53A762-E897-446E-8FD2-484377F8979E}.Static Debug|Win32.Build.0 = Static Debug|Win32 20 {5E53A762-E897-446E-8FD2-484377F8979E}.Static Release|Win32.ActiveCfg = Static Release|Win32 21 {5E53A762-E897-446E-8FD2-484377F8979E}.Static Release|Win32.Build.0 = Static Release|Win32 10 22 EndGlobalSection 11 GlobalSection(ProjectConfiguration) = postSolution 12 {06F261C3-C666-43D8-9028-45AA74EEB221}.Debug.ActiveCfg = Debug|Win32 13 {06F261C3-C666-43D8-9028-45AA74EEB221}.Debug.Build.0 = Debug|Win32 14 {06F261C3-C666-43D8-9028-45AA74EEB221}.Release.ActiveCfg = Release|Win32 15 {06F261C3-C666-43D8-9028-45AA74EEB221}.Release.Build.0 = Release|Win32 16 EndGlobalSection 17 GlobalSection(ExtensibilityGlobals) = postSolution 18 EndGlobalSection 19 GlobalSection(ExtensibilityAddIns) = postSolution 23 GlobalSection(SolutionProperties) = preSolution 24 HideSolutionNode = FALSE 20 25 EndGlobalSection 21 26 EndGlobal -
SoTerrain/src/profiler/PrProfiler.cpp
r1 r6 1 1 /////////////////////////////////////////////////////////////////////////////// 2 // Profilovaci knihovna3 /////////////////////////////////////////////////////////////////////////////// 4 /// T rida profileru algoritmu2 // SoTerrain 3 /////////////////////////////////////////////////////////////////////////////// 4 /// Tøída profileru algoritmù 5 5 /// \file PrProfiler.cpp 6 6 /// \author Radek Bartoò - xbarto33 7 7 /// \date 26.06.2005 8 8 /// 9 /// Podrobnejsi popis 9 /// Tato statická tøída slouŸí pro mìøení doby strávené vykonáváním rùzných 10 /// èástí algoritmù. Lze ji pouŸít buï pøímo nebo za pomicí maker. 10 11 /////////////////////////////////////////////////////////////////////////////// 11 12 // … … 25 26 /////////////////////////////////////////////////////////////////////////////// 26 27 27 #include "PrProfiler.h"28 #include <profiler/PrProfiler.h> 28 29 29 30 /* Cas potrebny na zjisteni frekvence procesoru. */ … … 74 75 /* Inicializace statickych konstant. */ 75 76 const int PrProfiler::NULL_ID = -1; 76 const PrResult PrProfiler::NULL_RESULT ;77 const PrResult PrProfiler::NULL_RESULT = PrResult(); 77 78 78 79 void PrProfiler::initProfiler()
