Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
opennurbs.h
1/* $NoKeywords: $ */
2/*
3//
4// Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved.
5// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
6// McNeel & Associates.
7//
8// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
9// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
10// MERCHANTABILITY ARE HEREBY DISCLAIMED.
11//
12// For complete openNURBS copyright information see <http://www.opennurbs.org>.
13//
14////////////////////////////////////////////////////////////////
15*/
16
17////////////////////////////////////////////////////////////////
18//
19// Includes all openNURBS toolkit headers required to use the
20// openNURBS toolkit library. See readme.txt for details.
21//
22////////////////////////////////////////////////////////////////
23
24#if !defined(OPENNURBS_INC_)
25#define OPENNURBS_INC_
26
27#ifdef __GNUC__
28#pragma GCC system_header
29#endif
30
31#include "opennurbs_system.h" /* system headers used by openNURBS code */
32
33#include "opennurbs_3dm.h" /* 3DM typecode (TCODE) definitions */
34
35#include "opennurbs_defines.h" /* openNURBS defines and enums */
36#include "opennurbs_error.h" /* error handling */
37#include "opennurbs_memory.h" /* memory managment (onmalloc(), onrealloc(), onfree(), ...) */
38#include "opennurbs_rand.h" /* random number generator */
39#include "opennurbs_crc.h" /* cyclic redundancy check tool */
40#include "opennurbs_uuid.h" /* universally unique identifiers (UUID, a.k.a, GUID) */
41#include "opennurbs_unicode.h" /* unicode string conversion */
42
43#if defined(ON_CPLUSPLUS)
44
45#include "opennurbs_fsp.h" // fixed size memory pool
46#include "opennurbs_string.h" // dynamic string classes (single and double byte)
47#include "opennurbs_compress.h"
48#include "opennurbs_base64.h" // base64 encodeing and decoding
49#include "opennurbs_color.h" // R G B color
50#include "opennurbs_linestyle.h" // line pattern, scale, and width
51#include "opennurbs_point.h" // double precision 2d, 3d, 4d points and 2d, 3d vectors
52#include "opennurbs_fpoint.h" // float precision 2d, 3d, 4d points and 2d, 3d vectors
53#include "opennurbs_array.h" // dynamic array templates
54#include "opennurbs_base32.h" // base32 encodeing and decoding
55#include "opennurbs_pluginlist.h"
56#include "opennurbs_bounding_box.h" // simple 3d axis aligned bounding box
57#include "opennurbs_matrix.h" // general m X n matrix
58#include "opennurbs_xform.h" // 4 X 4 transformation matrix
59#include "opennurbs_workspace.h" // workspace memory allocation
60#include "opennurbs_plane.h" // simple 3d plane
61#include "opennurbs_circle.h" // simple 3d circle
62#include "opennurbs_ellipse.h" // simple 3d ellipse
63#include "opennurbs_line.h" // simple line
64#include "opennurbs_polyline.h" // simple polyline
65#include "opennurbs_cylinder.h" // simple 3d elliptical cylinder
66#include "opennurbs_cone.h" // simple 3d right circular cone
67#include "opennurbs_sphere.h" // simple 3d sphere
68#include "opennurbs_box.h" // simple 3d box
69#include "opennurbs_torus.h" // simple 3d torus
70#include "opennurbs_bezier.h" // simple bezier and polynomial curves and surfaces
71#include "opennurbs_math.h" // utilities for performing simple calculations
72#include "opennurbs_intersect.h" // utilities for performing simple intersections
73#include "opennurbs_optimize.h" // utilities for finding extrema and zeros
74#include "opennurbs_knot.h" // utilities for working with NURBS knot vectors
75#include "opennurbs_evaluate_nurbs.h" // utilities for evaluating Beziers and NURBS
76#include "opennurbs_textlog.h" // text log for dumps, error logs, etc.
77#include "opennurbs_zlib.h" // ON_BinaryArchive needs z_stream definition.
78#include "opennurbs_rtree.h" // ON_RTree spatial search utility.
79#include "opennurbs_mapchan.h"
80#include "opennurbs_rendering.h"
81#include "opennurbs_archive.h" // binary arcive objects for serialization to file, memory blocks, etc.
82#include "opennurbs_arc.h" // simple 3d circular arc
83#include "opennurbs_object.h" // virtual base class for all openNURBS objects
84#include "opennurbs_userdata.h" // class for attaching persistent user information to openNURBS objects
85#include "opennurbs_geometry.h" // virtual base class for geometric objects
86#include "opennurbs_curve.h" // virtual parametric curve
87#include "opennurbs_surface.h" // virtual parametric surface
88#include "opennurbs_viewport.h" // simple renering projection
89#include "opennurbs_texture_mapping.h" // texture coordinate evaluation
90#include "opennurbs_texture.h" // texture definition
91#include "opennurbs_material.h" // simple rendering material
92#include "opennurbs_layer.h" // layer definition
93#include "opennurbs_linetype.h" // linetype definition
94#include "opennurbs_group.h" // group name and index
95#include "opennurbs_font.h" // font name and index
96#include "opennurbs_light.h" // light
97#include "opennurbs_pointgeometry.h" // single point
98#include "opennurbs_pointcloud.h" // point set
99#include "opennurbs_curveproxy.h" // proxy curve provides a way to use an existing curve
100#include "opennurbs_surfaceproxy.h" // proxy surface provides a way to use another surface
101#include "opennurbs_mesh.h" // render mesh object
102#include "opennurbs_pointgrid.h" // point grid object
103#include "opennurbs_linecurve.h" // line as a paramtric curve object
104#include "opennurbs_arccurve.h" // arc/circle as a paramtric curve object
105#include "opennurbs_polylinecurve.h" // polyline as a paramtric curve object
106#include "opennurbs_nurbscurve.h" // NURBS curve
107#include "opennurbs_polycurve.h" // polycurve (composite curve)
108#include "opennurbs_curveonsurface.h" // curve on surface (other kind of composite curve)
109#include "opennurbs_nurbssurface.h" // NURBS surface
110#include "opennurbs_planesurface.h" // plane surface
111#include "opennurbs_revsurface.h" // surface of revolution
112#include "opennurbs_sumsurface.h" // sum surface
113#include "opennurbs_brep.h" // boundary rep
114#include "opennurbs_beam.h" // lightweight extrusion object
115#include "opennurbs_bitmap.h" // Windows and OpenGL bitmaps
116#include "opennurbs_instance.h" // instance definitions and references
117#include "opennurbs_3dm_properties.h"
118#include "opennurbs_3dm_settings.h"
119#include "opennurbs_3dm_attributes.h"
120#include "opennurbs_annotation.h" // used to serialize annotation objects
121#include "opennurbs_annotation2.h" // used to serialize annotation2 objects
122#include "opennurbs_hatch.h" // hatch geometry definitions
123#include "opennurbs_dimstyle.h" // dimstyle name and index
124#include "opennurbs_hatch.h" // hatch geometry definitions
125#include "opennurbs_linetype.h" // linetype pattern definitions
126#include "opennurbs_objref.h" // ON_ObjRef definition
127#include "opennurbs_offsetsurface.h" // ON_OffsetSurface definition
128#include "opennurbs_detail.h" // ON_Detail definition
129#include "opennurbs_lookup.h" // ON_SerialNumberTable
130#include "opennurbs_object_history.h"
131#include "opennurbs_extensions.h"
132
133#endif
134
135#endif