GeometryBase
Provides a common base for most geometric classes. This class is abstract.
Inheritance Hierarchy
System.Object
Rhino.Runtime.CommonObject
Rhino.Geometry.GeometryBase
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]public abstract class GeometryBase : CommonObject
The GeometryBase type exposes the following members.
Constructors
Name
Description
Protected Method
GeometryBase
Protected constructor for internal use.
Properties
Name
Description
Public Property
Disposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
(Inherited from CommonObject.)
Public Property
HasBrepForm
Returns true if the Brep.TryConvertBrep function will be successful for this object
Public Property
HasUserData
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)
Public Property
IsDeformable
true if object can be accurately modified with “squishy” transformations like projections, shears, and non-uniform scaling.
Public Property
IsDocumentControlled
If true this object may not be modified. Any properties or functions that attempt to modify this object when it is set to “IsReadOnly” will throw a NotSupportedException.
(Overrides
CommonObject.IsDocumentControlled
.)Public Property
IsValid
Tests an object to see if it is valid.
(Inherited from CommonObject.)
Public Property
ObjectType
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
Public Property
UserData
List of custom information that is attached to this class.
(Inherited from CommonObject.)
Public Property
UserDictionary
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
(Inherited from CommonObject.)
Public Property
UserStringCount
Gets the amount of user strings.
Methods
Name
Description
Public Method
ComponentIndex
If this piece of geometry is a component in something larger, like a BrepEdge in a Brep, then this function returns the component index.
Protected Method
ConstructConstObject
Assigns a parent object and a sub-object index to this.
(Inherited from CommonObject.)
Public Method
DataCRC
Returns a CRC calculated from the information that defines the object. This CRC can be used as a quick way to see if two objects are not identical.
Public Method
DeleteAllUserStrings
Public Method
DeleteUserString
Public Method
Dispose.
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Protected Method
Dispose(Boolean)
Overridden in order to destroy local display cache information
(Overrides
CommonObject.Dispose(Boolean)
.)Public Method
Duplicate
Constructs a deep (full) copy of this object.
Public Method
DuplicateShallow
Constructs a light copy of this object. By “light”, it is meant that the same underlying data is used until something is done to attempt to change it. For example, you could have a shallow copy of a very heavy mesh object and the same underlying data will be used when doing things like inspecting the number of faces on the mesh. If you modify the location of one of the mesh vertices, the shallow copy will create a full duplicate of the underlying mesh data and the shallow copy will become a deep copy.
Public Method
EnsurePrivateCopy
If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want.
(Inherited from CommonObject.)
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected Method
Finalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Public Method
Static Member
GeometryEquals
Determines if two geometries equal one another, in pure geometrical shape. This version only compares the geometry itself and does not include any user data comparisons. This is a comparison by value: for two identical items it will be true, no matter where in memory they may be stored.
Public Method
Static Member
GeometryReferenceEquals
Determines if two objects are respectively shallow copies, new managed instantiations of the same geometry, or similar internal references to the exact same geometry, both in managed and in unmanaged code.
Public Method
Code Example
GetBoundingBox(Boolean)
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
Public Method
Code Example
GetBoundingBox(Plane)
Aligned Bounding box solver. Gets the plane aligned bounding box.
Public Method
GetBoundingBox(Transform)
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
Public Method
GetBoundingBox(Plane, Box.)
Aligned Bounding box solver. Gets the plane aligned bounding box.
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
GetUserString
Gets user string from this geometry.
Public Method
GetUserStrings
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
Public Method
IsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
(Inherited from CommonObject.)
Public Method
MakeDeformable
If possible, converts the object into a form that can be accurately modified with “squishy” transformations like projections, shears, an non-uniform scaling.
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public Method
MemoryEstimate
Computes an estimate of the number of bytes that this object is using in memory.
Protected Method
NonConstOperation
Destroy cache handle
(Overrides
CommonObject.NonConstOperation.
.)Protected Method
OnSwitchToNonConst
Is called when a non-constant operation occurs.
(Overrides
CommonObject.OnSwitchToNonConst.
.)Public Method
Rotate
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
Public Method
Scale
Scales the object by the specified factor. The scale is centered at the origin.
Public Method
SetUserString
Attach a user string (key,value combination) to this geometry.
Public Method
ToJSON
Create a JSON string representation of this object
(Inherited from CommonObject.)
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public Method
Transform
Transforms the geometry. If the input Transform has a SimilarityType of OrientationReversing, you may want to consider flipping the transformed geometry after calling this function when it makes sense. For example, you may want to call Flip() on a Brep after transforming it.
Public Method
Translate(Vector3d)
Translates the object along the specified vector.
Public Method
Translate(Double, Double, Double)
Translates the object along the specified vector.
Inheritance Hierarchy
System.Object
Rhino.Runtime.CommonObject
Rhino.Geometry.GeometryBase
Rhino.Geometry.AnnotationBase
Rhino.Geometry.Brep
Rhino.Geometry.BrepLoop
Rhino.Geometry.Curve
Rhino.Geometry.DetailView
Rhino.Geometry.Hatch
Rhino.Geometry.InstanceReferenceGeometry
Rhino.Geometry.Light
Rhino.Geometry.Mesh
Rhino.Geometry.MorphControl
Rhino.Geometry.Point
Rhino.Geometry.Point3dGrid
Rhino.Geometry.PointCloud
Rhino.Geometry.SubD
Rhino.Geometry.Surface
Rhino.Geometry.TextDot