Rhino C++ API  7.22
Public Types | Static Public Member Functions | List of all members
ON Class Reference

OpenNurbs enums. More...

#include <opennurbs_defines.h>

Public Types

enum  active_space : unsigned char { no_space = 0, model_space = 1, page_space = 2 }
 Defines the current working space. More...
 
enum  AngleUnitSystem : unsigned char {
  AngleUnitSystem::None = 0, AngleUnitSystem::Turns = 1, AngleUnitSystem::Radians = 2, AngleUnitSystem::Degrees = 3,
  AngleUnitSystem::Minutes = 4, AngleUnitSystem::Seconds = 5, AngleUnitSystem::Gradians = 6, AngleUnitSystem::Unset = 255
}
 ON::AngleUnitSystem identifies an angle unit system More...
 
enum  AnnotationType : unsigned char {
  AnnotationType::Unset = 0, AnnotationType::Aligned = 1, AnnotationType::Angular = 2, AnnotationType::Diameter = 3,
  AnnotationType::Radius = 4, AnnotationType::Rotated = 5, AnnotationType::Ordinate = 6, AnnotationType::ArcLen = 7,
  AnnotationType::CenterMark = 8, AnnotationType::Text = 9, AnnotationType::Leader = 10, AnnotationType::Angular3pt = 11
}
 ON::AnnotationType identifies the type of an annotation object derived from ON_Annotation. More...
 
enum  archive_mode : unsigned int {
  archive_mode::unset_archive_mode = 0, archive_mode::read = 1, archive_mode::write = 2, archive_mode::readwrite = 3,
  archive_mode::read3dm = 5, archive_mode::write3dm = 6
}
 
enum  bitmap_type { unknown_bitmap_type = 0, windows_bitmap = 1, opengl_bitmap = 2, png_bitmap = 3 }
 
enum  ComponentNameConflictResolution : unsigned char {
  ComponentNameConflictResolution::Unset = 0, ComponentNameConflictResolution::QueryMethod = 1, ComponentNameConflictResolution::UseExistingComponent = 2, ComponentNameConflictResolution::ReplaceExistingComponent = 3,
  ComponentNameConflictResolution::KeepBothComponentsAutomaticRename = 4, ComponentNameConflictResolution::KeepBothComponentsQueryRename = 5, ComponentNameConflictResolution::NoConflict = 0xFF
}
 ON::ComponentNameConflictResolution identifies a method to use when components are being added to model, the component name must be unique, and the name of the new is already in use in the context. The function ON_ModelComponent::UniqueNameRequired(ON_ModelComponent::Type) can be used to determine if a component requires a unique name. More...
 
enum  continuity : unsigned int {
  continuity::unknown_continuity = 0, continuity::C0_continuous = 1, continuity::C1_continuous = 2, continuity::C2_continuous = 3,
  continuity::G1_continuous = 4, continuity::G2_continuous = 5, continuity::C0_locus_continuous = 6, continuity::C1_locus_continuous = 7,
  continuity::C2_locus_continuous = 8, continuity::G1_locus_continuous = 9, continuity::G2_locus_continuous = 10, continuity::Cinfinity_continuous = 11,
  continuity::Gsmooth_continuous = 12
}
 
enum  coordinate_system { world_cs = 0, camera_cs = 1, clip_cs = 2, screen_cs = 3 }
 
enum  cubic_loft_end_condition {
  cubic_loft_ec_quadratic = 0, cubic_loft_ec_linear = 1, cubic_loft_ec_cubic = 2, cubic_loft_ec_natural = 3,
  cubic_loft_ec_unit_tangent = 4, cubic_loft_ec_1st_derivative = 5, cubic_loft_ec_2nd_derivative = 6, cubic_loft_ec_free_cv = 7
}
 
enum  curvature_style {
  unknown_curvature_style = 0, gaussian_curvature = 1, mean_curvature = 2, min_curvature = 3,
  max_curvature = 4, curvature_style_count = 5
}
 
enum  curve_style {
  unknown_curve_style = 0, line = 1, circle = 2, ellipse = 3,
  parabola = 4, hyperbola = 5, planar_polyline = 6, polyline = 7,
  planar_freeform_curve = 8, freeform_curve = 9, curve_style_count = 10
}
 
enum  EarthCoordinateSystem : unsigned char {
  EarthCoordinateSystem::Unset = 0, EarthCoordinateSystem::GroundLevel = 1, EarthCoordinateSystem::MeanSeaLevel = 2, EarthCoordinateSystem::CenterOfEarth = 3,
  EarthCoordinateSystem::WGS1984 = 5, EarthCoordinateSystem::EGM2008 = 6
}
 ON::EarthCoordinateSystem identifies the standard used to define Earth latitude, longitude, and elevation coordinates. More...
 
enum  eCurveType {
  ctCurve, ctArc, ctCircle, ctLine,
  ctNurbs, ctOnsurface, ctProxy, ctPolycurve,
  ctPolyline
}
 
enum  endian : unsigned int { endian::little_endian = 0, endian::big_endian = 1 }
 
enum  exception_type {
  unknown_exception = 0, out_of_memory, corrupt_object, unable_to_write_archive,
  unable_to_read_archive, unable_to_seek_archive, unexpected_end_of_archive, unexpected_value_in_archive
}
 
enum  knot_style {
  unknown_knot_style = 0, uniform_knots = 1, quasi_uniform_knots = 2, piecewise_bezier_knots = 3,
  clamped_end_knots = 4, non_uniform_knots = 5, knot_style_count = 6
}
 < if a knot vector meets the conditions of two styles, More...
 
enum  layer_mode { normal_layer = 0, hidden_layer = 1, locked_layer = 2, layer_mode_count = 3 }
 
enum  LengthUnitSystem : unsigned char {
  LengthUnitSystem::None = 0, LengthUnitSystem::Angstroms = 12, LengthUnitSystem::Nanometers = 13, LengthUnitSystem::Microns = 1,
  LengthUnitSystem::Millimeters = 2, LengthUnitSystem::Centimeters = 3, LengthUnitSystem::Decimeters = 14, LengthUnitSystem::Meters = 4,
  LengthUnitSystem::Dekameters = 15, LengthUnitSystem::Hectometers = 16, LengthUnitSystem::Kilometers = 5, LengthUnitSystem::Megameters = 17,
  LengthUnitSystem::Gigameters = 18, LengthUnitSystem::Microinches = 6, LengthUnitSystem::Mils = 7, LengthUnitSystem::Inches = 8,
  LengthUnitSystem::Feet = 9, LengthUnitSystem::Yards = 19, LengthUnitSystem::Miles = 10, LengthUnitSystem::PrinterPoints = 20,
  LengthUnitSystem::PrinterPicas = 21, LengthUnitSystem::NauticalMiles = 22, LengthUnitSystem::AstronomicalUnits = 23, LengthUnitSystem::LightYears = 24,
  LengthUnitSystem::Parsecs = 25, LengthUnitSystem::CustomUnits = 11, LengthUnitSystem::Unset = 255
}
 ON::LengthUnitSystem identifies a length unit system United States customary length units references: http://www.nist.gov/pml/wmd/metric/upload/frn-59-5442-1959.pdf http://en.wikipedia.org/wiki/United_States_customary_units http://en.wikipedia.org/wiki/International_yard_and_pound More...
 
enum  light_style {
  unknown_light_style = 0, camera_directional_light = 4, camera_point_light = 5, camera_spot_light = 6,
  world_directional_light = 7, world_point_light = 8, world_spot_light = 9, ambient_light = 10,
  world_linear_light = 11, world_rectangular_light = 12, light_style_count = 13
}
 
enum  mesh_type {
  default_mesh = 0, render_mesh = 1, analysis_mesh = 2, preview_mesh = 3,
  any_mesh = 4
}
 
enum  object_color_source { color_from_layer = 0, color_from_object = 1, color_from_material = 2, color_from_parent = 3 }
 
enum  object_decoration { no_object_decoration = 0, start_arrowhead = 0x08, end_arrowhead = 0x10, both_arrowhead = 0x18 }
 
enum  object_linetype_source { linetype_from_layer = 0, linetype_from_object = 1, linetype_from_parent = 3 }
 
enum  object_material_source { material_from_layer = 0, material_from_object = 1, material_from_parent = 3 }
 
enum  object_mode {
  normal_object = 0, hidden_object = 1, locked_object = 2, idef_object = 3,
  object_mode_count = 4
}
 
enum  object_type {
  unknown_object_type = 0, point_object = 1, pointset_object = 2, curve_object = 4,
  surface_object = 8, brep_object = 0x10, mesh_object = 0x20, layer_object = 0x40,
  material_object = 0x80, light_object = 0x100, annotation_object = 0x200, userdata_object = 0x400,
  instance_definition = 0x800, instance_reference = 0x1000, text_dot = 0x2000, grip_object = 0x4000,
  detail_object = 0x8000, hatch_object = 0x10000, morph_control_object = 0x20000, subd_object = 0x40000,
  loop_object = 0x80000, brepvertex_filter = 0x100000, polysrf_filter = 0x200000, edge_filter = 0x400000,
  polyedge_filter = 0x800000, meshvertex_filter = 0x01000000, meshedge_filter = 0x02000000, meshface_filter = 0x04000000,
  meshcomponent_reference = 0x07000000, cage_object = 0x08000000, phantom_object = 0x10000000, clipplane_object = 0x20000000,
  extrusion_object = 0x40000000, any_object = 0xFFFFFFFF
}
 
enum  OBSOLETE_DistanceDisplayMode : unsigned char { OBSOLETE_DistanceDisplayMode::Decimal = 0, OBSOLETE_DistanceDisplayMode::Fractional = 1, OBSOLETE_DistanceDisplayMode::FeetInches = 2 }
 Obsolete - use ON_DimStyle::DimensionLengthDisplay. More...
 
enum  osnap_mode {
  os_none = 0, os_near = 2, os_focus = 8, os_center = 0x20,
  os_vertex = 0x40, os_knot = 0x80, os_quadrant = 0x200, os_midpoint = 0x800,
  os_intersection = 0x2000, os_end = 0x20000, os_perpendicular = 0x80000, os_tangent = 0x200000,
  os_point = 0x08000000, os_all_snaps = 0xFFFFFFFF
}
 
enum  plot_color_source { plot_color_from_layer = 0, plot_color_from_object = 1, plot_color_from_display = 2, plot_color_from_parent = 3 }
 
enum  plot_weight_source { plot_weight_from_layer = 0, plot_weight_from_object = 1, plot_weight_from_parent = 3 }
 
enum  point_style {
  unknown_point_style = 0, not_rational = 1, homogeneous_rational = 2, euclidean_rational = 3,
  intrinsic_point_style = 4, point_style_count = 5
}
 
enum  ReadFileResult : unsigned char { ReadFileResult::Unset = 0, ReadFileResult::Completed = 1, ReadFileResult::CompletedWithErrors = 2, ReadFileResult::Failed = 3 }
 ON::ReadFileResult reports what happened when a file read was attempted. More...
 
enum  RichTextStyle : unsigned char { RichTextStyle::Unset = 0, RichTextStyle::Windows10SDK = 1, RichTextStyle::AppleOSXSDK = 2 }
 Rich text style More...
 
enum  RuntimeEnvironment : unsigned char {
  RuntimeEnvironment::Unset = 0, RuntimeEnvironment::None = 1, RuntimeEnvironment::Windows = 2, RuntimeEnvironment::Apple = 3,
  RuntimeEnvironment::Android = 4, RuntimeEnvironment::Linux = 5
}
 ON::RuntimeEnvironment identifies a runtime environment (operating system). This value is saved in binary archives so appropriate adjustments to resources provided by runtime environments, like fonts, can be made when an archive created in one runtime environment is used in another. More...
 
enum  sort_algorithm : unsigned int { sort_algorithm::heap_sort = 0, sort_algorithm::quick_sort = 1 }
 
enum  surface_style {
  unknown_surface_style = 0, plane = 1, circular_cylinder = 2, elliptical_cylinder = 3,
  circular_cone = 4, elliptical_cone = 5, sphere = 6, torus = 7,
  surface_of_revolution = 8, ruled_surface = 9, freeform_surface = 10, surface_style_count = 11
}
 
enum  TextHorizontalAlignment : unsigned char { TextHorizontalAlignment::Left = 0, TextHorizontalAlignment::Center = 1, TextHorizontalAlignment::Right = 2, TextHorizontalAlignment::Auto = 3 }
 Horizontal location of text attach point relative to text More...
 
enum  TextOrientation : unsigned char { TextOrientation::InPlane = 0, TextOrientation::InView = 1 }
 Method for getting rotation for drawing text More...
 
enum  texture_mode { no_texture = 0, modulate_texture = 1, decal_texture = 2 }
 
enum  TextVerticalAlignment : unsigned char {
  TextVerticalAlignment::Top = 0, TextVerticalAlignment::MiddleOfTop = 1, TextVerticalAlignment::BottomOfTop = 2, TextVerticalAlignment::Middle = 3,
  TextVerticalAlignment::MiddleOfBottom = 4, TextVerticalAlignment::Bottom = 5, TextVerticalAlignment::BottomOfBoundingBox = 6
}
 Vertical location of text attach point relative to text More...
 
enum  v3_display_mode { v3_default_display = 0, v3_wireframe_display = 1, v3_shaded_display = 2, v3_renderpreview_display = 3 }
 
enum  view_projection : unsigned int { unknown_view = 0, parallel_view = 1, perspective_view = 2 }
 
enum  view_type { model_view_type = 0, page_view_type = 1, nested_view_type = 2 }
 

Static Public Member Functions

static active_space ActiveSpace (int)
 convert integer to active_space enum More...
 
static double AngleUnitScale (ON::AngleUnitSystem us_from, ON::AngleUnitSystem us_to)
 
static ON::AngleUnitSystem AngleUnitSystemFromUnsigned (unsigned int angle_unit_system_as_unsigned)
 
static ON::AnnotationType AnnotationTypeFromUnsigned (unsigned int annotation_type_as_unsigned)
 
static archive_mode ArchiveMode (int)
 convert integer to endian enum More...
 
static void Begin ()
 
static bitmap_type BitmapType (int)
 convert integer to bitmap_type enum More...
 
static int CloseAllFiles ()
 like _fcloseall() - needed when OpenNURBS is used as a DLL More...
 
static int CloseFile (FILE *)
 
static ON::ComponentNameConflictResolution ComponentNameConflictResolutionFromUnsigned (unsigned int component_name_conflict_resolution_as_unsigned)
 
static continuity Continuity (int)
 
static coordinate_system CoordinateSystem (int)
 convert integer to coordinate_system enum More...
 
static cubic_loft_end_condition CubicLoftEndCondition (int i)
 
static ON::RuntimeEnvironment CurrentRuntimeEnvironment ()
 
static curvature_style CurvatureStyle (int)
 convert integer to curvature_style enum More...
 
static curve_style CurveStyle (int)
 convert integer to curve_style enum More...
 
static ON::OBSOLETE_DistanceDisplayMode DistanceDisplayModeFromUnsigned (unsigned int distance_display_mode_as_unsigned)
 
static ON::EarthCoordinateSystem EarthCoordinateSystemFromUnsigned (unsigned int earth_coordinte_system_as_unsigned)
 
static void End ()
 
static endian Endian ()
 returns endian-ness of current CPU More...
 
static endian Endian (int)
 convert integer to endian enum More...
 
static exception_type ExceptionType (int)
 convert integer to exception_type enum More...
 
static bool GetFileStats (const wchar_t *filename, size_t *filesize, time_t *create_time, time_t *lastmodify_time)
 
static bool GetFileStats (FILE *fp, size_t *filesize, time_t *create_time, time_t *lastmodify_time)
 
static bool IsDirectory (const char *utf8pathname)
 
static bool IsDirectory (const wchar_t *pathname)
 
static bool IsExtraTerrestrialLengthUnit (ON::LengthUnitSystem length_unit_system)
 
static bool IsMetricLengthUnit (ON::LengthUnitSystem length_unit_system)
 
static bool IsMicroscopicLengthUnit (ON::LengthUnitSystem length_unit_system)
 
static int IsOpenNURBSFile (const char *utf8pathname)
 
static int IsOpenNURBSFile (const wchar_t *pathname)
 
static int IsOpenNURBSFile (FILE *fp)
 
static bool IsParallelProjection (ON::view_projection projection)
 
static bool IsPerspectiveProjection (ON::view_projection projection)
 
static bool IsTerrestrialLengthUnit (ON::LengthUnitSystem length_unit_system)
 
static bool IsUnitedStatesCustomaryLengthUnit (ON::LengthUnitSystem length_unit_system)
 
static bool IsUnitedStatesPrinterLengthUnit (ON::LengthUnitSystem length_unit_system)
 
static knot_style KnotStyle (int)
 convert integer to knot_style enum More...
 
static layer_mode LayerMode (int)
 convert integer to layer_mode enum More...
 
static ON::LengthUnitSystem LengthUnitSystemFromUnsigned (unsigned int length_unit_system_as_unsigned)
 
static unsigned int LibraryStatus ()
 
static light_style LightStyle (int)
 convert integer to light_style enum More...
 
static mesh_type MeshType (int)
 convert integer to mesh_type enum More...
 
static ON::LengthUnitSystem ModelLengthUnitSystem (ON__UINT_PTR model_serial_number)
 
static object_color_source ObjectColorSource (int)
 convert integer to object_color_source enum More...
 
static object_decoration ObjectDecoration (int)
 convert integer to line_pattern enum More...
 
static object_linetype_source ObjectLinetypeSource (int)
 convert integer to object_linetype_source enum More...
 
static object_material_source ObjectMaterialSource (int)
 convert integer to object_color_source enum More...
 
static object_mode ObjectMode (int)
 convert integer to object_mode enum More...
 
static object_type ObjectType (int)
 convert integer to object_type enum More...
 
static FILE * OpenFile (const char *filename, const char *filemode)
 
static FILE * OpenFile (const wchar_t *filename, const wchar_t *filemode)
 
static osnap_mode OSnapMode (int)
 convert integer to osnap_mode enum More...
 
static continuity ParametricContinuity (int)
 
static plot_color_source PlotColorSource (int)
 convert integer to plot_color_source enum More...
 
static plot_weight_source PlotWeightSource (int)
 convert integer to plot_color_source enum More...
 
static point_style PointStyle (int)
 convert integer to point_style enum More...
 
static continuity PolylineContinuity (int)
 
static bool ReadFileCompleted (ON::ReadFileResult read_file_result)
 
static bool ReadFileFailed (ON::ReadFileResult read_file_result)
 
static ON::ReadFileResult ReadFileResultFromUnsigned (unsigned int read_file_result_as_unsigned)
 
static void RegisterModelLengthUnitSystemCallback (ON::LengthUnitSystem(*func_ModelLengthUnitSystemCallback)(ON__UINT_PTR))
 
static ON::RichTextStyle RichTextStyleFromCurrentPlatform ()
 
static ON::RichTextStyle RichTextStyleFromUnsigned (unsigned int u)
 
static ON::RuntimeEnvironment RuntimeEnvironmentFromUnsigned (unsigned int runtime_environment_as_unsigned)
 
static void SetLibraryStatus (unsigned int status)
 
static sort_algorithm SortAlgorithm (int)
 convert integer to sort_method enum More...
 
static const char * SourceGitBranchName ()
 
static const char * SourceGitRevisionHash ()
 
static const char * SourceIdentification ()
 
static surface_style SurfaceStyle (int)
 convert integer to surface_style enum More...
 
static ON::TextHorizontalAlignment TextHorizontalAlignmentFromUnsigned (unsigned int horizontal_alignment_as_unsigned)
 
static ON::TextHorizontalAlignment TextHorizontalAlignmentFromV5Justification (unsigned int v5_justification_bits)
 
static ON::TextOrientation TextOrientationFromUnsigned (unsigned int orientation_as_unsigned)
 
static texture_mode TextureMode (int)
 OBSOLETE. More...
 
static ON::TextVerticalAlignment TextVerticalAlignmentFromUnsigned (unsigned int vertical_alignment_as_unsigned)
 
static ON::TextVerticalAlignment TextVerticalAlignmentFromV5Justification (unsigned int v5_justification_bits)
 
static double UnitScale (const class ON_3dmUnitsAndTolerances &us_from, const class ON_3dmUnitsAndTolerances &us_to)
 
static double UnitScale (const class ON_UnitSystem &us_from, const class ON_UnitSystem &us_to)
 
static double UnitScale (const class ON_UnitSystem &us_from, ON::LengthUnitSystem us_to)
 
static double UnitScale (ON::LengthUnitSystem us_from, const class ON_UnitSystem &us_to)
 
static double UnitScale (ON::LengthUnitSystem us_from, ON::LengthUnitSystem us_to)
 
static ON::v3_display_mode V3DisplayMode (int)
 convert integer to legacy v3_display_mode enum More...
 
static unsigned int Version ()
 
static unsigned int VersionBranch ()
 
static unsigned int VersionDayOfMonth ()
 
static unsigned int VersionGetQuartet (unsigned int version_quartet[4])
 
static unsigned int VersionHour ()
 
static unsigned int VersionMajor ()
 
static unsigned int VersionMajorMaximum ()
 
static unsigned int VersionMinor ()
 
static unsigned int VersionMinorMaximum ()
 
static unsigned int VersionMinute ()
 
static unsigned int VersionMonth ()
 
static const char * VersionQuartetAsString ()
 
static const wchar_t * VersionQuartetAsWideString ()
 
static unsigned int VersionYear ()
 
static view_projection ViewProjection (int i)
 
static view_type ViewType (int)
 convert integer to display_mode enum More...
 

Detailed Description

OpenNurbs enums.

Member Enumeration Documentation

◆ active_space

enum ON::active_space : unsigned char

Defines the current working space.

Enumerator
no_space 
model_space 

3d modeling or "world" space

page_space 

page/layout/paper/printing space

◆ AngleUnitSystem

enum ON::AngleUnitSystem : unsigned char
strong

ON::AngleUnitSystem identifies an angle unit system

Enumerator
None 

summary> ON::AngleUnitSystem::None indicates no angle unit system is specified and model angle unit system should be used. /summary> summary> 1 turn = 2pi radians. /summary>

Turns 

summary> 1 turn = 2pi radians. /summary>

Radians 

2pi radians = 1 turn

summary> 360 arc degrees = 1 turn = 2pi radians /summary>

Degrees 

summary> 60 arc minutes = 1 arc degree /summary>

Minutes 

summary> 60 arc seconds = 1 arc minute /summary>

Seconds 

summary> 400 gradians = 2pi radians. /summary>

Gradians 

summary> The ON::AngleUnitSystem::Unset is used to indicates no angle unit system has been specified in user interface code. /summary>

Unset 

◆ AnnotationType

enum ON::AnnotationType : unsigned char
strong

ON::AnnotationType identifies the type of an annotation object derived from ON_Annotation.

Enumerator
Unset 

summary> Not a valid annotation type. /summary> summary> Linear distance between two points with dimension line parallel to the dimensioned points. /summary>

Aligned 

summary> Angle bewteen two lines. /summary>

Angular 

summary> Arc or circle diameter dimension. /summary>

Diameter 

summary> Arc or circle radius dimension. /summary>

Radius 

summary> Linear distance between two points with dimension line horizontal, vertical or rotated by a specified amount. /summary>

Rotated 

summary> Ordinate dimension. Typically used to document an offset distance between the center of a circle and a reference point. /summary>

Ordinate 

summary> Arc length of a curve. /summary>

ArcLen 

summary> Center mark dimension. Typically used to document the center of an arc or circle. /summary>

CenterMark 

summary> Text. Stand alone text with a wide variety of uses. /summary>

Text 

summary> Leader. Text and a curve with an arrow head. /summary>

Leader 

summary> Angular3pt. Angle defined by 3 points. /summary>

Angular3pt 

◆ archive_mode

enum ON::archive_mode : unsigned int
strong
Enumerator
unset_archive_mode 
read 

all read modes have bit 0x0001 set

write 

all write modes have bit 0x0002 set

readwrite 
read3dm 
write3dm 

◆ bitmap_type

Enumerator
unknown_bitmap_type 
windows_bitmap 

BITMAPINFO style.

opengl_bitmap 

unpacked OpenGL RGB or RGBA

png_bitmap 

◆ ComponentNameConflictResolution

enum ON::ComponentNameConflictResolution : unsigned char
strong

ON::ComponentNameConflictResolution identifies a method to use when components are being added to model, the component name must be unique, and the name of the new is already in use in the context. The function ON_ModelComponent::UniqueNameRequired(ON_ModelComponent::Type) can be used to determine if a component requires a unique name.

Enumerator
Unset 

summary> A method to resolve name conflicts has not been specified. /summary> summary> Interactivly ask the user to choose one of the following methods to resolve component name conflicts. /summary>

QueryMethod 

summary> Use the existing component, discard the new component. All references to the discarded component are changed to reference the the surviving component. /summary>

UseExistingComponent 

summary> Replace the existing component with the new component. All references to the discarded component are changed reference the the surviving component. /summary>

ReplaceExistingComponent 

summary> Keep both components. Resolve the name conflict by automatically assigning a name new component. This is typically done by appending an integer to the original name. /summary>

KeepBothComponentsAutomaticRename 

summary> Keep both components. Resolve the name conflict by interactivly asking for an unused name to assign to the new component. /summary>

KeepBothComponentsQueryRename 

summary> No name conflict was detected and no special action is required. This can occur when the names in question are unique or unique names are not required. /summary>

NoConflict 

◆ continuity

enum ON::continuity : unsigned int
strong
Enumerator
unknown_continuity 
C0_continuous 

continuous function

These test for parametric continuity. In particular, all types of ON_Curves are considered infinitely continuous at the start/end of the evaluation domain.

C1_continuous 

continuous first derivative

C2_continuous 

continuous first and second derivative

G1_continuous 

continuous unit tangent

G2_continuous 

continuous unit tangent and curvature

C0_locus_continuous 

locus continuous function

20 March 2003 Dale Lear added these.

Continuity tests using the following enum values
are identical to tests using the preceding enum values
on the INTERIOR of a curve's domain.  At the END of
a curve a "locus" test is performed in place of a 
parametric test. In particular, at the END of a domain,
all open curves are locus discontinuous.  At the END of
a domain, all closed curves are at least C0_locus_continuous.
By convention all ON_Curves are considered 
locus continuous at the START of the evaluation domain.
This convention is not strictly correct, but is was
adopted to make iterative kink finding tools easier to
use and so that locus discontinuities are reported once
at the end parameter of a curve rather than twice. 
C1_locus_continuous 

locus continuous first derivative

C2_locus_continuous 

locus continuous first and second derivative

G1_locus_continuous 

locus continuous unit tangent

G2_locus_continuous 

locus continuous unit tangent and curvature

Cinfinity_continuous 

analytic discontinuity

Gsmooth_continuous 

aesthetic discontinuity

◆ coordinate_system

Enumerator
world_cs 
camera_cs 
clip_cs 
screen_cs 

◆ cubic_loft_end_condition

surface_loft_end_condition //////////////////////////////////////////////

End condition paramter values for ON_Curve::CreateCubicLoft() and ON_Surface::CreateCubicLoft().

Enumerator
cubic_loft_ec_quadratic 
cubic_loft_ec_linear 
cubic_loft_ec_cubic 
cubic_loft_ec_natural 
cubic_loft_ec_unit_tangent 
cubic_loft_ec_1st_derivative 
cubic_loft_ec_2nd_derivative 
cubic_loft_ec_free_cv 

◆ curvature_style

Enumerator
unknown_curvature_style 
gaussian_curvature 
mean_curvature 

unsigned mean curvature

min_curvature 

minimum unsigned radius of curvature

max_curvature 

maximum unsigned radius of curvature

curvature_style_count 

◆ curve_style

Enumerator
unknown_curve_style 
line 
circle 
ellipse 

with distinct foci (not a circle)

parabola 
hyperbola 
planar_polyline 

not a line segment

polyline 

non-planar polyline

planar_freeform_curve 

planar but none of the above

freeform_curve 

known to be none of the above

curve_style_count 

◆ EarthCoordinateSystem

enum ON::EarthCoordinateSystem : unsigned char
strong

ON::EarthCoordinateSystem identifies the standard used to define Earth latitude, longitude, and elevation coordinates.

Enumerator
Unset 

summary> ON::EarthCoordinateSystem::Unset /summary> summary> ON::EarthCoordinateSystem::GroundLevel Not well defined, but latitude and longitude will be good enough for architecture sun studies. /summary>

GroundLevel 
MeanSeaLevel 

Ground level - coordinates vary with time and location.

summary> ON::EarthCoordinateSystem::MeanSeaLevel Not well defined, but latitude and longitude will be good enough for architecture sun studies. /summary> summary> ON::EarthCoordinateSystem::CenterOfEarth Not well defined. The Earth's center of mass and center of volume are at different locations. /summary>

CenterOfEarth 

summary> ON::EarthCoordinateSystem::WGS1984 World Geodetic System 1984 standard. (Current GPS standard.) /summary>

WGS1984 

summary> ON::EarthCoordinateSystem::EGM2008 Earth Gravitational Model 2008 standard. /summary>

EGM2008 

◆ eCurveType

Enumerator
ctCurve 

nothing

ctArc 
ctCircle 
ctLine 
ctNurbs 
ctOnsurface 
ctProxy 
ctPolycurve 
ctPolyline 

◆ endian

enum ON::endian : unsigned int
strong
Enumerator
little_endian 

least significant byte first or reverse byte order - Intel x86, ...

big_endian 

most significant byte first - Motorola, Sparc, MIPS, ...

◆ exception_type

Enumerator
unknown_exception 
out_of_memory 
corrupt_object 

invalid object encountered - continuing would crash or result in corrupt object being saved in archive.

unable_to_write_archive 

write operation failed - out of file space/read only mode/...?

unable_to_read_archive 

read operation failed - truncated archive/locked file/... ?

unable_to_seek_archive 

seek operation failed - locked file/size out of bounds/... ?

unexpected_end_of_archive 

truncated archive

unexpected_value_in_archive 

corrupt archive?

◆ knot_style

< if a knot vector meets the conditions of two styles,

Enumerator
unknown_knot_style 

then the style with the lowest value is used

unknown knot style

uniform_knots 

uniform knots (ends not clamped)

quasi_uniform_knots 

uniform knots (clamped ends, degree >= 2)

piecewise_bezier_knots 

all internal knots have full multiplicity

clamped_end_knots 

clamped end knots (with at least 1 interior non-uniform knot)

non_uniform_knots 

known to be none of the above

knot_style_count 

◆ layer_mode

layer mode /////////////////////////////////////////////////////////// OBSOLETE

Enumerator
normal_layer 

visible, objects on layer can be selected and changed

hidden_layer 

not visible, objects on layer cannot be selected or changed

locked_layer 

visible, objects on layer cannot be selected or changed

layer_mode_count 

◆ LengthUnitSystem

enum ON::LengthUnitSystem : unsigned char
strong

ON::LengthUnitSystem identifies a length unit system United States customary length units references: http://www.nist.gov/pml/wmd/metric/upload/frn-59-5442-1959.pdf http://en.wikipedia.org/wiki/United_States_customary_units http://en.wikipedia.org/wiki/International_yard_and_pound

unit_system ///////////////////////////////////////////////////////////////

Enumerator
None 

summary> ON::LengthUnitSystem::None indicates no length unit system. The scale factor when converting between a specified unit system and None is always 1.0. ON::LengthUnitSystem::None is used as a unit system for models and instance defitions that should be imported or referenced with no scaling applied. /summary> summary> 1 angstroms = 1.0e-10 meters /summary>

Angstroms 
Nanometers 

SI (metric) units.

summary> 1 nanometer = 1.0e-9 meters /summary> summary> 1 micron = 1.0e-6 meters /summary>

Microns 

summary> 1 millimeter = 1.0e-3 meters /summary>

Millimeters 

summary> 1 centimeter = 1.0e-2 meters /summary>

Centimeters 

summary> 1 decimeter = 1.0e-1 meters /summary>

Decimeters 

summary> SI meter length unit /summary>

Meters 

summary> 1 dekameter = 1.0e+1 meters /summary>

Dekameters 

1.0e+1 meters

summary> 1 hectometer = 1.0e+2 meters /summary>

Hectometers 

summary> 1 kilometer = 1.0e+3 meters /summary>

Kilometers 

summary> 1 megameter = 1.0e+6 meters /summary>

Megameters 

summary> 1 gigameter = 1.0e+9 meters /summary>

Gigameters 

summary> 1 microinches = 2.54e-8 meters = 1.0e-6 inches /summary>

Microinches 

summary> 1 mil = 2.54e-5 meters = 0.001 inches /summary>

Mils 

summary> 1 inch = 0.0254 meters = 1/12 foot /summary>

Inches 

summary> 1 foot = 0.3048 meters (12 inches) /summary>

Feet 

summary> 1 foot = 0.3048 meters = 12 inches /summary>

Yards 

summary> 1 US statute mile = 1609.344 meters = 5280 feet /summary>

Miles 

summary> 1 printer point = 1/72 inch /summary>

PrinterPoints 

summary> 1 printer pica = 1/6 inch /summary>

PrinterPicas 
NauticalMiles 

terrestrial distances

summary> 1 nautical mile = 1852 meters Approximately 1 minute of arc on a terrestrial great circle. Reference: http://en.wikipedia.org/wiki/Nautical_mile /summary>

AstronomicalUnits 

astronomical distances

summary> 1 astronomical unit = 1.4959787e+11 meters An astronomical unit (au) is the mean distance from the center of the earth to the center of the sun. References: http://en.wikipedia.org/wiki/Astronomical_unit (1.4959787e+11 meters) http://units.nist.gov/Pubs/SP811/appenB9.htm (1.495979e+11 meters) /summary> summary> 1 light year = 9.4607304725808e+15 meters A light year is the distance light travels in one Julian year. The speed of light is exactly 299792458 meters/second. A Julian year is exactly 365.25 * 86400 seconds and is approximately the time it takes for one earth orbit. References: http://en.wikipedia.org/wiki/Light_year (9.4607304725808e+15 meters) http://units.nist.gov/Pubs/SP811/appenB9.htm (9.46073e+15 meters) /summary>

LightYears 

summary> 1 parsec = 3.08567758e+16 meters References: http://en.wikipedia.org/wiki/Parsec (3.08567758e+16 meters) http://units.nist.gov/Pubs/SP811/appenB9.htm (3.085678e+16) /summary>

Parsecs 

summary> The name of a custom unit and the conversion to meters are saved in the ON_UnitSystem class. /summary>

CustomUnits 

summary> The ON::LengthUnitSystem::Unset is used to indicate no unit system is set. This is a differnt condition from ON::LengthUnitSystem::None. /summary>

Unset 

◆ light_style

Enumerator
unknown_light_style 
camera_directional_light 

light location and direction in camera coordinates

view_directional_light = 1, ///< light location and direction in clip coordinates view_point_light = 2, view_spot_light = 3,

camera_point_light 

+x points to right, +y points up, +z points towards camera

camera_spot_light 
world_directional_light 

light location and direction in world coordinates

world_point_light 
world_spot_light 
ambient_light 

pure ambient light

world_linear_light 
world_rectangular_light 
light_style_count 

◆ mesh_type

Enumerator
default_mesh 
render_mesh 
analysis_mesh 
preview_mesh 
any_mesh 

◆ object_color_source

Enumerator
color_from_layer 

use color assigned to layer

color_from_object 

use color assigned to object

color_from_material 

use diffuse render material color

color_from_parent 

for objects with parents (like objects in instance references, use parent linetype) if no parent, treat as color_from_layer

◆ object_decoration

Enumerator
no_object_decoration 
start_arrowhead 

arrow head at start

end_arrowhead 

arrow head at end

both_arrowhead 

arrow heads at start and end

◆ object_linetype_source

Enumerator
linetype_from_layer 

use line style assigned to layer

linetype_from_object 

use line style assigned to object

linetype_from_parent 

for objects with parents (like objects in instance references, use parent linetype) if not parent, treat as linetype_from_layer.

◆ object_material_source

Enumerator
material_from_layer 

use material assigned to layer

material_from_object 

use material assigned to object

material_from_parent 

for objects with parents, like definition geometry in instance references and faces in polysurfaces, this value indicates the material definition should come from the parent. If the object does not have an obvious "parent", then treat it the same as material_from_layer.

◆ object_mode

Enumerator
normal_object 

object mode comes from layer

hidden_object 

not visible, object cannot be selected or changed

locked_object 

visible, object cannot be selected or changed

idef_object 

object is part of an ON_InstanceDefinition. The ON_InstanceDefinition m_object_uuid[] array will contain this object attribute's uuid.

object_mode_count 

◆ object_type

Enumerator
unknown_object_type 

Use with ON_Object::ObjectType() in situations where using a switch() is better than a long string of if else if ... if ( ON_Curve::Cast() ) ... else if ( ON_Surface::Cast() ) ... ...

point_object 

some type of ON_Point

pointset_object 

some type of ON_PointCloud, ON_PointGrid, ...

curve_object 

some type of ON_Curve like ON_LineCurve, ON_NurbsCurve, etc.

surface_object 

some type of ON_Surface like ON_PlaneSurface, ON_NurbsSurface, etc.

brep_object 

some type of ON_Brep

mesh_object 

some type of ON_Mesh

layer_object 

some type of ON_Layer

material_object 

some type of ON_Material

light_object 

some type of ON_Light

annotation_object 

some type of ON_Annotation

userdata_object 

some type of ON_UserData

instance_definition 

some type of ON_InstanceDefinition

instance_reference 

some type of ON_InstanceRef

text_dot 

some type of ON_TextDot

grip_object 

selection filter value - not a real object type

detail_object 

some type of ON_DetailView

hatch_object 

some type of ON_Hatch

morph_control_object 

some type of ON_MorphControl

subd_object 

some type of ON_SubD, ON_SubDRef, ON_SubDComponentRef, ON_SubD....

loop_object 

some type of ON_BrepLoop

brepvertex_filter 

selection filter value - not a real object type (ON_BrepVertex)

polysrf_filter 

selection filter value - not a real object type

edge_filter 

selection filter value - not a real object type (ON_BrepEdge with associated ON_BrepTrim)

polyedge_filter 

selection filter value - not a real object type

meshvertex_filter 

selection filter value - not a real object type (ON_MeshTopologyVertex, ON_SubDVertex)

NOTE WELL: The "mesh" vertex/edge/face filters and "meshcomponent_reference" are used to identify ON_Mesh and ON_SubD components. By the time subd_object was added, there were not enough unused bits for separate subd component filters.

meshedge_filter 

selection filter value - not a real object type (ON_MeshTopologyEdge, ON_SubDEdge)

meshface_filter 

selection filter for ON_Mesh triangle, quad, ngon, or ON_SubDFace - not a real object type

meshcomponent_reference 

an ON_MeshComponentRef or ON_SubDComponentRef)

cage_object 

some type of ON_NurbsCage

phantom_object 
clipplane_object 
extrusion_object 

some type of ON_Extrusion

any_object 

◆ OBSOLETE_DistanceDisplayMode

enum ON::OBSOLETE_DistanceDisplayMode : unsigned char
strong

Obsolete - use ON_DimStyle::DimensionLengthDisplay.

Enumerator
Decimal 

Obsolete - Obsolete - use ON_DimStyle::DimensionLengthDisplay::ModelUnits.

Fractional 

Obsolete - Obsolete - use ON_DimStyle::DimensionLengthDisplay::InchesFractional.

FeetInches 

Obsolete - Obsolete - use ON_DimStyle::DimensionLengthDisplay::FeetAndInches.

◆ osnap_mode

Types of object snapping.
In situations where more than one type of snap applies, snaps with higher value take precedence. enum values must be a power of 2. ON_ObjRef saves these values in files. Do not change the values. The reason for the gaps between the enum values is to leave room for future snaps with prededence falling between existing snaps

Enumerator
os_none 
os_near 
os_focus 
os_center 
os_vertex 
os_knot 
os_quadrant 
os_midpoint 
os_intersection 
os_end 
os_perpendicular 
os_tangent 
os_point 
os_all_snaps 

◆ plot_color_source

Enumerator
plot_color_from_layer 

use plot color assigned to layer

plot_color_from_object 

use plot color assigned to object

plot_color_from_display 

use display color

plot_color_from_parent 

for objects with parents (like objects in instance references, use parent plot color) if no parent, treat as plot_color_from_layer

◆ plot_weight_source

Enumerator
plot_weight_from_layer 

use plot color assigned to layer

plot_weight_from_object 

use plot color assigned to object

plot_weight_from_parent 

for objects with parents (like objects in instance references, use parent plot color) if no parent, treat as plot_color_from_layer

◆ point_style

Enumerator
unknown_point_style 
not_rational 
homogeneous_rational 
euclidean_rational 
intrinsic_point_style 

point format used in definition

point_style_count 

◆ ReadFileResult

enum ON::ReadFileResult : unsigned char
strong

ON::ReadFileResult reports what happened when a file read was attempted.

Enumerator
Unset 

summary> No result is available. /summary> summary> Read completed with no errors. /summary>

Completed 

summary> Read completed with non fatal errors. /summary>

CompletedWithErrors 

summary> Read failed. /summary>

Failed 

◆ RichTextStyle

enum ON::RichTextStyle : unsigned char
strong

Rich text style

OBSOLETE The way rich text specifies fonts and other information depends on what created the rich text. The interpretation of the rich text "specification" varies widely and depends on the application, platform, and operating system.


Enumerator
Unset 

Unset"

Windows10SDK 

Rich text for use with the Windows 10 SDK. The font table uses Windows LOGFONT names.

AppleOSXSDK 

Rich text for use with the Apple OS X SDK. The font table uses Postscript names.

◆ RuntimeEnvironment

enum ON::RuntimeEnvironment : unsigned char
strong

ON::RuntimeEnvironment identifies a runtime environment (operating system). This value is saved in binary archives so appropriate adjustments to resources provided by runtime environments, like fonts, can be made when an archive created in one runtime environment is used in another.

Enumerator
Unset 

summary> ON::RuntimeEnvironment::Unset indicates no runtime is set. /summary> summary> ON::RuntimeEnvironment::None indicates no runtime. This is a different condition from ON::Runtime::Unset. /summary>

None 

summary> ON::RuntimeEnvironment::Windows indicates some version of Microsoft Windows. /summary>

Windows 

summary> ON::RuntimeEnvironment::Apple indicates some version of Apple OS X or iOS. /summary>

Apple 

summary> ON::RuntimeEnvironment::Android indicates some version of Google Android. /summary>

Android 

summary> ON::RuntimeEnvironment::Linux indicates some version of Linux. /summary>

Linux 

◆ sort_algorithm

enum ON::sort_algorithm : unsigned int
strong
Enumerator
heap_sort 
quick_sort 

◆ surface_style

Enumerator
unknown_surface_style 
plane 
circular_cylinder 

portion of right circular cylinder

elliptical_cylinder 

portion of right elliptical cylinder

circular_cone 

portion of right circular cone

elliptical_cone 

portion of right elliptical cone

sphere 

portion of sphere

torus 

portion of torus

surface_of_revolution 

portion of surface of revolution that is none of the above

ruled_surface 

portion of a ruled surface this is none of the above

freeform_surface 

known to be none of the above

surface_style_count 

◆ TextHorizontalAlignment

enum ON::TextHorizontalAlignment : unsigned char
strong

Horizontal location of text attach point relative to text

Enumerator
Left 

Attach at left of text lines (Independent of glyphs being displayed.)

Center 

Attach point at center of text horizontal advance (not glyph bounding box)

Right 

Attach point at right text horizontal advance (not glyph bounding box)

Auto 

Used for Leaders only Attach point adjusts to Right or Left depending on leader tail direction in view If tail direction is to the Left, alignment is Right If tail direction is to the Right, alignment is Left

◆ TextOrientation

enum ON::TextOrientation : unsigned char
strong

Method for getting rotation for drawing text

Enumerator
InPlane 

Text has fixed rotation on a world coordinate plane

InView 

Text is drawn on a plane perpendicular to view direction horizontal to the screen

◆ texture_mode

texture mapping mode ///////////////////////////////////////////////////

OBSOLETE

Enumerator
no_texture 

texture disabled

modulate_texture 

modulate with material diffuse color

decal_texture 

decal

◆ TextVerticalAlignment

enum ON::TextVerticalAlignment : unsigned char
strong

Vertical location of text attach point relative to text

Enumerator
Top 

summary> Attach to top of an "I" on the first line. (Independent of glyphs being displayed.) /summary> summary> Attach to middle of an "I" on the first line. (Independent of glyphs being displayed.) /summary>

MiddleOfTop 

summary> Attach to baseline of first line. (Independent of glyphs being displayed.) /summary>

BottomOfTop 

summary> Attach to middle of text vertical advance. (Independent of glyphs being displayed.) /summary>

Middle 

summary> Attach to middle of an "I" on the last line. (Independent of glyphs being displayed.) /summary>

MiddleOfBottom 

summary> Attach to the basline of the last line. (Independent of glyphs being displayed.) /summary>

Bottom 

summary> Attach to the bottom of the boudning box of the visible glyphs. /summary>

BottomOfBoundingBox 

TODO - changed to BottomOfBoundingBox.

◆ v3_display_mode

Legacy V3 display mode enum values. Beginning with V4, opennurbs and Rhino us an ON_UUID to identify display modes. The standard display mode ids are static values in ON_StandardDisplayModeId.

Enumerator
v3_default_display 

default display

v3_wireframe_display 

wireframe display

v3_shaded_display 

shaded display

v3_renderpreview_display 

render preview display

◆ view_projection

enum ON::view_projection : unsigned int

The x/y/z_2pt_perspective_view projections are ordinary perspective projection. Using these values insures the ON_Viewport member fuctions properly constrain the camera up and camera direction vectors to preserve the specified perspective vantage.

Enumerator
unknown_view 
parallel_view 
perspective_view 

◆ view_type

Enumerator
model_view_type 

standard model space 3d view

page_view_type 

a.k.a "paper space", "plot view", etc. A page view must be orthographic, the camera frame x,y,z direction must be world x,y,z (which means the camera direction is always (0,0,-1)).

nested_view_type 

This view is a "model" view that is nested in another view. The nesting and parent information is saved in ON_3dmView.

Member Function Documentation

◆ ActiveSpace()

static active_space ON::ActiveSpace ( int  )
static

convert integer to active_space enum

◆ AngleUnitScale()

static double ON::AngleUnitScale ( ON::AngleUnitSystem  us_from,
ON::AngleUnitSystem  us_to 
)
static

◆ AngleUnitSystemFromUnsigned()

static ON::AngleUnitSystem ON::AngleUnitSystemFromUnsigned ( unsigned int  angle_unit_system_as_unsigned)
static

◆ AnnotationTypeFromUnsigned()

static ON::AnnotationType ON::AnnotationTypeFromUnsigned ( unsigned int  annotation_type_as_unsigned)
static

◆ ArchiveMode()

static archive_mode ON::ArchiveMode ( int  )
static

convert integer to endian enum

◆ Begin()

static void ON::Begin ( )
static

Description: Call before using openNURBS to ensure all class definitions are linked.

◆ BitmapType()

static bitmap_type ON::BitmapType ( int  )
static

convert integer to bitmap_type enum

◆ CloseAllFiles()

static int ON::CloseAllFiles ( )
static

like _fcloseall() - needed when OpenNURBS is used as a DLL

◆ CloseFile()

static int ON::CloseFile ( FILE *  )
static

◆ ComponentNameConflictResolutionFromUnsigned()

static ON::ComponentNameConflictResolution ON::ComponentNameConflictResolutionFromUnsigned ( unsigned int  component_name_conflict_resolution_as_unsigned)
static

◆ Continuity()

static continuity ON::Continuity ( int  )
static

Description: Convert int to ON::continuity enum value

◆ CoordinateSystem()

static coordinate_system ON::CoordinateSystem ( int  )
static

convert integer to coordinate_system enum

◆ CubicLoftEndCondition()

static cubic_loft_end_condition ON::CubicLoftEndCondition ( int  i)
static

Description: Convert an integer to cubic_loft_end_condition enum. Parameters: i - [in] Returns: corresponding cubic_loft_end_condition enum value. Remarks: If i does not correspond to a cubic_loft_end_condition enum value, then cubic_loft_ec_quadratic is returned.

◆ CurrentRuntimeEnvironment()

static ON::RuntimeEnvironment ON::CurrentRuntimeEnvironment ( )
static

Returns: Current runtime environment.

◆ CurvatureStyle()

static curvature_style ON::CurvatureStyle ( int  )
static

convert integer to curvature_style enum

◆ CurveStyle()

static curve_style ON::CurveStyle ( int  )
static

convert integer to curve_style enum

◆ DistanceDisplayModeFromUnsigned()

static ON::OBSOLETE_DistanceDisplayMode ON::DistanceDisplayModeFromUnsigned ( unsigned int  distance_display_mode_as_unsigned)
static

◆ EarthCoordinateSystemFromUnsigned()

static ON::EarthCoordinateSystem ON::EarthCoordinateSystemFromUnsigned ( unsigned int  earth_coordinte_system_as_unsigned)
static

◆ End()

static void ON::End ( )
static

Description: Call when finished with openNURBS. Remarks: Currently does nothing.

◆ Endian() [1/2]

static endian ON::Endian ( )
static

returns endian-ness of current CPU

◆ Endian() [2/2]

static endian ON::Endian ( int  )
static

convert integer to endian enum

◆ ExceptionType()

static exception_type ON::ExceptionType ( int  )
static

convert integer to exception_type enum

◆ GetFileStats() [1/2]

static bool ON::GetFileStats ( const wchar_t *  filename,
size_t *  filesize,
time_t *  create_time,
time_t *  lastmodify_time 
)
static

Description: Uses the flavor of fstat that is appropriate for the platform. Parameters: filename - [in] fp - [in] filesize - [out] (can be nullptr if you do not want filesize) create_time - [out] (can be nullptr if you do not want last create time) lastmodify_time - [out] (can be nullptr if you do not want last modification time) Returns: True if file exists, can be opened for read, and fstat worked.

◆ GetFileStats() [2/2]

static bool ON::GetFileStats ( FILE *  fp,
size_t *  filesize,
time_t *  create_time,
time_t *  lastmodify_time 
)
static

◆ IsDirectory() [1/2]

static bool ON::IsDirectory ( const char *  utf8pathname)
static

◆ IsDirectory() [2/2]

static bool ON::IsDirectory ( const wchar_t *  pathname)
static

Returns true if pathname is a directory.

◆ IsExtraTerrestrialLengthUnit()

static bool ON::IsExtraTerrestrialLengthUnit ( ON::LengthUnitSystem  length_unit_system)
static

◆ IsMetricLengthUnit()

static bool ON::IsMetricLengthUnit ( ON::LengthUnitSystem  length_unit_system)
static

◆ IsMicroscopicLengthUnit()

static bool ON::IsMicroscopicLengthUnit ( ON::LengthUnitSystem  length_unit_system)
static

◆ IsOpenNURBSFile() [1/3]

static int ON::IsOpenNURBSFile ( const char *  utf8pathname)
static

◆ IsOpenNURBSFile() [2/3]

static int ON::IsOpenNURBSFile ( const wchar_t *  pathname)
static

Returns If the file is an opennurbs file, the version of the file is returned (2,3,4,50,...). If the file is not an opennurbs file, 0 is returned.

◆ IsOpenNURBSFile() [3/3]

static int ON::IsOpenNURBSFile ( FILE *  fp)
static

◆ IsParallelProjection()

static bool ON::IsParallelProjection ( ON::view_projection  projection)
static

Parameters: projection - [in] Returns: True if projection is ON::parallel_view.

◆ IsPerspectiveProjection()

static bool ON::IsPerspectiveProjection ( ON::view_projection  projection)
static

Parameters: projection - [in] Returns: True if projection is ON::perspective_view.

◆ IsTerrestrialLengthUnit()

static bool ON::IsTerrestrialLengthUnit ( ON::LengthUnitSystem  length_unit_system)
static

◆ IsUnitedStatesCustomaryLengthUnit()

static bool ON::IsUnitedStatesCustomaryLengthUnit ( ON::LengthUnitSystem  length_unit_system)
static

◆ IsUnitedStatesPrinterLengthUnit()

static bool ON::IsUnitedStatesPrinterLengthUnit ( ON::LengthUnitSystem  length_unit_system)
static

Returns True if the length unit is one of LengthUnitSystem::PrinterPoints LengthUnitSystem::PrinterPicas

◆ KnotStyle()

static knot_style ON::KnotStyle ( int  )
static

convert integer to knot_style enum

◆ LayerMode()

static layer_mode ON::LayerMode ( int  )
static

convert integer to layer_mode enum

◆ LengthUnitSystemFromUnsigned()

static ON::LengthUnitSystem ON::LengthUnitSystemFromUnsigned ( unsigned int  length_unit_system_as_unsigned)
static

◆ LibraryStatus()

static unsigned int ON::LibraryStatus ( )
static

Returns: 0: not initialized 1: in the body of ON:Begin() 2: ON::Begin() has finished.

◆ LightStyle()

static light_style ON::LightStyle ( int  )
static

convert integer to light_style enum

◆ MeshType()

static mesh_type ON::MeshType ( int  )
static

convert integer to mesh_type enum

◆ ModelLengthUnitSystem()

static ON::LengthUnitSystem ON::ModelLengthUnitSystem ( ON__UINT_PTR  model_serial_number)
static

Parameters: model_serial_number - [in] One good way to get this value is from ON_ModelComponent::ModelSerialNumber(). ON_DimStyle, ON_Layer, ... are all derived from ON_ModelComponent. Returns: The length unit system used by the model

◆ ObjectColorSource()

static object_color_source ON::ObjectColorSource ( int  )
static

convert integer to object_color_source enum

◆ ObjectDecoration()

static object_decoration ON::ObjectDecoration ( int  )
static

convert integer to line_pattern enum

◆ ObjectLinetypeSource()

static object_linetype_source ON::ObjectLinetypeSource ( int  )
static

convert integer to object_linetype_source enum

◆ ObjectMaterialSource()

static object_material_source ON::ObjectMaterialSource ( int  )
static

convert integer to object_color_source enum

◆ ObjectMode()

static object_mode ON::ObjectMode ( int  )
static

convert integer to object_mode enum

◆ ObjectType()

static object_type ON::ObjectType ( int  )
static

convert integer to object_type enum

◆ OpenFile() [1/2]

static FILE* ON::OpenFile ( const char *  filename,
const char *  filemode 
)
static
Parameters
filenamelike fopen() - needed when OpenNURBS is used as a DLL

◆ OpenFile() [2/2]

static FILE* ON::OpenFile ( const wchar_t *  filename,
const wchar_t *  filemode 
)
static
Parameters
filenamelike fopen() - needed when OpenNURBS is used as a DLL

◆ OSnapMode()

static osnap_mode ON::OSnapMode ( int  )
static

convert integer to osnap_mode enum

◆ ParametricContinuity()

static continuity ON::ParametricContinuity ( int  )
static

Description: Convert int to ON::continuity enum value and convert the locus flavored values to the parametric flavored values.

◆ PlotColorSource()

static plot_color_source ON::PlotColorSource ( int  )
static

convert integer to plot_color_source enum

◆ PlotWeightSource()

static plot_weight_source ON::PlotWeightSource ( int  )
static

convert integer to plot_color_source enum

◆ PointStyle()

static point_style ON::PointStyle ( int  )
static

convert integer to point_style enum

◆ PolylineContinuity()

static continuity ON::PolylineContinuity ( int  )
static

Description: Convert int to ON::continuity enum value and convert the higher order flavored values to the corresponding C1 or G1 values needed to test piecewise linear curves.

◆ ReadFileCompleted()

static bool ON::ReadFileCompleted ( ON::ReadFileResult  read_file_result)
static

Returns: True if the value of read_file_result is one indicating partial to complete success. False if read_file_result is ON::ReadFileResult::Unset or ON::ReadFileResult::Failed.

◆ ReadFileFailed()

static bool ON::ReadFileFailed ( ON::ReadFileResult  read_file_result)
static

Returns: True if the value of read_file_result is one indicating total failure. False if read_file_result is ON::ReadFileResult::Unset or a value indicating partial to complete success.

◆ ReadFileResultFromUnsigned()

static ON::ReadFileResult ON::ReadFileResultFromUnsigned ( unsigned int  read_file_result_as_unsigned)
static

◆ RegisterModelLengthUnitSystemCallback()

static void ON::RegisterModelLengthUnitSystemCallback ( ON::LengthUnitSystem(*)(ON__UINT_PTR)  func_ModelLengthUnitSystemCallback)
static

◆ RichTextStyleFromCurrentPlatform()

static ON::RichTextStyle ON::RichTextStyleFromCurrentPlatform ( )
static

◆ RichTextStyleFromUnsigned()

static ON::RichTextStyle ON::RichTextStyleFromUnsigned ( unsigned int  u)
static

◆ RuntimeEnvironmentFromUnsigned()

static ON::RuntimeEnvironment ON::RuntimeEnvironmentFromUnsigned ( unsigned int  runtime_environment_as_unsigned)
static

◆ SetLibraryStatus()

static void ON::SetLibraryStatus ( unsigned int  status)
static

Set the library status

◆ SortAlgorithm()

static sort_algorithm ON::SortAlgorithm ( int  )
static

convert integer to sort_method enum

◆ SourceGitBranchName()

static const char* ON::SourceGitBranchName ( )
static

Returns: Empty string or the name of the git branch containing the source code used to build this application. Remarks: Developer builds return "". Build system builds return the git branch name or "".

◆ SourceGitRevisionHash()

static const char* ON::SourceGitRevisionHash ( )
static

Returns: Empty string or the git hash of the revison of the source code used to build this application. The git hash is a hexadecimal number represented in UTF-8 string. Remarks: Developer builds return "". Build system builds return the git revsion hash.

◆ SourceIdentification()

static const char* ON::SourceIdentification ( )
static

Returns: A string that identifies the McNeel version control system source code to build this application. Remarks: Developer builds return "". Build system builds return the git <branch name> @ <git revision hash> or "".

◆ SurfaceStyle()

static surface_style ON::SurfaceStyle ( int  )
static

convert integer to surface_style enum

◆ TextHorizontalAlignmentFromUnsigned()

static ON::TextHorizontalAlignment ON::TextHorizontalAlignmentFromUnsigned ( unsigned int  horizontal_alignment_as_unsigned)
static

◆ TextHorizontalAlignmentFromV5Justification()

static ON::TextHorizontalAlignment ON::TextHorizontalAlignmentFromV5Justification ( unsigned int  v5_justification_bits)
static

◆ TextOrientationFromUnsigned()

static ON::TextOrientation ON::TextOrientationFromUnsigned ( unsigned int  orientation_as_unsigned)
static

◆ TextureMode()

static texture_mode ON::TextureMode ( int  )
static

OBSOLETE.

convert integer to texture_mode enum

◆ TextVerticalAlignmentFromUnsigned()

static ON::TextVerticalAlignment ON::TextVerticalAlignmentFromUnsigned ( unsigned int  vertical_alignment_as_unsigned)
static

◆ TextVerticalAlignmentFromV5Justification()

static ON::TextVerticalAlignment ON::TextVerticalAlignmentFromV5Justification ( unsigned int  v5_justification_bits)
static

◆ UnitScale() [1/5]

static double ON::UnitScale ( const class ON_3dmUnitsAndTolerances us_from,
const class ON_3dmUnitsAndTolerances us_to 
)
static

◆ UnitScale() [2/5]

static double ON::UnitScale ( const class ON_UnitSystem us_from,
const class ON_UnitSystem us_to 
)
static

◆ UnitScale() [3/5]

static double ON::UnitScale ( const class ON_UnitSystem us_from,
ON::LengthUnitSystem  us_to 
)
static

◆ UnitScale() [4/5]

static double ON::UnitScale ( ON::LengthUnitSystem  us_from,
const class ON_UnitSystem us_to 
)
static

◆ UnitScale() [5/5]

static double ON::UnitScale ( ON::LengthUnitSystem  us_from,
ON::LengthUnitSystem  us_to 
)
static

Description: Scale factor for changing unit "standard" systems. Parameters: us_from - [in] us_to - [in] For example:

    100.0 = ON::UnitScale( ON::LengthUnitSystem::Meters, ON::LengthUnitSystem::Centimeters ) 
    2.54  = ON::UnitScale( ON::LengthUnitSystem::Inches, ON::LengthUnitSystem::Centimeters ) 
    12.0  = ON::UnitScale( ON::LengthUnitSystem::Feet,   ON::LengthUnitSystem::Inches ) 

Remarks: If you are using custom unit systems, use the version that takes ON_UnitSystem or ON_3dmUnitsAndTolerances parameters. If either parameter is ON::LengthUnitSystem::Unset, then ON_DBL_QNAN is returned. If either parameter is ON::LengthUnitSystem::None, then 1.0 is returned. If either parameter is ON::LengthUnitSystem::CustomUnits, then 1.0 is returned.

◆ V3DisplayMode()

static ON::v3_display_mode ON::V3DisplayMode ( int  )
static

convert integer to legacy v3_display_mode enum

◆ Version()

static unsigned int ON::Version ( )
static

Returns: The value of OPENNURBS_VERSION_NUMBER, which is defined in opennurbs_version.h. Remarks: The high bit of this number is set. Do not cast the result as an int.

◆ VersionBranch()

static unsigned int ON::VersionBranch ( )
static

Returns: The value of OPENNURBS_VERSION_BRANCH, which is defined in opennurbs_version.h 0: developer build 1: Windows Commercial build 2: Mac Commercial build 3: Windows BETA build 4: Mac Beta build 5: Windows WIP build 6: Mac WIP build

◆ VersionDayOfMonth()

static unsigned int ON::VersionDayOfMonth ( )
static

Returns: The value of OPENNURBS_VERSION_DAY_OF_MONTH, which is defined in opennurbs_version.h (1 to 31).

◆ VersionGetQuartet()

static unsigned int ON::VersionGetQuartet ( unsigned int  version_quartet[4])
static

Description: Get the opennurbs version number as a quartet of values. Parameters: version_quartet - [out] version_quartet[0] = ON::VersionMajor() version_quartet[1] = ON::VersionMinor() version_quartet[2] = (year - 2000)*1000 + day_of_year version_quartet[3] = (hour*1000 + minute*10 + OPENNURBS_VERSION_BRANCH) Returns: The value of OPENNURBS_VERSION_NUMBER, which is defined in opennurbs_version.h. Remarks: The high bit of the returned value is set. Do not cast the result as an int.

◆ VersionHour()

static unsigned int ON::VersionHour ( )
static

Returns: The value of OPENNURBS_VERSION_HOUR, which is defined in opennurbs_version.h (0 to 23).

◆ VersionMajor()

static unsigned int ON::VersionMajor ( )
static

Returns: The value of OPENNURBS_VERSION_MAJOR, which is defined in opennurbs_version.h (0 to 63).

◆ VersionMajorMaximum()

static unsigned int ON::VersionMajorMaximum ( )
static

Returns: 63 = maximum major version number that opennurbs version number utilities can handle.

◆ VersionMinor()

static unsigned int ON::VersionMinor ( )
static

Returns: The value of OPENNURBS_VERSION_MINOR, which is defined in opennurbs_version.h (0 to 127).

◆ VersionMinorMaximum()

static unsigned int ON::VersionMinorMaximum ( )
static

Returns: 127 = maximum minor version number that opennurbs version number utilities can handle.

◆ VersionMinute()

static unsigned int ON::VersionMinute ( )
static

Returns: The value of OPENNURBS_VERSION_MINUTE, which is defined in opennurbs_version.h (0 to 59).

◆ VersionMonth()

static unsigned int ON::VersionMonth ( )
static

Returns: The value of OPENNURBS_VERSION_MONTH, which is defined in opennurbs_version.h 1 to 12.

◆ VersionQuartetAsString()

static const char* ON::VersionQuartetAsString ( )
static

Returns: The value of OPENNURBS_VERSION_QUARTET_STRING, which is defined in opennurbs_version.h. Remarks: The high bit of this number is set. Do not cast the result as an int.

◆ VersionQuartetAsWideString()

static const wchar_t* ON::VersionQuartetAsWideString ( )
static

Returns: The value of OPENNURBS_VERSION_QUARTET_WSTRING, which is defined in opennurbs_version.h. Remarks: The high bit of this number is set. Do not cast the result as an int.

◆ VersionYear()

static unsigned int ON::VersionYear ( )
static

Returns: The value of OPENNURBS_VERSION_YEAR, which is defined in opennurbs_version.h

2014.

◆ ViewProjection()

static view_projection ON::ViewProjection ( int  i)
static

Description: Converts integer into ON::view_projection enum value. Parameters: i - [in] Returns: ON::view_projection enum with same value as i. If i is not an ON::view_projection enum value, then ON::unknow_view is returned.

◆ ViewType()

static view_type ON::ViewType ( int  )
static

convert integer to display_mode enum