Skip to content
Will Pearson edited this page Aug 12, 2016 · 2 revisions

Rhino.Geometry Namespace

The Geometry namespace contains geometric types used in Rhino. Examples are lines, curves, meshes and boundary representations.

Classes

 

Class Description
Public class AngularDimension Represents a dimension of an entity that can be measured with an angle. This entity refers to the geometric element that is independent from the document.
Public class AnnotationArrowhead Arrowhead used by annotation
Public class AnnotationBase Provides a common base class to all annotation geometry. This class refers to the geometric element that is independent from the document.
Public class AnnotationText
Public class ArcCurve Represent arcs and circles. ArcCurve.IsCircle returns true if the curve is a complete circle.
Public class AreaMassProperties Contains static initialization methods and allows access to the computed metrics of area, area centroid and area moments in closed planar curves, in meshes, in surfaces, in hatches and in boundary representations.
Public class BezierCurve Represents a Bezier curve. Note: as an exception, the bezier curve is not derived from Curve.
Public class Brep Boundary Representation. A surface or polysurface along with trim curve information.
Public class BrepEdge Represents a single edge curve in a Brep object.
Public class BrepFace Provides strongly-typed access to brep faces. A Brep face is composed of one surface and trimming curves.
Public class BrepLoop Represent a single loop in a Brep object. A loop is composed of a list of trim curves.
Public class BrepRegion Represents a brep topological region that has sides.
Public class BrepRegionFaceSide Represents a side of a BrepRegion entity.
Public class BrepTrim Brep trim information is stored in BrepTrim classes. Brep.Trims is an array of all the trims in the brep. A BrepTrim is derived from CurveProxy so the trim can supply easy to use evaluation tools via the Curve virtual member functions. Note well that the domains and orientations of the curve m_C2[trim.m_c2i] and the trim as a curve may not agree.
Public class BrepVertex Brep vertex information
Public class ClippingPlaneSurface Represents a planar surface that is used as clipping plane in viewports.
Public class Curve Represents a base class that is common to most RhinoCommon curve types. A curve represents an entity that can be all visited by providing a single parameter, usually called t.
Public class CurveBlend Represents a blend between two curves or surface edges with specific continuity at each end
Public class CurveProxy Provides strongly-typed access to Brep edges.
Public class DetailView Represents a view of the model placed on a page layout.
Public class Extrusion Represents an extrusion, or objects such as beams or linearly extruded elements, that can be represented by profile curves and two miter planes at the extremes.
Public class GeometryBase Provides a common base for most geometric classes. This class is abstract.
Public class Hatch Represents a hatch in planar boundary loop or loops. This is a 2d entity with a plane defining a local coordinate system. The loops, patterns, angles, etc are all in this local coordinate system. The Hatch object manages the plane and loop array Fill definitions are in the HatchPattern or class derived from HatchPattern Hatch has an index to get the pattern definition from the pattern table.
Public class HiddenLineDrawing Represents a hidden line drawing object. A hidden line drawing consists of curves generated from source objects. The curves correspond to edges, and silhouettes of source objects and intersections with cutting planes.
Public class HiddenLineDrawingObject Represents an object added to a HiddenLineDrawing
Public class HiddenLineDrawingObjectCurve Curves generated from source objects which correspond to edges, and silhouettes of source objects and intersections with cutting planes. A HiddenLineDrawingObjectCurve is partitioned into hidden and visible segments called HiddenLineDrawingSegment
Public class HiddenLineDrawingParameters Input used for computing a hidden line drawing
Public class HiddenLineDrawingSegment The results of HiddenLineDrawing calculation are a collection of segments. A segment is a subcurve of a HiddenLineDrawingObjectCurve.
Public class InstanceDefinitionGeometry Represents a block definition in a File3dm. This is the same as Rhino.DocObjects.InstanceDefinition, but not associated with a RhinoDoc.
Public class InstanceReferenceGeometry Represents a reference to the geometry in a block definition.
Public class Interpolator Exposes a set of standard numeric interpolation algorithms.
Public class Leader Represents a leader, or an annotation entity with text that resembles an arrow pointing to something. This class refers to the geometric element that is independent from the document.
Public class Light Represents a light that shines in the modeling space.
Public class LinearDimension Represents a linear dimension. This entity refers to the geometric element that is independent from the document.
Public class LineCurve Represents a linear curve.
Public class Matrix Represents an arbitrarily sized matrix of double-precision floating point numbers. If you are working with a 4x4 matrix, then you may want to use the Transform class instead.
Public class Mesh Represents a geometry type that is defined by vertices and faces. This is often called a face-vertex mesh.
Public class MeshDisplacementInfo Contains mesh displacement information.
Public class MeshingParameters Represents settings used for creating a mesh representation of a brep or surface.
Public class MeshNgon Represents a mesh ngon.
Public class MeshPart Represents a portion of a mesh for partitioning
Public class MeshPoint Represents a point that is found on a mesh.
Public class MeshUnsafeLock Permits access to the underlying mesh raw data structures in an unsafe way.
Public class MorphControl Represents a geometry that is able to control the morphing behaviour of some other geometry.
Public class NurbsCurve Represents a Non Uniform Rational B-Splines (NURBS) curve.
Public class NurbsSurface Represents a Non Uniform Rational B-Splines (NURBS) surface.
Public class OrdinateDimension Represents the geometry of a dimension that displays a coordinate of a point. This class refers to the geometric element that is independent from the document.
Public class Particle Represents a simple particle. This base class only defines position and display properties (size, color, bitmap id). You will most likely create a class that derives from this particle class to perform some sort of physical simulation (movement over time or frames).
Public class ParticleSystem
Public class PatchGetter
Public class PlaneSurface Represents a plane surface, with plane and two intervals.
Public class Point Represents a geometric point. This is fundamentally a class that derives from GeometryBase and contains a single Point3d location.
Public class Point3dGrid Represents a rectangular grid of 3D points.
Public class PointCloud Represents a collection of coordinates with optional normal vectors and colors.
Public class PointCloudItem Represents a single item in a pointcloud. A PointCloud item always has a location, but it has an optional normal vector and color.
Public class PolyCurve Represents a curve that is the result of joining several (possibly different) types of curves.
Public class Polyline Represents an ordered set of points connected by linear segments. Polylines are closed if start and end points coincide.
Public class PolylineCurve Represents the geometry of a set of linked line segments. This is fundamentally a class that derives from Curve and internally contains a Polyline.
Public class RadialDimension Represents a dimension of a circular entity that can be measured with radius or diameter. This entity refers to the geometric element that is independent from the document.
Public class ReduceMeshParameters Parameters for Reduce method
Public class RevSurface Represents a surface of revolution. Revolutions can be incomplete (they can form arcs).
Public class RLeader Leader geometry class
Public class RTree Represents a spatial search structure based on implementations of the R-tree algorithm by Toni Gutman.
Public class RTreeEventArgs Represents event data that is passed when when an item that meets certain criteria is found and the passed RTree event is raised.
Public class ShutLiningCurveInfo Contains shutlining curve information. This is used in WithShutLining(Boolean, Double, IEnumerable(ShutLiningCurveInfo)).
Public class Silhouette Information about silhouette curves that are generated from geometry (surfaces, brep faces, meshes)
Public class SpaceMorph Represents a spacial, Euclidean morph.
Public class SubD Represents a surface geometry type that is defined by a control net, crease information and a refinement level. This is often called a subdivision surface.

Warning: this object is exposed for early testing. It might change without notice.

Public class SubDDisplayParameters
Public class SubDVertexSectorIterator
Public class SumSurface Represents a sum surface, or an extrusion of a curve along a curved path.
Public class Surface Represents a base class that is common to most RhinoCommon surface types. A surface represents an entity that can be all visited by providing two independent parameters, usually called (u, v), or sometimes (s, t).
Public class SurfaceCurvature Maintains computed information for surface curvature evaluation.
Public class SurfaceProxy Provides a base class to brep faces and other surface proxies.
Public class SweepOneRail Utility class for generating breps by sweeping cross section curves over a single rail curve.
Public class SweepTwoRail Utility class for generating breps by sweeping cross section curves over two rail curves.
Public class TextDot Represents a text dot, or an annotation entity with text that always faces the camera and always has the same size. This class refers to the geometric element that is independent from the document.
Public class TextEntity Represents text geometry. This class refers to the geometric element that is independent from the document.
Public class Unroller Represents the operation of unrolling a single surface.
Public class V6AngularDimension Represents an angular dimension. ON_V6_DimAngular
Public class V6Centermark Represents a centermark. ON_V6_Centermark
Public class V6Dimension Represents a base class for dimensions ON_V6_Dimension
Public class V6LinearDimension Represents a linear dimension. ON_V6_DimLinear
Public class V6OrdinateDimension Represents an ordinate dimension. ON_V6_DimOrdinate
Public class V6RadialDimension Represents a radial dimension. ON_V6_DimRadial
Public class VolumeMassProperties Contains static initialization methods and allows access to the computed metrics of volume, volume centroid and volume moments in in solid meshes, in solid surfaces and in solid (closed) boundary representations.

Structures

 

Structure Description
Public structure Arc Represents the value of a plane, two angles and a radius in a subcurve of a three-dimensional circle. The curve is parameterized by an angle expressed in radians. For an IsValid arc the total subtended angle AngleRadians() = Domain()(1) - Domain()(0) must satisfy 0 < AngleRadians() < 2*Pi

The parameterization of the Arc is inherited from the Circle it is derived from. In particular

t -> center + cos(t)radiusxaxis + sin(t)radiusyaxis

where xaxis and yaxis, (part of Circle.Plane) form an othonormal frame of the plane containing the circle.

Public structure BoundingBox Represents the value of two points in a bounding box defined by the two extreme corner points. This box is therefore aligned to the world X, Y and Z axes.
Public structure Box Represents the value of a plane and three intervals in an orthogonal, oriented box that is not necessarily parallel to the world Y, X, Z axes.
Public structure Circle Represents a circle in 3D. The values used are a radius and an orthonormal frame of the plane containing the circle, with origin at the center.

The circle is parameterized by radians from 0 to 2 Pi given by

t -> center + cos(t)radiusxaxis + sin(t)radiusyaxis

where center, xaxis and yaxis define the orthonormal frame of the circle plane.

Public structure ComponentIndex Represents an index of an element contained in another object.
Public structure ComponentStatus Provides information about selection, highlighting, visibility, editability and integrity states of a component. This structure is immutable.
Public structure Cone Represents the center plane, radius and height values in a right circular cone.
Public structure ControlPoint Represents control-point geometry with three-dimensional position and weight.
Public structure Cylinder Represents the values of a plane, a radius and two heights -on top and beneath- that define a right circular cylinder.
Public structure Ellipse Represents the values of a plane and the two semiaxes radii in an ellipse.
Public structure Interval Represents an interval in one-dimensional space, that is defined as two extrema or bounds.
Public structure Line Represents the value of start and end points in a single line segment.
Public structure MeshFace Represents the values of the four indices of a mesh face quad. If the third and fourth values are the same, this face represents a triangle.
Public structure MeshThicknessMeasurement Thickness measurement used in the mesh thickness solver.
Public structure Plane Represents the value of a center point and two axes in a plane in three dimensions.
Public structure Point2d Represents the two coordinates of a point in two-dimensional space, using Double-precision floating point numbers.
Public structure Point2f Represents the two coordinates of a point in two-dimensional space, using Single-precision floating point numbers.
Public structure Point3d Represents the three coordinates of a point in three-dimensional space, using Double-precision floating point values.
Public structure Point3f Represents the three coordinates of a point in three-dimensional space, using Single-precision floating point numbers.
Public structure Point4d Represents the four coordinates of a point in four-dimensional space. The W (fourth) dimension is often considered the weight of the point as seen in 3D space.
Public structure Quaternion Represents the four coefficient values in a quaternion. The first value a is the real part, while the rest multipies i, j and k, that are imaginary.

quaternion = a + bi + cj + dk

Public structure Ray3d Represents an immutable ray in three dimensions, using position and direction.
Public structure Rectangle3d Represents the values of a plane and two intervals that form an oriented rectangle in three dimensions.
Public structure Sphere Represents the plane and radius values of a sphere.
Public structure SubDEdgeDirPair
Public structure SubDEdgePtr Efficiently manages a reference to an edge in a SubD. Contains connection information to faces and vertices.
Public structure SubDFacePtr Efficiently manages a reference to a polygonal face in a SubD, with any number of sides. Contains connection information to vertices and edges.
Public structure SubDVertexDirPair
Public structure SubDVertexPtr Efficiently manages a reference to a vertex in a SubD. Contains connection information to faces and edges.
Public structure Torus Represents the value of a plane and two radii in a torus that is oriented in three-dimensional space.
Public structure Transform Represents the values in a 4x4 transform matrix. This is parallel to C++ ON_Xform.
Public structure Vector2d Represents the two components of a vector in two-dimensional space, using Double-precision floating point numbers.
Public structure Vector2f Represents the two components of a vector in two-dimensional space, using Single-precision floating point numbers.
Public structure Vector3d Represents the three components of a vector in three-dimensional space, using Double-precision floating point numbers.
Public structure Vector3f Represents the three components of a vector in three-dimensional space, using Single-precision floating point numbers.

Enumerations

 

Enumeration Description
Public enumeration BlendContinuity Used in curve and surface blending functions
Public enumeration BlendType Blend types used for creating filleted Brep edges
Public enumeration BrepLoopType Each brep loop has a defined type, e.g. outer, inner or point on surface.
Public enumeration BrepSolidOrientation Enumerates all possible Solid Orientations for a Brep.
Public enumeration BrepTrimType Each brep trim has a defined type.
Public enumeration ComponentIndexType Defines enumerated values to represent component index types.
Public enumeration ConicSectionType Defines enumerated values for types of conic sections.
Public enumeration Continuity Provides enumerated values for continuity along geometry, such as continuous first derivative or continuous unit tangent and curvature.
Public enumeration CurveBlend.BlendType Describes the kind of connection to the target geometry that a CurveBlend has at its ends
Public enumeration CurveBlend.EndType Describes the kind of connection to the target geometry that a CurveBlend has at its ends.
Public enumerationCode example CurveEnd Defines the extremes of a curve through a flagged enumeration.
Public enumeration CurveEvaluationSide Defines enumerated values for the options that defines a curve evaluation side when evaluating kinks.
Public enumeration CurveExtensionStyle Defines enumerated values for styles to use during curve extension, such as "Line", "Arc" or "Smooth".
Public enumeration CurveKnotStyle Defines enumerated values for knot spacing styles in interpolated curves.
Public enumeration CurveOffsetCornerStyle Defines enumerated values for all implemented corner styles in curve offsets.
Public enumeration CurveOrientation Defines enumerated values for closed curve orientations.
Public enumeration CurveSimplifyOptions Enumerates the options to use when simplifying a curve.
Public enumeration DistancingMode Defines how offset and similar operations should work.
Public enumeration EdgeAdjacency Enumerates all possible Topological Edge adjacency types.
Public enumeration ExtrudeCornerType Corner types used for creating a tapered extrusion
Public enumeration HiddenLineDrawingSegment.SideFill When a silhouette is projected on the image plane (determined by the camera location or direction), and projects to a curve (not a point), the image area to the left or right of a projected silhouette curve is filled with either the surface or a void.
Public enumeration HiddenLineDrawingSegment.Visibility The different types of HiddenLineDrawingSegment visiblity
Public enumeration IsoStatus Defines enumerated values for isoparametric curve direction on a surface, such as X or Y, and curve sides, such as North or West boundary. Note: odd values are all x-constant; even values > 0 are all y-constant.
Public enumeration LightStyle Defines enumerated values to represent light styles or types, such as directional or spotlight.
Public enumeration LoftType Specifies enumerated constants for all supported loft types.
Public enumeration MeshingParameterStyle Type of Mesh Parameters used by the RhinoDoc for meshing objects
Public enumeration MeshPipeCapStyle Enumerates methods to end a mesh pipe.
Public enumeration MeshType Defines enumerated values for various mesh types.
Public enumeration NurbsCurve.NurbsCurveEndConditionType What end conditions to set
Public enumeration PipeCapMode Defines styles used for creating Brep pipes.
Public enumeration PlaneFitResult Enumerates all possible outcomes of a Least-Squares plane fitting operation.
Public enumeration PointContainment Defines enumerated values for closed curve/point spatial relationships.
Public enumeration PointFaceRelation Enumerates the possible point/BrepFace spatial relationships.
Public enumeration RailType Rail types used for creating filleted Brep edges
Public enumeration RegionContainment Defines enumerated values for closed curve/closed curve relationships.
Public enumeration SilhouetteType Enumerates the different types of silhouettes and their origins.
Public enumeration SubD.ConvexCornerOption Defines how convex corners are treated.
Public enumeration SubD.InteriorCreaseOption Defines how interior creases are treated.
Public enumeration SubD.SubDEdgeTag SubD::EdgeTag identifies the type of subdivision edge. Different tags use different subdivision algorithms to determine where the subdivision point is located.
Public enumeration SubD.SubDFacetType SubD::FacetType reports the default facet type for subdivision algorithms.
Public enumeration SubD.SubDType Subdivision algorithm.
Public enumeration SubD.SubDVertexTag SubD::VertexTag identifies the type of subdivision vertex. Different tags use different subdivision algorithms to determine where the subdivision point and limit point are located. There are toplological constraints that restrict which tags can be assigned.
Public enumeration SubD.VertexFacetType Summarizes the number of edges in faces in the whole object.
Public enumeration TextJustification Specifies enumerated constants used to indicate the internal alignment and justification of text.
Public enumeration TextRunType
Public enumeration TransformSimilarityType Lists all possible outcomes for transform similarity.
Public enumeration V6Dimension.DimensionType Type of dimension
Public enumeration V6OrdinateDimension.MeasuredDirection Ordinate dimension measures x or y direction
 
Clone this wiki locally