"Fossies" - the Fresh Open Source Software Archive
Member "brlcad-7.32.4/doc/PROJECTS" (29 Jul 2021, 6719 Bytes) of package /linux/misc/brlcad-7.32.4.tar.bz2:
As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard
) with prefixed line numbers.
Alternatively you can here view
the uninterpreted source code file.
1 BRL-CAD Common Projects
4 BRL-CAD is comprised of several projects that have specific
5 distinguishing qualities of utility that make them interesting
6 STAND-ALONE projects applicable to a generally WIDE AUDIENCE of users.
7 These projects are described below:
9 = Basic Utility and Numerics Libraries (BU+BN) =
11 BRL-CAD's LIBBU and LIBBN libraries provide an extensive set of
12 fundamental general routines that form a common simple API for
13 cross-platform application development. Some routines are
14 unparalleled in terms of portability, performance, or simplicity.
15 Others are more common and undeniably commonplace with alternatives
16 such as the Apache Portable Runtime (APR). As a collective API, they
17 form a solid basis for application development and would probably do
18 very well in most academic contexts with proper documentation and
19 examples to follow.
21 = Benchmark Suite =
23 The BRL-CAD Benchmark Suite is a system performance analysis benchmark
24 that tests the performance of a given system's CPU, memory, cache
25 coherency, kernel context switching, and compiler optimization
26 capabilities. The benchmark provides a linearly comparable metric of
27 overall system performance that may be used to quantitatively evaluate
28 the relative performance of a given system, particular compilers,
29 compilation options, and hardware architecture designs. This
30 performance test is based on a real-world CPU intensive application of
31 ray-tracing, providing a reliable metric of actual system performance
32 that may be compared across more than two decades of computing.
34 = Geometry Conversion (GCV) =
36 Included are a variety of importers and exporters for various geometry
37 file formats (e.g. g-* and *-g). Exporters include DXF, EUCLID, NFF,
38 OBJ, STL, TANKILL, VRML, X3D, and OpenGL vertex array buffers.
39 Importers include CY, DXF, ENF, EUCLID, FAST4, NASTRAN, PLY, STL,
40 TANKILL, and VIEWPOINT. BRL-CAD also provides a Unigraphics/NX
41 exporter application as well as a Pro/Engineer export plug-in. This
42 includes LIBGCV.
44 = Image Conversion (ICV) =
46 There are many image converters (e.g. pix-*, bw-*, *-pix, *-bw, pix*,
47 bw*), image processing, and image manipulation tools in the package
48 that provide basic image management. The processing tools support
49 several common formats including PNG, RLE, PPM, PS, and SUN images as
50 well as a variety of image processing tools that work on raw image
51 data. This includes LIBICV.
53 There are a variety of signal processing utilities (e.g. *mod, ifft,
54 dfft, s-i, i-d, cv, wavelet) in the package that categorically
55 manipulate raw data streams according to specified criteria. These
56 manipulations include data conversion and filtering capabilities as
57 well as various transformations including discrete and non-discrete
58 Fast Fourier transforms (FFT) and wavelet decomposition. It may make
59 sense to merge this capability into ICV.
61 = Network Package Library =
63 The libpkg Network Package Library (PKG) interface implements a
64 client-server network connection that multiplexes synchronous and
65 asynchronous messages across stream connections. PKG provides a
66 simple interface for managing client/server connections in a
67 distributed environment, providing a non-blocking interface that
68 accepts arbitrary data messages of arbitrary length.
70 = ttcp =
72 The "Test Transmission Control Protocol" tool is a network throughput
73 performance benchmark tool used to evaluate the performance of TCP and
74 UDP network connections. TTCP may also be used as an excellent tool
75 for bootstrapping hosts onto the network by forming a communication
76 pipe between two machines. This communication pipe may be used to
77 transfer files to a remote system that does not otherwise have a means
78 available to receive files as well as for the evaluation of raw
79 throughput performance of the network connection between the two
80 systems. TTCP includes support for sourcing to/from memory, variable
81 packet sizes, and loading metrics. TTCP is described as a standard
82 testing tool for TCP implementers via Network Working Group RFC 2398.
84 = Geometry Modeling Kernel =
86 This product does not yet exist but is a long term goal. It's
87 basically several of the core libraries form BRL-CAD's geometry
88 modeling kernel including the present libbu, libbn, librt, libwdb,
89 liboptical, and the ray-trace interface application back-end.
91 This modeling kernel provides fundamental geometric representation,
92 ray-trace analysis, and geometric processing capabilities via a
93 high-performance procedural C API designed for multithreaded
94 processing and fast ray-intersection evaluation.
96 The geometry kernel directly supports the representation and
97 evaluation of implicit and explicit form primitive objects including
98 arbitrary polyhedron, toroids, generalized conics, ellipsoids, NURBS,
99 meshes, parabolics, hyperbolics, and more. Also supported are
100 Constructive Solid Geometry (CSG) expressions, boundary representation
101 (BREP) objects, 2D sketches, 3D extrusions, height fields,
102 pipe/cabling construction, and more.
104 = Geometry Engine =
106 This is a C++ geometry kernel API. This product is intentionally in a
107 separate repository so that it's conceptually and technically
108 implemented on top of BRL-CAD's core libraries. The design intent is
109 similar to the ACIS, Granite, and Parasolid geometry modeling APIs.
111 = Geometry Service =
113 This is a geometry management network service. It's a geometry server
114 with a socket protocol interface that provides user access controls,
115 versioning, and edit history tracking. At it's core, application
116 developers connect to the service for storing and obtaining geometry.
117 The service supports an extended set of geometry queries. This
118 product is similar in design to other network/socket services such as
119 Apache and MySQL.
121 = Example Geometry =
123 BRL-CAD geometry database files are platform independent files that
124 are used to store solid geometry models. There are several example
125 database models that have been made openly available (db/*.g) that
126 cover a wide range of example solid model geometry including basic
127 parts, buildings, procedural geometry, and military vehicles.
129 = Documentation =
131 Over the years, extensive documentation has been written for BRL-CAD
132 including many manual pages, quick reference sheets, and a detailed
133 tutorial series. The tutorial series covers an introduction to the
134 package, details on the modeling philosophies, an introduction to the
135 MGED solid modeler, a more advanced geometry modeling techniques
136 guide, and provides principles of effective modeling. The tutorials
137 take a user through many guided exercises that build upon each other
138 working towards more complex exercise examples the show some of the
139 basic modeling and processing capabilities possible.