This repository has been archived by the owner on Sep 8, 2018. It is now read-only.
forked from OpenVSP/OpenVSP
-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathREADME
executable file
·207 lines (162 loc) · 8.79 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
Build and Installation Instructions for OpenVSP
INTRODUCTION
OpenVSP is a parametric aircraft geometry tool. OpenVSP allows the
user to create a 3D model of an aircraft defined by common engineering
parameters. This model can be processed into formats suitable for
engineering analysis.
The predecessors to OpenVSP have been developed by JR Gloudemans and
others for NASA since the early 1990's. In January 2012, OpenVSP was
released as an open source project under the NOSA 1.3 license.
LICENSE
OpenVSP is available under the terms of the NASA Open Source Agreement
(NOSA) version 1.3. The complete terms of the license are specified
in the LICENSE file.
DEPENDENCIES
-OpenVSP relies on a variety of libraries and code made available by
other authors. These libraries are not included with VSP and must
be obtained in order to build OpenVSP.
-CMake (www.cmake.org) Cross-platform build system. CMake generates
platform-native build files which control compilation of OpenVSP.
CMake is available as a standard package on most Linux systems and
binary installers are available for many other platforms including
Windows and Mac OS X.
-OpenGL (www.opengl.org) 3D graphics library. OpenGL should be
available on any platform capable of displaying 3D graphics. The
OpenGL development tools must be installed on your computer to build
OpenVSP.
-glext.h (www.opengl.org/registry) Extension header for OpenGL. This
header provides access to OpenGL extensions which are not a part
of the core standard. A copy of this header is included for systems
which do not provide it.
-FLTK (www.fltk.org) Cross-platform windowing library. FLTK should
be available as a standard package on most Linux systems and can
be installed from source on Windows and Mac OS X according to the
FLTK instructions.
-Libxml2 (www.xmlsoft.org) XML parser and toolkit. Libxml2 most
likely comes pre-installed with most Linux distributions and
Mac OS X systems. Windows users must download the source and
build this library following the Libxml2 instructions.
-libjpeg (www.ijg.org) JPEG compression library. Like Libxml2,
libjpeg is likely to be pre-installed with most Linux distributions
and Mac OS X systems. Windows users must download the source
and build this library following the libjpeg instructions.
-OpenNURBS (www.opennurbs.org) Rhino 3DM file I/O library. Download
the C++ toolkit from the OpenNURBS web site and extract the files
into the 'openvsp/src' directory creating the directory
'openvsp/src/opennurbs'. OpenNURBS is built according to the
instructions that come with it.
-Triangle by Jonathan Shewchuk (www.cs.cmu.edu/~quake/triangle.html)
2D Delaunay triangulator. This routine has been included in
this distribution.
-triInt by Tomas Moller (jgt.akpeters.com/papers/Moller97) Fast
triangle-triangle intersection test. This code comes from two
sources. The routines are included in this distribution.
jgt.akpeters.com/papers/Moller97/tritri.html
jgt.akpeters.com/papers/MollerTrumbore97/code.html
-glFont2 by Brad Fish (students.cs.byu.edu/~bfish/glfont2.php)
2D OpenGL font tool. glFont2 has been included in this source
distribution.
-trackball Virtual trackball code for intuitive 3D rotations.
Gavin Bell's trackball code is included in an example program
distributed with the GLUT library which accompanies OpenGL.
If the OpenGL development files are installed on your system,
then trackball may be included. Otherwise, the source and
header files are available from the following URLs:
www.opengl.org/resources/code/samples/glut_examples/
examples/trackball.c
www.opengl.org/resources/code/samples/glut_examples/
examples/trackball.h
Place 'trackball.c' and 'trackball.h' in the 'openvsp/src/vsp'
directory.
BUILD INSTRUCTIONS
-Linux / Mac OS X
All of the supporting libraries and code described above in
DEPENDENCIES must be properly installed.
The OpenNURBS library must be compiled before OpenVSP can be
built. Change to the 'openvsp/src/opennurbs' directory and
type 'make'.
Next, CMake is used to construct the build files. CMake
supports out-of-tree builds which keep the source tree free
of generated files. Create a build directory to contain the
generated files, say 'openvsp/build'. Then, change to the
build directory and run CMake - passing a relative path to
'openvsp/src', say 'cmake ../src'.
CMake will search for Libxml2, libjpeg, and FLTK in their
default installation locations. If CMake does not find the
libraries, then edit the '/openvsp/src/CMakeLists.txt' file
and modify the 'CMAKE_PREFIX_PATH' list of directories to
include the locations of the installed libraries.
If Libxml2, libjpeg, or FLTK are not installed on the
system and root/administrator access is not available to
install the libraries, the libraries can be installed in a
non-standard location in the user's directory. In that
situation, the 'CMAKE_PREFIX_PATH' list of directories
should be modified to include the locations of the installed
libraries.
When CMake successfully finds all of the libraries, it will
write Makefiles to the build directory. When CMake
completes, execute 'make' in the build directory to compile
OpenVSP.
-Windows / Visual Studio
All of the supporting libraries and code described above in
DEPENDENCIES must be properly installed.
The OpenNURBS library must be compiled before OpenVSP can be
built. OpenNURBS comes with Visual Studio solution files
('opennurbs.sln' or 'opennurbs_vs2005.sln') which are used to
build the library. In Visual Studio, build the 'staticlib'
project.
The libjpeg source should be unzipped into a convienent
location such as 'openvsp/src' creating the
'openvsp/src/jpeg-8c' directory. Edit the 'CMAKE_PREFIX_PATH'
list in 'openvsp/src/CMakeLists.txt' to include the paths
to the libjpeg library.
Libjpeg is configured from the Visual Studio command prompt
according to the instructions supplied with it. It can be
built at the command prompt or from Visual Studio.
The Visual Studio project generally creates 'jpeg.lib' while
the nmake Makefile creates 'libjpeg.lib'. The CMake search
will look for 'jpeg.lib', so be sure the result is properly
named.
Building FLTK with project files generated by CMake (rather
than those distributed with FLTK) allows better integration
with the OpenVSP build system. Follow the FLTK instructions
to build FLTK according to the CMake instructions. Once
FLTK is built, use the 'INSTALL' project to install FLTK
to 'C:\Program Files\FLTK'. If an alternate directory is
desired, it can be entered in the CMake GUI when the build
files are created. Edit the 'openvsp/vsp/CMakeLists.txt'
to ensure that the FLTK install path is included in the
'CMAKE_PREFIX_PATH' list.
The Libxml2 source should be unzipped somewhere outside the
OpenVSP source tree. Follow the supplied instructions to
build Libxml2. Edit the 'openvsp/src/CMakeLists.txt'
file and modify the directory list 'CMAKE_PREFIX_PATH' to
include the libxml install destination.
The 2.7.8 version of the build files contain a small error.
Remove the leading '+' characters from lines 74-76 of the
'libxml/win32/Makefile.msvc' file.
If you are using Visual Studio 2010 or newer, remove the
'/OPT:NOWIN98' from line 97 of the 'libxml/win32/Makefile.msvc'
file.
The iconv option must be disabled when building Libxml2.
This is done by passing 'iconv=no' to the 'cscript' command
when you configure Libxml2. Do not use the pre-compiled
Libxml2 libraries available online, they include support for
iconv and zlib which introduce unneeded dependencies.
If you want to link the static library for Libxml2 into OpenVSP,
then rename 'lib/libxml2_a.lib' to 'lib/libxml2.lib'. The other
files located in the 'lib' directory may be deleted.
Next, CMake is used to construct the build files for OpenVSP
itself. CMake supports out-of-tree builds which keep the source
tree free of generated files. Using the CMake GUI, choose
'openvsp/src/CMakeLists.txt' and select an appropriate build
directory. Configure CMake and generate the build files.
CMake will search for Libxml2, libjpeg, and FLTK in the paths
specified in the 'CMAKE_PREFIX_PATH' list in
'/openvsp/src/CMakeLists.txt'.
When CMake successfully finds all of the libraries, it will
write the project files to the build directory. When CMake
completes, open the 'vsp.sln' in Visual Studio. Make sure to
select the target (Debug or Release) which maches the target
used to build OpenNURBS and other libraries. Once the correct
target is chosen, build OpenVSP.