"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 or download the uninterpreted source code file.

    1 BRL-CAD Common Projects
    2 =======================
    3 
    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:
    8 
    9 = Basic Utility and Numerics Libraries (BU+BN) =
   10 
   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.
   20 
   21 = Benchmark Suite =
   22 
   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.
   33 
   34 = Geometry Conversion (GCV) =
   35 
   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.
   43 
   44 = Image Conversion (ICV) =
   45 
   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.
   52 
   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.
   60 
   61 = Network Package Library =
   62 
   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.
   69 
   70 = ttcp =
   71 
   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.
   83 
   84 = Geometry Modeling Kernel =
   85 
   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.
   90 
   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.
   95 
   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.
  103 
  104 = Geometry Engine =
  105 
  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.
  110 
  111 = Geometry Service =
  112 
  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.
  120 
  121 = Example Geometry =
  122 
  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.
  128 
  129 = Documentation =
  130 
  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.
  140