ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/nanorodBuilder/nanorodBuilder.xcode/charles.pbxuser
Revision: 2148
Committed: Wed Apr 6 16:34:09 2005 UTC (19 years, 5 months ago) by chuckv
File size: 43566 byte(s)
Log Message:
Initial import of nanorod builder.

File Contents

# User Rev Content
1 chuckv 2148 // !$*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     }