00001 /* $NoKeywords: $ */ 00002 /* 00003 // 00004 // Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. 00005 // OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert 00006 // McNeel & Associates. 00007 // 00008 // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. 00009 // ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF 00010 // MERCHANTABILITY ARE HEREBY DISCLAIMED. 00011 // 00012 // For complete openNURBS copyright information see <http://www.opennurbs.org>. 00013 // 00015 */ 00016 00018 // 00019 // Includes all openNURBS toolkit headers required to use the 00020 // openNURBS toolkit library. See readme.txt for details. 00021 // 00023 00024 #if !defined(OPENNURBS_INC_) 00025 #define OPENNURBS_INC_ 00026 00027 #ifdef __GNUC__ 00028 #pragma GCC system_header 00029 #endif 00030 00031 #include "opennurbs_system.h" /* system headers used by openNURBS code */ 00032 00033 #include "opennurbs_3dm.h" /* 3DM typecode (TCODE) definitions */ 00034 00035 #include "opennurbs_defines.h" /* openNURBS defines and enums */ 00036 #include "opennurbs_error.h" /* error handling */ 00037 #include "opennurbs_memory.h" /* memory managment (onmalloc(), onrealloc(), onfree(), ...) */ 00038 #include "opennurbs_rand.h" /* random number generator */ 00039 #include "opennurbs_crc.h" /* cyclic redundancy check tool */ 00040 #include "opennurbs_uuid.h" /* universally unique identifiers (UUID, a.k.a, GUID) */ 00041 #include "opennurbs_unicode.h" /* unicode string conversion */ 00042 00043 #if defined(ON_CPLUSPLUS) 00044 00045 #include "opennurbs_fsp.h" // fixed size memory pool 00046 #include "opennurbs_string.h" // dynamic string classes (single and double byte) 00047 #include "opennurbs_compress.h" 00048 #include "opennurbs_base64.h" // base64 encodeing and decoding 00049 #include "opennurbs_color.h" // R G B color 00050 #include "opennurbs_linestyle.h" // line pattern, scale, and width 00051 #include "opennurbs_point.h" // double precision 2d, 3d, 4d points and 2d, 3d vectors 00052 #include "opennurbs_fpoint.h" // float precision 2d, 3d, 4d points and 2d, 3d vectors 00053 #include "opennurbs_array.h" // dynamic array templates 00054 #include "opennurbs_base32.h" // base32 encodeing and decoding 00055 #include "opennurbs_pluginlist.h" 00056 #include "opennurbs_bounding_box.h" // simple 3d axis aligned bounding box 00057 #include "opennurbs_matrix.h" // general m X n matrix 00058 #include "opennurbs_xform.h" // 4 X 4 transformation matrix 00059 #include "opennurbs_workspace.h" // workspace memory allocation 00060 #include "opennurbs_plane.h" // simple 3d plane 00061 #include "opennurbs_circle.h" // simple 3d circle 00062 #include "opennurbs_ellipse.h" // simple 3d ellipse 00063 #include "opennurbs_line.h" // simple line 00064 #include "opennurbs_polyline.h" // simple polyline 00065 #include "opennurbs_cylinder.h" // simple 3d elliptical cylinder 00066 #include "opennurbs_cone.h" // simple 3d right circular cone 00067 #include "opennurbs_sphere.h" // simple 3d sphere 00068 #include "opennurbs_box.h" // simple 3d box 00069 #include "opennurbs_torus.h" // simple 3d torus 00070 #include "opennurbs_bezier.h" // simple bezier and polynomial curves and surfaces 00071 #include "opennurbs_math.h" // utilities for performing simple calculations 00072 #include "opennurbs_intersect.h" // utilities for performing simple intersections 00073 #include "opennurbs_optimize.h" // utilities for finding extrema and zeros 00074 #include "opennurbs_knot.h" // utilities for working with NURBS knot vectors 00075 #include "opennurbs_evaluate_nurbs.h" // utilities for evaluating Beziers and NURBS 00076 #include "opennurbs_textlog.h" // text log for dumps, error logs, etc. 00077 #include "opennurbs_zlib.h" // ON_BinaryArchive needs z_stream definition. 00078 #include "opennurbs_rtree.h" // ON_RTree spatial search utility. 00079 #include "opennurbs_mapchan.h" 00080 #include "opennurbs_rendering.h" 00081 #include "opennurbs_archive.h" // binary arcive objects for serialization to file, memory blocks, etc. 00082 #include "opennurbs_arc.h" // simple 3d circular arc 00083 #include "opennurbs_object.h" // virtual base class for all openNURBS objects 00084 #include "opennurbs_userdata.h" // class for attaching persistent user information to openNURBS objects 00085 #include "opennurbs_geometry.h" // virtual base class for geometric objects 00086 #include "opennurbs_curve.h" // virtual parametric curve 00087 #include "opennurbs_surface.h" // virtual parametric surface 00088 #include "opennurbs_viewport.h" // simple renering projection 00089 #include "opennurbs_texture_mapping.h" // texture coordinate evaluation 00090 #include "opennurbs_texture.h" // texture definition 00091 #include "opennurbs_material.h" // simple rendering material 00092 #include "opennurbs_layer.h" // layer definition 00093 #include "opennurbs_linetype.h" // linetype definition 00094 #include "opennurbs_group.h" // group name and index 00095 #include "opennurbs_font.h" // font name and index 00096 #include "opennurbs_light.h" // light 00097 #include "opennurbs_pointgeometry.h" // single point 00098 #include "opennurbs_pointcloud.h" // point set 00099 #include "opennurbs_curveproxy.h" // proxy curve provides a way to use an existing curve 00100 #include "opennurbs_surfaceproxy.h" // proxy surface provides a way to use another surface 00101 #include "opennurbs_mesh.h" // render mesh object 00102 #include "opennurbs_pointgrid.h" // point grid object 00103 #include "opennurbs_linecurve.h" // line as a paramtric curve object 00104 #include "opennurbs_arccurve.h" // arc/circle as a paramtric curve object 00105 #include "opennurbs_polylinecurve.h" // polyline as a paramtric curve object 00106 #include "opennurbs_nurbscurve.h" // NURBS curve 00107 #include "opennurbs_polycurve.h" // polycurve (composite curve) 00108 #include "opennurbs_curveonsurface.h" // curve on surface (other kind of composite curve) 00109 #include "opennurbs_nurbssurface.h" // NURBS surface 00110 #include "opennurbs_planesurface.h" // plane surface 00111 #include "opennurbs_revsurface.h" // surface of revolution 00112 #include "opennurbs_sumsurface.h" // sum surface 00113 #include "opennurbs_brep.h" // boundary rep 00114 #include "opennurbs_beam.h" // lightweight extrusion object 00115 #include "opennurbs_bitmap.h" // Windows and OpenGL bitmaps 00116 #include "opennurbs_instance.h" // instance definitions and references 00117 #include "opennurbs_3dm_properties.h" 00118 #include "opennurbs_3dm_settings.h" 00119 #include "opennurbs_3dm_attributes.h" 00120 #include "opennurbs_annotation.h" // used to serialize annotation objects 00121 #include "opennurbs_annotation2.h" // used to serialize annotation2 objects 00122 #include "opennurbs_hatch.h" // hatch geometry definitions 00123 #include "opennurbs_dimstyle.h" // dimstyle name and index 00124 #include "opennurbs_hatch.h" // hatch geometry definitions 00125 #include "opennurbs_linetype.h" // linetype pattern definitions 00126 #include "opennurbs_objref.h" // ON_ObjRef definition 00127 #include "opennurbs_offsetsurface.h" // ON_OffsetSurface definition 00128 #include "opennurbs_detail.h" // ON_Detail definition 00129 #include "opennurbs_lookup.h" // ON_SerialNumberTable 00130 #include "opennurbs_object_history.h" 00131 #include "opennurbs_extensions.h" 00132 00133 #endif 00134 00135 #endif