ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/tags/start/nanorodBuilder/nanorodBuilder.xcode/charles.pbxuser
Revision: 3484
Committed: Tue Jan 13 14:39:51 2009 UTC (15 years, 8 months ago)
File size: 43566 byte(s)
Log Message:
This commit was manufactured by cvs2svn to create tag 'start'.

File Contents

# Content
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 }