1 |
// !$*UTF8*$! |
2 |
{ |
3 |
20286C28FDCF999611CA2CEA = { |
4 |
activeBuildStyle = 4A9504C5FFE6A39111CA0CBA; |
5 |
activeExecutable = 56D5A2260801EC9D00E8B24E; |
6 |
activeTarget = 56D5A2240801EC9D00E8B24E; |
7 |
addToTargets = ( |
8 |
56D5A2240801EC9D00E8B24E, |
9 |
); |
10 |
codeSenseManager = 56C43D4B0801D2A400D498C6; |
11 |
executables = ( |
12 |
56D5A2260801EC9D00E8B24E, |
13 |
); |
14 |
perUserDictionary = { |
15 |
PBXConfiguration.PBXFileTableDataSource3.PBXBookmarksDataSource = { |
16 |
PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; |
17 |
PBXFileTableDataSourceColumnSortingKey = PBXBookmarksDataSource_NameID; |
18 |
PBXFileTableDataSourceColumnWidthsKey = ( |
19 |
355.2085, |
20 |
338.5991, |
21 |
365.5835, |
22 |
); |
23 |
PBXFileTableDataSourceColumnsKey = ( |
24 |
PBXBookmarksDataSource_LocationID, |
25 |
PBXBookmarksDataSource_NameID, |
26 |
PBXBookmarksDataSource_CommentsID, |
27 |
); |
28 |
}; |
29 |
PBXConfiguration.PBXFileTableDataSource3.PBXErrorsWarningsDataSource = { |
30 |
PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; |
31 |
PBXFileTableDataSourceColumnSortingKey = PBXErrorsWarningsDataSource_LocationID; |
32 |
PBXFileTableDataSourceColumnWidthsKey = ( |
33 |
20, |
34 |
677.8799, |
35 |
361.2085, |
36 |
); |
37 |
PBXFileTableDataSourceColumnsKey = ( |
38 |
PBXErrorsWarningsDataSource_TypeID, |
39 |
PBXErrorsWarningsDataSource_MessageID, |
40 |
PBXErrorsWarningsDataSource_LocationID, |
41 |
); |
42 |
}; |
43 |
PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { |
44 |
PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; |
45 |
PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; |
46 |
PBXFileTableDataSourceColumnWidthsKey = ( |
47 |
22, |
48 |
580.7974, |
49 |
301.5835, |
50 |
); |
51 |
PBXFileTableDataSourceColumnsKey = ( |
52 |
PBXExecutablesDataSource_ActiveFlagID, |
53 |
PBXExecutablesDataSource_NameID, |
54 |
PBXExecutablesDataSource_CommentsID, |
55 |
); |
56 |
}; |
57 |
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { |
58 |
PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; |
59 |
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; |
60 |
PBXFileTableDataSourceColumnWidthsKey = ( |
61 |
20, |
62 |
762, |
63 |
20, |
64 |
135, |
65 |
43, |
66 |
43, |
67 |
20, |
68 |
); |
69 |
PBXFileTableDataSourceColumnsKey = ( |
70 |
PBXFileDataSource_FiletypeID, |
71 |
PBXFileDataSource_Filename_ColumnID, |
72 |
PBXFileDataSource_Built_ColumnID, |
73 |
PBXFileDataSource_ObjectSize_ColumnID, |
74 |
PBXFileDataSource_Errors_ColumnID, |
75 |
PBXFileDataSource_Warnings_ColumnID, |
76 |
PBXFileDataSource_Target_ColumnID, |
77 |
); |
78 |
}; |
79 |
PBXConfiguration.PBXFileTableDataSource3.PBXSymbolsDataSource = { |
80 |
PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; |
81 |
PBXFileTableDataSourceColumnSortingKey = PBXSymbolsDataSource_SymbolNameID; |
82 |
PBXFileTableDataSourceColumnWidthsKey = ( |
83 |
16, |
84 |
335.8008, |
85 |
363.0356, |
86 |
340.2085, |
87 |
); |
88 |
PBXFileTableDataSourceColumnsKey = ( |
89 |
PBXSymbolsDataSource_SymbolTypeIconID, |
90 |
PBXSymbolsDataSource_SymbolNameID, |
91 |
PBXSymbolsDataSource_SymbolTypeID, |
92 |
PBXSymbolsDataSource_ReferenceNameID, |
93 |
); |
94 |
}; |
95 |
PBXConfiguration.PBXFileTableDataSource3.XCSCMDataSource = { |
96 |
PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; |
97 |
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; |
98 |
PBXFileTableDataSourceColumnWidthsKey = ( |
99 |
20, |
100 |
20, |
101 |
757, |
102 |
20, |
103 |
116, |
104 |
43, |
105 |
43, |
106 |
20, |
107 |
); |
108 |
PBXFileTableDataSourceColumnsKey = ( |
109 |
PBXFileDataSource_SCM_ColumnID, |
110 |
PBXFileDataSource_FiletypeID, |
111 |
PBXFileDataSource_Filename_ColumnID, |
112 |
PBXFileDataSource_Built_ColumnID, |
113 |
PBXFileDataSource_ObjectSize_ColumnID, |
114 |
PBXFileDataSource_Errors_ColumnID, |
115 |
PBXFileDataSource_Warnings_ColumnID, |
116 |
PBXFileDataSource_Target_ColumnID, |
117 |
); |
118 |
}; |
119 |
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { |
120 |
PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; |
121 |
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; |
122 |
PBXFileTableDataSourceColumnWidthsKey = ( |
123 |
20, |
124 |
645, |
125 |
136, |
126 |
20, |
127 |
136, |
128 |
43, |
129 |
43, |
130 |
); |
131 |
PBXFileTableDataSourceColumnsKey = ( |
132 |
PBXFileDataSource_FiletypeID, |
133 |
PBXFileDataSource_Filename_ColumnID, |
134 |
PBXTargetDataSource_PrimaryAttribute, |
135 |
PBXFileDataSource_Built_ColumnID, |
136 |
PBXFileDataSource_ObjectSize_ColumnID, |
137 |
PBXFileDataSource_Errors_ColumnID, |
138 |
PBXFileDataSource_Warnings_ColumnID, |
139 |
); |
140 |
}; |
141 |
PBXPerProjectTemplateStateSaveDate = 134497436; |
142 |
PBXPrepackagedSmartGroups_v2 = ( |
143 |
{ |
144 |
PBXTransientLocationAtTop = bottom; |
145 |
absolutePathToBundle = ""; |
146 |
activationKey = OldTargetSmartGroup; |
147 |
clz = PBXTargetSmartGroup; |
148 |
description = "Displays all targets of the project."; |
149 |
globalID = 1C37FABC04509CD000000102; |
150 |
name = Targets; |
151 |
preferences = { |
152 |
image = Targets; |
153 |
}; |
154 |
}, |
155 |
{ |
156 |
PBXTransientLocationAtTop = bottom; |
157 |
absolutePathToBundle = ""; |
158 |
clz = PBXTargetSmartGroup2; |
159 |
description = "Displays all targets of the project as well as nested build phases."; |
160 |
globalID = 1C37FBAC04509CD000000102; |
161 |
name = Targets; |
162 |
preferences = { |
163 |
image = Targets; |
164 |
}; |
165 |
}, |
166 |
{ |
167 |
PBXTransientLocationAtTop = bottom; |
168 |
absolutePathToBundle = ""; |
169 |
clz = PBXExecutablesSmartGroup; |
170 |
description = "Displays all executables of the project."; |
171 |
globalID = 1C37FAAC04509CD000000102; |
172 |
name = Executables; |
173 |
preferences = { |
174 |
image = Executable; |
175 |
}; |
176 |
}, |
177 |
{ |
178 |
" PBXTransientLocationAtTop " = bottom; |
179 |
absolutePathToBundle = ""; |
180 |
clz = PBXErrorsWarningsSmartGroup; |
181 |
description = "Displays files with errors or warnings."; |
182 |
globalID = 1C08E77C0454961000C914BD; |
183 |
name = "Errors and Warnings"; |
184 |
preferences = { |
185 |
fnmatch = ""; |
186 |
image = WarningsErrors; |
187 |
recursive = 1; |
188 |
regex = ""; |
189 |
root = "<PROJECT>"; |
190 |
}; |
191 |
}, |
192 |
{ |
193 |
PBXTransientLocationAtTop = bottom; |
194 |
absolutePathToBundle = ""; |
195 |
clz = PBXFilenameSmartGroup; |
196 |
description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; |
197 |
globalID = 1CC0EA4004350EF90044410B; |
198 |
name = "Implementation Files"; |
199 |
preferences = { |
200 |
canSave = 1; |
201 |
fnmatch = ""; |
202 |
image = SmartFolder; |
203 |
isLeaf = 0; |
204 |
recursive = 1; |
205 |
regex = "?*\\.[mcMC]"; |
206 |
root = "<PROJECT>"; |
207 |
}; |
208 |
}, |
209 |
{ |
210 |
PBXTransientLocationAtTop = bottom; |
211 |
absolutePathToBundle = ""; |
212 |
clz = PBXFilenameSmartGroup; |
213 |
description = "This group displays Interface Builder NIB Files."; |
214 |
globalID = 1CC0EA4004350EF90041110B; |
215 |
name = "NIB Files"; |
216 |
preferences = { |
217 |
canSave = 1; |
218 |
fnmatch = "*.nib"; |
219 |
image = SmartFolder; |
220 |
isLeaf = 0; |
221 |
recursive = 1; |
222 |
regex = ""; |
223 |
root = "<PROJECT>"; |
224 |
}; |
225 |
}, |
226 |
{ |
227 |
PBXTransientLocationAtTop = no; |
228 |
absolutePathToBundle = ""; |
229 |
clz = PBXFindSmartGroup; |
230 |
description = "Displays Find Results."; |
231 |
globalID = 1C37FABC05509CD000000102; |
232 |
name = "Find Results"; |
233 |
preferences = { |
234 |
image = spyglass; |
235 |
}; |
236 |
}, |
237 |
{ |
238 |
PBXTransientLocationAtTop = no; |
239 |
absolutePathToBundle = ""; |
240 |
clz = PBXBookmarksSmartGroup; |
241 |
description = "Displays Project Bookmarks."; |
242 |
globalID = 1C37FABC05539CD112110102; |
243 |
name = Bookmarks; |
244 |
preferences = { |
245 |
image = Bookmarks; |
246 |
}; |
247 |
}, |
248 |
{ |
249 |
PBXTransientLocationAtTop = bottom; |
250 |
absolutePathToBundle = ""; |
251 |
clz = XCSCMSmartGroup; |
252 |
description = "Displays files with interesting SCM status."; |
253 |
globalID = E2644B35053B69B200211256; |
254 |
name = SCM; |
255 |
preferences = { |
256 |
image = PBXRepository; |
257 |
isLeaf = 0; |
258 |
}; |
259 |
}, |
260 |
{ |
261 |
PBXTransientLocationAtTop = bottom; |
262 |
absolutePathToBundle = ""; |
263 |
clz = PBXSymbolsSmartGroup; |
264 |
description = "Displays all symbols for the project."; |
265 |
globalID = 1C37FABC04509CD000100104; |
266 |
name = "Project Symbols"; |
267 |
preferences = { |
268 |
image = ProjectSymbols; |
269 |
isLeaf = 1; |
270 |
}; |
271 |
}, |
272 |
{ |
273 |
PBXTransientLocationAtTop = bottom; |
274 |
absolutePathToBundle = ""; |
275 |
clz = PBXFilenameSmartGroup; |
276 |
description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; |
277 |
globalID = PBXTemplateMarker; |
278 |
name = "Simple Filter SmartGroup"; |
279 |
preferences = { |
280 |
canSave = 1; |
281 |
fnmatch = "*.nib"; |
282 |
image = SmartFolder; |
283 |
isLeaf = 0; |
284 |
recursive = 1; |
285 |
regex = ""; |
286 |
root = "<PROJECT>"; |
287 |
}; |
288 |
}, |
289 |
{ |
290 |
PBXTransientLocationAtTop = bottom; |
291 |
absolutePathToBundle = ""; |
292 |
clz = PBXFilenameSmartGroup; |
293 |
description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter."; |
294 |
globalID = PBXTemplateMarker; |
295 |
name = "Simple Regular Expression SmartGroup"; |
296 |
preferences = { |
297 |
canSave = 1; |
298 |
fnmatch = ""; |
299 |
image = SmartFolder; |
300 |
isLeaf = 0; |
301 |
recursive = 1; |
302 |
regex = "?*\\.[mcMC]"; |
303 |
root = "<PROJECT>"; |
304 |
}; |
305 |
}, |
306 |
{ |
307 |
PBXTransientLocationAtTop = bottom; |
308 |
clz = XDDesignSmartGroup; |
309 |
description = "Displays Xdesign models"; |
310 |
globalID = 2E4A936305E6979E00701470; |
311 |
name = Design; |
312 |
preferences = { |
313 |
image = Design; |
314 |
isLeaf = 0; |
315 |
}; |
316 |
}, |
317 |
); |
318 |
PBXWorkspaceStateSaveDate = 134497436; |
319 |
}; |
320 |
perUserProjectItems = { |
321 |
560B34FE08044564006C82B0 = 560B34FE08044564006C82B0; |
322 |
5631F6990802F23E00EC184E = 5631F6990802F23E00EC184E; |
323 |
5631F69A0802F23E00EC184E = 5631F69A0802F23E00EC184E; |
324 |
5631F6AF0802F69500EC184E = 5631F6AF0802F69500EC184E; |
325 |
56D5A23B0801ED2D00E8B24E = 56D5A23B0801ED2D00E8B24E; |
326 |
56D5A2470801F15500E8B24E = 56D5A2470801F15500E8B24E; |
327 |
56D5A2580801FA8100E8B24E = 56D5A2580801FA8100E8B24E; |
328 |
56D5A25B0801FA8100E8B24E = 56D5A25B0801FA8100E8B24E; |
329 |
56D5A25C0801FA8100E8B24E = 56D5A25C0801FA8100E8B24E; |
330 |
56D5A25D0801FA8100E8B24E = 56D5A25D0801FA8100E8B24E; |
331 |
56D5A2600801FA8100E8B24E = 56D5A2600801FA8100E8B24E; |
332 |
56D5A2620801FA8100E8B24E = 56D5A2620801FA8100E8B24E; |
333 |
56D5A2630801FA8100E8B24E = 56D5A2630801FA8100E8B24E; |
334 |
56D5A26C0801FB1F00E8B24E = 56D5A26C0801FB1F00E8B24E; |
335 |
56D5A2700801FB1F00E8B24E = 56D5A2700801FB1F00E8B24E; |
336 |
56D5A2730801FCE000E8B24E = 56D5A2730801FCE000E8B24E; |
337 |
56D5A2760801FCE000E8B24E = 56D5A2760801FCE000E8B24E; |
338 |
56D5A2C1080208B900E8B24E = 56D5A2C1080208B900E8B24E; |
339 |
56D5A2C4080208B900E8B24E = 56D5A2C4080208B900E8B24E; |
340 |
56D5A2D0080209C800E8B24E = 56D5A2D0080209C800E8B24E; |
341 |
56EA695C0802F9E9009B3D49 = 56EA695C0802F9E9009B3D49; |
342 |
56EA695D0802F9E9009B3D49 = 56EA695D0802F9E9009B3D49; |
343 |
56EA69600802F9E9009B3D49 = 56EA69600802F9E9009B3D49; |
344 |
56EA69610802F9E9009B3D49 = 56EA69610802F9E9009B3D49; |
345 |
56EA697B080443E9009B3D49 = 56EA697B080443E9009B3D49; |
346 |
56EA69850804446A009B3D49 = 56EA69850804446A009B3D49; |
347 |
}; |
348 |
sourceControlManager = 56C43D4A0801D2A400D498C6; |
349 |
userBuildSettings = { |
350 |
}; |
351 |
}; |
352 |
560B34FE08044564006C82B0 = { |
353 |
fRef = 56D5A2540801F9BD00E8B24E; |
354 |
isa = PBXTextBookmark; |
355 |
name = "GeometryBuilder.cpp: 284"; |
356 |
rLen = 0; |
357 |
rLoc = 9480; |
358 |
rType = 0; |
359 |
vrLen = 1426; |
360 |
vrLoc = 8706; |
361 |
}; |
362 |
5631F6990802F23E00EC184E = { |
363 |
fRef = 56C43D650801D45600D498C6; |
364 |
isa = PBXTextBookmark; |
365 |
name = "Lattice.hpp: 1"; |
366 |
rLen = 0; |
367 |
rLoc = 0; |
368 |
rType = 0; |
369 |
vrLen = 2026; |
370 |
vrLoc = 446; |
371 |
}; |
372 |
5631F69A0802F23E00EC184E = { |
373 |
fRef = 56D5A2540801F9BD00E8B24E; |
374 |
isa = PBXTextBookmark; |
375 |
name = nanoRodPolyhedron; |
376 |
rLen = 17; |
377 |
rLoc = 3576; |
378 |
rType = 0; |
379 |
vrLen = 1462; |
380 |
vrLoc = 2440; |
381 |
}; |
382 |
5631F6AF0802F69500EC184E = { |
383 |
fRef = 56D5A2530801F9BD00E8B24E; |
384 |
isa = PBXTextBookmark; |
385 |
name = GeometryBuilder; |
386 |
rLen = 15; |
387 |
rLoc = 2464; |
388 |
rType = 0; |
389 |
vrLen = 1511; |
390 |
vrLoc = 1199; |
391 |
}; |
392 |
56C43D4A0801D2A400D498C6 = { |
393 |
fallbackIsa = XCSourceControlManager; |
394 |
isSCMEnabled = 1; |
395 |
isa = PBXSourceControlManager; |
396 |
scmConfiguration = { |
397 |
}; |
398 |
scmType = scm.cvs; |
399 |
}; |
400 |
56C43D4B0801D2A400D498C6 = { |
401 |
indexTemplatePath = ""; |
402 |
isa = PBXCodeSenseManager; |
403 |
usesDefaults = 1; |
404 |
wantsCodeCompletion = 1; |
405 |
wantsCodeCompletionAutoSuggestions = 1; |
406 |
wantsCodeCompletionCaseSensitivity = 1; |
407 |
wantsCodeCompletionListAlways = 1; |
408 |
wantsCodeCompletionOnlyMatchingItems = 1; |
409 |
wantsCodeCompletionParametersIncluded = 1; |
410 |
wantsCodeCompletionPlaceholdersInserted = 1; |
411 |
wantsCodeCompletionTabCompletes = 1; |
412 |
wantsIndex = 1; |
413 |
}; |
414 |
56C43D620801D45600D498C6 = { |
415 |
uiCtxt = { |
416 |
sepNavIntBoundsRect = "{{0, 0}, {886, 826}}"; |
417 |
sepNavSelRange = "{1, 2074}"; |
418 |
sepNavVisRect = "{{0, 324}, {886, 502}}"; |
419 |
}; |
420 |
}; |
421 |
56C43D630801D45600D498C6 = { |
422 |
uiCtxt = { |
423 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 1386}}"; |
424 |
sepNavSelRange = "{2077, 1258}"; |
425 |
sepNavVisRect = "{{0, 882}, {1041, 383}}"; |
426 |
}; |
427 |
}; |
428 |
56C43D640801D45600D498C6 = { |
429 |
uiCtxt = { |
430 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 1960}}"; |
431 |
sepNavSelRange = "{4403, 0}"; |
432 |
sepNavVisRect = "{{0, 476}, {1041, 230}}"; |
433 |
}; |
434 |
}; |
435 |
56C43D650801D45600D498C6 = { |
436 |
uiCtxt = { |
437 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 1120}}"; |
438 |
sepNavSelRange = "{0, 0}"; |
439 |
sepNavVisRect = "{{0, 140}, {1041, 594}}"; |
440 |
}; |
441 |
}; |
442 |
56C43D670801D45600D498C6 = { |
443 |
uiCtxt = { |
444 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 994}}"; |
445 |
sepNavSelRange = "{0, 0}"; |
446 |
sepNavVisRect = "{{0, 0}, {1041, 595}}"; |
447 |
}; |
448 |
}; |
449 |
56C43D690801D45600D498C6 = { |
450 |
uiCtxt = { |
451 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 1050}}"; |
452 |
sepNavSelRange = "{2077, 669}"; |
453 |
sepNavVisRect = "{{0, 574}, {1041, 383}}"; |
454 |
}; |
455 |
}; |
456 |
56C43D6A0801D45600D498C6 = { |
457 |
uiCtxt = { |
458 |
sepNavIntBoundsRect = "{{0, 0}, {762, 2996}}"; |
459 |
sepNavSelRange = "{0, 0}"; |
460 |
sepNavVisRect = "{{0, 0}, {705, 428}}"; |
461 |
sepNavWindowFrame = "{{38, 248}, {750, 558}}"; |
462 |
}; |
463 |
}; |
464 |
56C43D6E0801D45600D498C6 = { |
465 |
uiCtxt = { |
466 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 4130}}"; |
467 |
sepNavSelRange = "{5908, 0}"; |
468 |
sepNavVisRect = "{{0, 2149}, {1041, 595}}"; |
469 |
sepNavWindowFrame = "{{84, 206}, {750, 558}}"; |
470 |
}; |
471 |
}; |
472 |
56C43D800801D4F200D498C6 = { |
473 |
uiCtxt = { |
474 |
sepNavIntBoundsRect = "{{0, 0}, {1238, 4942}}"; |
475 |
sepNavSelRange = "{0, 0}"; |
476 |
sepNavVisRect = "{{0, 238}, {1041, 383}}"; |
477 |
}; |
478 |
}; |
479 |
56C43D810801D4F200D498C6 = { |
480 |
uiCtxt = { |
481 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 840}}"; |
482 |
sepNavSelRange = "{0, 0}"; |
483 |
sepNavVisRect = "{{0, 0}, {1041, 595}}"; |
484 |
}; |
485 |
}; |
486 |
56D5A2240801EC9D00E8B24E = { |
487 |
activeExec = 0; |
488 |
executables = ( |
489 |
56D5A2260801EC9D00E8B24E, |
490 |
); |
491 |
}; |
492 |
56D5A2260801EC9D00E8B24E = { |
493 |
activeArgIndex = 2147483647; |
494 |
activeArgIndices = ( |
495 |
); |
496 |
argumentStrings = ( |
497 |
); |
498 |
configStateDict = { |
499 |
}; |
500 |
cppStopOnCatchEnabled = 0; |
501 |
cppStopOnThrowEnabled = 0; |
502 |
customDataFormattersEnabled = 1; |
503 |
debuggerPlugin = GDBDebugging; |
504 |
disassemblyDisplayState = 0; |
505 |
enableDebugStr = 1; |
506 |
environmentEntries = ( |
507 |
); |
508 |
isa = PBXExecutable; |
509 |
libgmallocEnabled = 0; |
510 |
name = nanorodBuilder; |
511 |
shlibInfoDictList = ( |
512 |
); |
513 |
sourceDirectories = ( |
514 |
); |
515 |
}; |
516 |
56D5A23B0801ED2D00E8B24E = { |
517 |
fRef = 56C43D6E0801D45600D498C6; |
518 |
isa = PBXTextBookmark; |
519 |
name = "nanorodBuilder.cpp: 1"; |
520 |
rLen = 0; |
521 |
rLoc = 0; |
522 |
rType = 0; |
523 |
vrLen = 151; |
524 |
vrLoc = 2071; |
525 |
}; |
526 |
56D5A2460801F15500E8B24E = { |
527 |
isa = PBXFileReference; |
528 |
lastKnownFileType = sourcecode.cpp.cpp; |
529 |
name = nanoBuilder.cpp; |
530 |
path = /Users/charles/Code/nanorodBuilder/nanoBuilder.cpp; |
531 |
refType = 0; |
532 |
sourceTree = "<absolute>"; |
533 |
}; |
534 |
56D5A2470801F15500E8B24E = { |
535 |
fRef = 56C43D800801D4F200D498C6; |
536 |
isa = PBXTextBookmark; |
537 |
name = "nanorodBuilderCmd.c: 1"; |
538 |
rLen = 0; |
539 |
rLoc = 0; |
540 |
rType = 0; |
541 |
vrLen = 247; |
542 |
vrLoc = 808; |
543 |
}; |
544 |
56D5A2530801F9BD00E8B24E = { |
545 |
uiCtxt = { |
546 |
sepNavIntBoundsRect = "{{0, 0}, {1041, 994}}"; |
547 |
sepNavSelRange = "{2464, 15}"; |
548 |
sepNavVisRect = "{{0, 386}, {1041, 594}}"; |
549 |
}; |
550 |
}; |
551 |
56D5A2540801F9BD00E8B24E = { |
552 |
uiCtxt = { |
553 |
sepNavIntBoundsRect = "{{0, 0}, {1203, 4214}}"; |
554 |
sepNavSelRange = "{9480, 0}"; |
555 |
sepNavVisRect = "{{0, 3584}, {1041, 595}}"; |
556 |
sepNavWindowFrame = "{{38, 248}, {750, 558}}"; |
557 |
}; |
558 |
}; |
559 |
56D5A2580801FA8100E8B24E = { |
560 |
fRef = 56D5A2460801F15500E8B24E; |
561 |
isa = PBXTextBookmark; |
562 |
name = "nanoBuilder.cpp: 1"; |
563 |
rLen = 0; |
564 |
rLoc = 0; |
565 |
rType = 0; |
566 |
vrLen = 810; |
567 |
vrLoc = 1986; |
568 |
}; |
569 |
56D5A25B0801FA8100E8B24E = { |
570 |
fRef = 56C43D620801D45600D498C6; |
571 |
isa = PBXTextBookmark; |
572 |
name = "/*\n * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.\n *\n * The University of Notre Dame grants you (\"Licensee\") a\n * non-exclusive, royalty free, license to use, modify and\n * redistribute this software in source and binary code form, provided\n * that the following conditions are met:\n *\n * 1. Acknowledgement of the program authors must be made in any\n * publication of scientific results based in part on use of the\n * program. An acceptable form of acknowledgement is citation of\n * the article in which the program was described (Matthew\n * A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher\n * J. Fennell and J. Daniel Gezelter, \"OOPSE: An Object-Oriented\n * Parallel Simulation Engine for Molecular Dynamics,\"\n * J. Comput. Chem. 26, pp. 252-271 (2005))\n *\n * 2. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n *\n * 3. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the\n * distribution.\n *\n * This software is provided \"AS IS,\" without a warranty of any\n * kind. All express or implied conditions, representations and\n * warranties, including any implied warranty of merchantability,\n * fitness for a particular purpose or non-infringement, are hereby\n * excluded. The University of Notre Dame and its licensors shall not\n * be liable for any damages suffered by licensee as a result of\n * using, modifying or distributing the software or its\n * derivatives. In no event will the University of Notre Dame or its\n * licensors be liable for any lost revenue, profit or data, or for\n * direct, indirect, special, consequential, incidental or punitive\n * damages, however caused and regardless of the theory of liability,\n * arising out of the use of or inability to use software, even if the\n * University of Notre Dame has been advised of the possibility of\n * such damages.\n */\n"; |
573 |
rLen = 2074; |
574 |
rLoc = 1; |
575 |
rType = 0; |
576 |
vrLen = 1495; |
577 |
vrLoc = 1164; |
578 |
}; |
579 |
56D5A25C0801FA8100E8B24E = { |
580 |
fRef = 56C43D800801D4F200D498C6; |
581 |
isa = PBXTextBookmark; |
582 |
name = "nanorodBuilderCmd.c: 1"; |
583 |
rLen = 0; |
584 |
rLoc = 0; |
585 |
rType = 0; |
586 |
vrLen = 935; |
587 |
vrLoc = 417; |
588 |
}; |
589 |
56D5A25D0801FA8100E8B24E = { |
590 |
fRef = 56D5A25E0801FA8100E8B24E; |
591 |
isa = PBXTextBookmark; |
592 |
name = "#include <CGAL/Simple_cartesian.h>\n#include <CGAL/Polyhedron_incremental_builder_3.h>\n#include <CGAL/Polyhedron_3.h>\n#include <CGAL/Homogeneous.h>\n#include <CGAL/Polyhedron_traits_with_normals_3.h>\n#include <CGAL/Polyhedron_3.h>\n#include <CGAL/Aff_transformation_3.h>\n#include <CGAL/aff_transformation_tags.h>\n#include <iostream>\n#include <algorithm>\n\n\n\n\n\n//typedef CGAL::Homogeneous<int> Kernel;\ntypedef CGAL::Simple_cartesian<double> Kernel;\n//typedef CGAL::Polyhedron_3<Kernel> Polyhedron;\n\ntypedef Kernel::Point_3 Point_3;\ntypedef Kernel::Vector_3 Vector_3;\ntypedef CGAL::Polyhedron_traits_with_normals_3<Kernel> Traits;\n//typedef CGAL::Polyhedron_3<Kernel> Polyhedron;\ntypedef CGAL::Polyhedron_3<Traits> Polyhedron;\ntypedef Polyhedron::HalfedgeDS HalfedgeDS;\ntypedef Polyhedron::Facet_iterator Facet_iterator;\ntypedef Polyhedron::Halfedge_around_facet_circulator Halfedge_facet_circulator;\ntypedef Polyhedron::Facet_iterator Facet_iterator;\ntypedef Polyhedron::Plane_iterator Plane_iterator;\ntypedef Polyhedron::Vertex_handle Vertex_handle;\n//typedef CGAL::Scaling Scaling;\n//typedef Aff_transformation_3<Kernel> A;( const Scaling,\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKernel::RT s=RT(20),\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKernel::RT hw = RT(1));\n\n// A modifier creating a triangle with the incremental builder.\ntemplate <class HDS>\nclass Build_nanorod : public CGAL::Modifier_base<HDS> {\npublic:\n Vertex_handle end1;\n Vertex_handle neight1;\n\t\tVertex_handle end2;\n Vertex_handle neight2;\n \n Build_nanorod() {}\n void operator()( HDS& hds) {\n // Postcondition: `hds' is a valid polyhedral surface.\n CGAL::Polyhedron_incremental_builder_3<HDS> B( hds, true);\n B.begin_surface( 12, 15, 6);\n typedef typename HDS::Vertex Vertex;\n typedef typename Vertex::Point Point;\n \n \n \n \n \n B.add_vertex( Point(-0.7887222926324, 0.4874571845315, -0.2562714077342));\n B.add_vertex( Point(-0.4874571845316, 0.4874571845315, 0.6709272557930));\n B.add_vertex( Point(-0.7887222926324, -0.4874571845315, -0.2562714077342)); //End vertex\n end1 = B.add_vertex( Point( 0.0000000000000, 1.0000000000000, 0.0000000000000));\n B.add_vertex( Point(-0.4874571845315, -0.4874571845316, 0.6709272557930));\n neight1 = B.add_vertex( Point(-0.0000000000000, 0.4874571845316, -0.8293116961175));\n B.add_vertex( Point( 0.0000000000000, -0.4874571845316, -0.8293116961175));\n B.add_vertex( Point( 0.4874571845315, 0.4874571845316, 0.6709272557930));\n end2 = B.add_vertex( Point(-0.0000000000000, -1.0000000000000, 0.0000000000000)); //End Vertex\n B.add_vertex( Point( 0.7887222926324, 0.4874571845315, -0.2562714077342));\n neight2 = B.add_vertex( Point( 0.4874571845316, -0.4874571845315, 0.6709272557930));\n B.add_vertex( Point( 0.7887222926324, -0.4874571845315, -0.2562714077342));\n \n B.begin_facet();\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 9);\n B.add_vertex_to_facet( 11);\n B.add_vertex_to_facet( 10);\n B.end_facet();\n\t\t\t\t\n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 10);\n B.add_vertex_to_facet( 11);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 9);\n B.add_vertex_to_facet( 7);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 9);\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 6);\n B.add_vertex_to_facet( 11);\n B.end_facet();\n\t\t\t\t\n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 11);\n B.add_vertex_to_facet( 6);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 9);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 2);\n B.add_vertex_to_facet( 6);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 6);\n B.add_vertex_to_facet( 2);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 5);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 1);\n B.add_vertex_to_facet( 4);\n B.add_vertex_to_facet( 2);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 2);\n B.add_vertex_to_facet( 4);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 1);\n B.add_vertex_to_facet( 0);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 1);\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 10);\n B.add_vertex_to_facet( 4);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 4);\n B.add_vertex_to_facet( 10);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 1);\n B.end_facet();\n \n\t\t\t\t\n B.end_surface();\n }\n};\n\n\n\n// A modifier creating a triangle with the incremental builder.\ntemplate <class HDS>\nclass BuildNanorodInterior : public CGAL::Modifier_base<HDS> {\npublic:\n Vertex_handle end1;\n Vertex_handle neight1;\n Vertex_handle end2;\n Vertex_handle neight2;\n \n BuildNanorodInterior() {}\n void operator()( HDS& hds) {\n // Postcondition: `hds' is a valid polyhedral surface.\n CGAL::Polyhedron_incremental_builder_3<HDS> B( hds, true);\n B.begin_surface( 12, 15, 6);\n typedef typename HDS::Vertex Vertex;\n typedef typename Vertex::Point Point;\n \n /*\n \n B.add_vertex( Point(-0.7887222926324, -0.4874571845315, -0.2562714077342)); //1\n B.add_vertex( Point(-0.7887222926324, 0.4874571845315, -0.2562714077342)); //1\n B.add_vertex( Point(-0.4874571845315, -0.4874571845316, 0.6709272557930)); //2\n B.add_vertex( Point(-0.4874571845316, 0.4874571845315, 0.6709272557930));\n end2 = B.add_vertex( Point(-0.0000000000000, -1.0000000000000, 0.0000000000000)); //End Vertex\n B.add_vertex( Point( 0.0000000000000, -0.4874571845316, -0.8293116961175));\n neight1 = B.add_vertex( Point(-0.0000000000000, 0.4874571845316, -0.8293116961175));\n end1 = B.add_vertex( Point( 0.0000000000000, 1.0000000000000, 0.0000000000000)); //End vertex\n neight2 = B.add_vertex( Point( 0.4874571845316, -0.4874571845315, 0.6709272557930));\n B.add_vertex( Point( 0.4874571845315, 0.4874571845316, 0.6709272557930));\n B.add_vertex( Point( 0.7887222926324, -0.4874571845315, -0.2562714077342));\n B.add_vertex( Point( 0.7887222926324, 0.4874571845315, -0.2562714077342));\n */\n \n B.add_vertex( Point(-0.7887222926324, 0.4874571845315, -0.2562714077342));\n B.add_vertex( Point(-0.4874571845316, 0.4874571845315, 0.6709272557930));\n B.add_vertex( Point(-0.7887222926324, -0.4874571845315, -0.2562714077342)); //End vertex\n end1 = B.add_vertex( Point( 0.0000000000000, 1.0000000000000, 0.0000000000000));\n B.add_vertex( Point(-0.4874571845315, -0.4874571845316, 0.6709272557930));\n neight1 = B.add_vertex( Point(-0.0000000000000, 0.4874571845316, -0.8293116961175));\n B.add_vertex( Point( 0.0000000000000, -0.4874571845316, -0.8293116961175));\n B.add_vertex( Point( 0.4874571845315, 0.4874571845316, 0.6709272557930));\n end2 = B.add_vertex( Point(-0.0000000000000, -1.0000000000000, 0.0000000000000)); //End Vertex\n B.add_vertex( Point( 0.7887222926324, 0.4874571845315, -0.2562714077342));\n neight2 = B.add_vertex( Point( 0.4874571845316, -0.4874571845315, 0.6709272557930));\n B.add_vertex( Point( 0.7887222926324, -0.4874571845315, -0.2562714077342));\n \n // Start internal Structure\n /*\n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 2);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 2);\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 6);\n B.end_facet();\n \n \n B.begin_facet();\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 6);\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 4);\n B.end_facet();\n\t\t\t\t\n B.begin_facet();\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 9);\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 4);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 11);\n B.add_vertex_to_facet( 10);\n B.add_vertex_to_facet( 4);\n B.end_facet();\n \n */\n \n \n B.begin_facet();\n B.add_vertex_to_facet( 10);\n B.add_vertex_to_facet( 11);\n B.add_vertex_to_facet( 9);\n B.add_vertex_to_facet( 7);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 10);\n B.add_vertex_to_facet( 11);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 9);\n B.add_vertex_to_facet( 7);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 9);\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 6);\n B.add_vertex_to_facet( 11);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 11);\n B.add_vertex_to_facet( 6);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 9);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 5);\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 2);\n B.add_vertex_to_facet( 6);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 6);\n B.add_vertex_to_facet( 2);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 5);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 0);\n B.add_vertex_to_facet( 1);\n B.add_vertex_to_facet( 4);\n B.add_vertex_to_facet( 2);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 2);\n B.add_vertex_to_facet( 4);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 1);\n B.add_vertex_to_facet( 0);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 1);\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 10);\n B.add_vertex_to_facet( 4);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 8);\n B.add_vertex_to_facet( 4);\n B.add_vertex_to_facet( 10);\n B.end_facet();\n \n B.begin_facet();\n B.add_vertex_to_facet( 3);\n B.add_vertex_to_facet( 7);\n B.add_vertex_to_facet( 1);\n B.end_facet();\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n B.end_surface();\n }\n};\n\n\n\n\n\n\n\nstruct Normal_vector {\n template <class Facet>\n typename Facet::Plane_3 operator()( Facet& f) {\n typename Facet::Halfedge_handle h = f.halfedge();\n // Facet::Plane_3 is the normal vector type. We assume the\n // CGAL Kernel here and use its global functions.\n return CGAL::cross_product( \n\t\t\t h->next()->vertex()->point() - h->vertex()->point(),\n\t\t\t h->next()->next()->vertex()->point() - h->next()->vertex()->point());\n }\n};\n\n\nbool isInsidePolyhedron(Polyhedron& p,Point_3 point) {\n Plane_iterator i;\n Facet_iterator j;\n for ( i =p.planes_begin(), j = p.facets_begin(); i != p.planes_end() && j !=p.facets_end(); ++i, ++j) {\n Halfedge_facet_circulator k = j->facet_begin();\n \n Vector_3 newVector = point - k->vertex()->point();\n Vector_3 normal = *i;\t\t\n double dot_product = newVector.x() * normal.x() + newVector.y() * normal.y() + newVector.z() * normal.z();\n \n if (dot_product < 0) {\n return false;\t\n }\n }\n \n return true;\n}\n\n\nint main() {\n Polyhedron P;\n //Build_nanorod<HalfedgeDS> nanorod;\n BuildNanorodInterior <HalfedgeDS> nanorod;\n P.delegate( nanorod);\n //CGAL_assertion( P.is_triangle( P.halfedges_begin()));\n \n /*\tAff_transformation_3<kernel> A( const Scaling,\n Kernel::RT s=RT(20),\n Kernel::RT hw = RT(1));\n */\t\n \n // Compute affine transform to scale to the correct length\n /*\n CGAL::Scaling temp;\n //\tCGAL::Aff_transformation_3<Kernel> aff_tranformation(temp,20);\n /*\tCGAL::Aff_transformation_3<Kernel> aff_tranformation( 1.0,\n 0,\n 0,\n 0,\n 0,\n 20,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1);*/\n /*\n double y1 = nanorod.end1->point().y() - nanorod.neight1->point().y();\n double y2 = nanorod.end2->point().y() - nanorod.neight2->point().y();\n \n CGAL::Aff_transformation_3<Kernel> aff_tranformation( 1.0,\n 0.0,\n 0.0,\n 0.0,\n 0.0,\n 4.0,\n 0.0,\n 0.0,\n 0.0,\n 0.0,\n 1.0,\n 0.0);\t\n std::transform( P.points_begin(), P.points_end(), P.points_begin(), aff_tranformation);\n \n Point_3 point1(nanorod.end1->point().x(), y1 + nanorod.neight1->point().y(), nanorod.end1->point().z());\n Point_3 point2(nanorod.end2->point().x(), y2+ nanorod.neight2->point().y(), nanorod.end2->point().z());\n nanorod.end1->point() = point1;\n nanorod.end2->point() = point2;\n \n \n std::transform( P.facets_begin(), P.facets_end(), P.planes_begin(),\n Normal_vector());\n Point_3 mypoint(0, 0, 0);\n */\n //std::cout << \"mypoint is inside polyhedron: \" << isInsidePolyhedron(P, mypoint) << std::endl;\n // Write polyhedron in Object File Format (OFF).\n CGAL::set_ascii_mode( std::cout);\n std::cout << \"OFF\" << std::endl << P.size_of_vertices() << ' ' \n\t << P.size_of_facets() << \" 0\" << std::endl;\n std::copy( P.points_begin(), P.points_end(),\n std::ostream_iterator<Point_3>( std::cout, \"\\n\"));\n for ( Facet_iterator i = P.facets_begin(); i != P.facets_end(); ++i) {\n Halfedge_facet_circulator j = i->facet_begin();\n // Facets in polyhedral surfaces are at least triangles.\n CGAL_assertion( CGAL::circulator_size(j) >= 3);\n std::cout << CGAL::circulator_size(j) << ' ';\n do {\n std::cout << ' ' << std::distance(P.vertices_begin(), j->vertex());\n } while ( ++j != i->facet_begin());\n std::cout << std::endl;\n }\n \n //\tCGAL::set_pretty_mode( std::cout);\n //\tstd::copy( P.planes_begin(), P.planes_end(),\n //\t\t\t\t\t\t std::ostream_iterator<Vector_3>( std::cout, \"\\n\"));\n\t\n return 0;\n\t\n}\n"; |
593 |
rLen = 14717; |
594 |
rLoc = 96; |
595 |
rType = 0; |
596 |
vrLen = 1349; |
597 |
vrLoc = 13465; |
598 |
}; |
599 |
56D5A25E0801FA8100E8B24E = { |
600 |
isa = PBXFileReference; |
601 |
lastKnownFileType = sourcecode.cpp.cpp; |
602 |
name = polyhedron_prog_simple.C; |
603 |
path = /Users/charles/Code/nanorod_builder/polyhedron_prog_simple.C; |
604 |
refType = 0; |
605 |
sourceTree = "<absolute>"; |
606 |
}; |
607 |
56D5A2600801FA8100E8B24E = { |
608 |
fRef = 56D5A2460801F15500E8B24E; |
609 |
isa = PBXTextBookmark; |
610 |
name = "nanoBuilder.cpp: 1"; |
611 |
rLen = 0; |
612 |
rLoc = 0; |
613 |
rType = 0; |
614 |
vrLen = 810; |
615 |
vrLoc = 1986; |
616 |
}; |
617 |
56D5A2620801FA8100E8B24E = { |
618 |
fRef = 56D5A2530801F9BD00E8B24E; |
619 |
isa = PBXTextBookmark; |
620 |
name = "GeometryBuilder.h: 1"; |
621 |
rLen = 0; |
622 |
rLoc = 0; |
623 |
rType = 0; |
624 |
vrLen = 195; |
625 |
vrLoc = 0; |
626 |
}; |
627 |
56D5A2630801FA8100E8B24E = { |
628 |
fRef = 56C43D620801D45600D498C6; |
629 |
isa = PBXTextBookmark; |
630 |
name = "/*\n * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.\n *\n * The University of Notre Dame grants you (\"Licensee\") a\n * non-exclusive, royalty free, license to use, modify and\n * redistribute this software in source and binary code form, provided\n * that the following conditions are met:\n *\n * 1. Acknowledgement of the program authors must be made in any\n * publication of scientific results based in part on use of the\n * program. An acceptable form of acknowledgement is citation of\n * the article in which the program was described (Matthew\n * A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher\n * J. Fennell and J. Daniel Gezelter, \"OOPSE: An Object-Oriented\n * Parallel Simulation Engine for Molecular Dynamics,\"\n * J. Comput. Chem. 26, pp. 252-271 (2005))\n *\n * 2. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n *\n * 3. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the\n * distribution.\n *\n * This software is provided \"AS IS,\" without a warranty of any\n * kind. All express or implied conditions, representations and\n * warranties, including any implied warranty of merchantability,\n * fitness for a particular purpose or non-infringement, are hereby\n * excluded. The University of Notre Dame and its licensors shall not\n * be liable for any damages suffered by licensee as a result of\n * using, modifying or distributing the software or its\n * derivatives. In no event will the University of Notre Dame or its\n * licensors be liable for any lost revenue, profit or data, or for\n * direct, indirect, special, consequential, incidental or punitive\n * damages, however caused and regardless of the theory of liability,\n * arising out of the use of or inability to use software, even if the\n * University of Notre Dame has been advised of the possibility of\n * such damages.\n */\n"; |
631 |
rLen = 2074; |
632 |
rLoc = 1; |
633 |
rType = 0; |
634 |
vrLen = 1495; |
635 |
vrLoc = 1164; |
636 |
}; |
637 |
56D5A26C0801FB1F00E8B24E = { |
638 |
fRef = 56C43D690801D45600D498C6; |
639 |
isa = PBXTextBookmark; |
640 |
name = "#ifndef APPLICATIONS_SIMPLEBUILDER_LATTICEFACTORY_HPP\n#define APPLICATIONS_SIMPLEBUILDER_LATTICEFACTORY_HPP\n#include <map>\n#include <string>\n\nnamespace oopse {\n\nclass BaseLatticeCreator;\nclass BaseLattice;\n\nclass LatticeFactory{\npublic:\n\t~LatticeFactory();\n\n\tstatic LatticeFactory* getInstance();\n\n\tbool registerCreator( BaseLatticeCreator* latCreator );\n\n\n bool hasLatticeCreator( const std::string& latticeType );\n\n const std::string toString();\n\n BaseLattice* createLattice( const std::string& latticeType );\n \nprivate:\n\tLatticeFactory(){}\n static LatticeFactory* instance;\n std::map<std::string, BaseLatticeCreator*> creatorMap;\n};\n\n}\n#endif \n"; |
641 |
rLen = 669; |
642 |
rLoc = 2077; |
643 |
rType = 0; |
644 |
vrLen = 675; |
645 |
vrLoc = 2071; |
646 |
}; |
647 |
56D5A2700801FB1F00E8B24E = { |
648 |
fRef = 56C43D690801D45600D498C6; |
649 |
isa = PBXTextBookmark; |
650 |
name = "#ifndef APPLICATIONS_SIMPLEBUILDER_LATTICEFACTORY_HPP\n#define APPLICATIONS_SIMPLEBUILDER_LATTICEFACTORY_HPP\n#include <map>\n#include <string>\n\nnamespace oopse {\n\nclass BaseLatticeCreator;\nclass BaseLattice;\n\nclass LatticeFactory{\npublic:\n\t~LatticeFactory();\n\n\tstatic LatticeFactory* getInstance();\n\n\tbool registerCreator( BaseLatticeCreator* latCreator );\n\n\n bool hasLatticeCreator( const std::string& latticeType );\n\n const std::string toString();\n\n BaseLattice* createLattice( const std::string& latticeType );\n \nprivate:\n\tLatticeFactory(){}\n static LatticeFactory* instance;\n std::map<std::string, BaseLatticeCreator*> creatorMap;\n};\n\n}\n#endif \n"; |
651 |
rLen = 669; |
652 |
rLoc = 2077; |
653 |
rType = 0; |
654 |
vrLen = 675; |
655 |
vrLoc = 2071; |
656 |
}; |
657 |
56D5A2730801FCE000E8B24E = { |
658 |
fRef = 56C43D630801D45600D498C6; |
659 |
isa = PBXTextBookmark; |
660 |
name = "#ifndef APPLICATIONS_SIMPLEBUILDER_BASELATTICE_HPP\n#define APPLICATIONS_SIMPLEBUILDER_BASELATTICE_HPP\n\n#include <vector>\n#include \"math/Vector3.hpp\"\n\nnamespace oopse {\n\nclass BaseLattice{\n protected:\n BaseLattice(){\n \n setOrigin(V3Zero);\n }\n \n public:\n\n //virtual destructor of BaseLattice\n virtual ~BaseLattice() {}\n\n //get lattice type\n virtual const std::string getLatticeType() = 0;\n \n int getNumSitesPerCell() {return nCellSites;}\n\n void getLatticePointsPos(std::vector<Vector3d>& latticePos, int nx, int ny, int nz);\n\n std::vector<Vector3d> getLatticePointsOrt() {return cellSitesOrt;}\n \n //get lattice constant of unit cell\n virtual std::vector<double> getLatticeConstant() =0;\n\n //set lattice constant of unit cell\n virtual void setLatticeConstant(const std::vector<double>& lc)=0;\n\n //get origin of unit cell\n Vector3d getOrigin( ) {return origin;} \n\n //set origin of unit cell\n void setOrigin(const Vector3d& newOrigin){\n this->origin = newOrigin;\n }\n\n protected:\n virtual void update() =0;\n \n int nCellSites;\n Vector3d origin; \n std::vector<Vector3d> cellSitesPos;\n std::vector<Vector3d> cellSitesOrt;\n Vector3d cellLen;\n};\n\n\n}\n\n#endif\n"; |
661 |
rLen = 1258; |
662 |
rLoc = 2077; |
663 |
rType = 0; |
664 |
vrLen = 837; |
665 |
vrLoc = 2498; |
666 |
}; |
667 |
56D5A2760801FCE000E8B24E = { |
668 |
fRef = 56C43D630801D45600D498C6; |
669 |
isa = PBXTextBookmark; |
670 |
name = "#ifndef APPLICATIONS_SIMPLEBUILDER_BASELATTICE_HPP\n#define APPLICATIONS_SIMPLEBUILDER_BASELATTICE_HPP\n\n#include <vector>\n#include \"math/Vector3.hpp\"\n\nnamespace oopse {\n\nclass BaseLattice{\n protected:\n BaseLattice(){\n \n setOrigin(V3Zero);\n }\n \n public:\n\n //virtual destructor of BaseLattice\n virtual ~BaseLattice() {}\n\n //get lattice type\n virtual const std::string getLatticeType() = 0;\n \n int getNumSitesPerCell() {return nCellSites;}\n\n void getLatticePointsPos(std::vector<Vector3d>& latticePos, int nx, int ny, int nz);\n\n std::vector<Vector3d> getLatticePointsOrt() {return cellSitesOrt;}\n \n //get lattice constant of unit cell\n virtual std::vector<double> getLatticeConstant() =0;\n\n //set lattice constant of unit cell\n virtual void setLatticeConstant(const std::vector<double>& lc)=0;\n\n //get origin of unit cell\n Vector3d getOrigin( ) {return origin;} \n\n //set origin of unit cell\n void setOrigin(const Vector3d& newOrigin){\n this->origin = newOrigin;\n }\n\n protected:\n virtual void update() =0;\n \n int nCellSites;\n Vector3d origin; \n std::vector<Vector3d> cellSitesPos;\n std::vector<Vector3d> cellSitesOrt;\n Vector3d cellLen;\n};\n\n\n}\n\n#endif\n"; |
671 |
rLen = 1258; |
672 |
rLoc = 2077; |
673 |
rType = 0; |
674 |
vrLen = 837; |
675 |
vrLoc = 2498; |
676 |
}; |
677 |
56D5A2C1080208B900E8B24E = { |
678 |
fRef = 56C43D640801D45600D498C6; |
679 |
isa = PBXTextBookmark; |
680 |
name = "Lattice.cpp: 137"; |
681 |
rLen = 0; |
682 |
rLoc = 4403; |
683 |
rType = 0; |
684 |
vrLen = 639; |
685 |
vrLoc = 1778; |
686 |
}; |
687 |
56D5A2C4080208B900E8B24E = { |
688 |
fRef = 56C43D640801D45600D498C6; |
689 |
isa = PBXTextBookmark; |
690 |
name = "Lattice.cpp: 137"; |
691 |
rLen = 0; |
692 |
rLoc = 4403; |
693 |
rType = 0; |
694 |
vrLen = 639; |
695 |
vrLoc = 1778; |
696 |
}; |
697 |
56D5A2D0080209C800E8B24E = { |
698 |
fRef = 56C43D650801D45600D498C6; |
699 |
isa = PBXTextBookmark; |
700 |
name = "Lattice.hpp: 1"; |
701 |
rLen = 0; |
702 |
rLoc = 0; |
703 |
rType = 0; |
704 |
vrLen = 302; |
705 |
vrLoc = 2694; |
706 |
}; |
707 |
56EA695C0802F9E9009B3D49 = { |
708 |
fRef = 56C43D670801D45600D498C6; |
709 |
isa = PBXTextBookmark; |
710 |
name = "LatticeCreator.hpp: 1"; |
711 |
rLen = 0; |
712 |
rLoc = 0; |
713 |
rType = 0; |
714 |
vrLen = 2185; |
715 |
vrLoc = 0; |
716 |
}; |
717 |
56EA695D0802F9E9009B3D49 = { |
718 |
fRef = 56C43D810801D4F200D498C6; |
719 |
isa = PBXTextBookmark; |
720 |
name = "nanorodBuilderCmd.h: 1"; |
721 |
rLen = 0; |
722 |
rLoc = 0; |
723 |
rType = 0; |
724 |
vrLen = 1393; |
725 |
vrLoc = 0; |
726 |
}; |
727 |
56EA69600802F9E9009B3D49 = { |
728 |
fRef = 56C43D670801D45600D498C6; |
729 |
isa = PBXTextBookmark; |
730 |
name = "LatticeCreator.hpp: 1"; |
731 |
rLen = 0; |
732 |
rLoc = 0; |
733 |
rType = 0; |
734 |
vrLen = 2185; |
735 |
vrLoc = 0; |
736 |
}; |
737 |
56EA69610802F9E9009B3D49 = { |
738 |
fRef = 56C43D810801D4F200D498C6; |
739 |
isa = PBXTextBookmark; |
740 |
name = "nanorodBuilderCmd.h: 1"; |
741 |
rLen = 0; |
742 |
rLoc = 0; |
743 |
rType = 0; |
744 |
vrLen = 1393; |
745 |
vrLoc = 0; |
746 |
}; |
747 |
56EA697B080443E9009B3D49 = { |
748 |
fRef = 56C43D6E0801D45600D498C6; |
749 |
isa = PBXTextBookmark; |
750 |
name = "nanorodBuilder.cpp: 183"; |
751 |
rLen = 0; |
752 |
rLoc = 5908; |
753 |
rType = 0; |
754 |
vrLen = 1195; |
755 |
vrLoc = 4968; |
756 |
}; |
757 |
56EA69850804446A009B3D49 = { |
758 |
fRef = 56D5A2540801F9BD00E8B24E; |
759 |
isa = PBXTextBookmark; |
760 |
name = "GeometryBuilder.cpp: 284"; |
761 |
rLen = 0; |
762 |
rLoc = 9480; |
763 |
rType = 0; |
764 |
vrLen = 1426; |
765 |
vrLoc = 8706; |
766 |
}; |
767 |
} |