Provides a common base class to all annotation geometry.

This class refers to the geometric element that is independent from the document.

Constructors

AnnotationBase

#
protected AnnotationBase()
Protected constructor for internal use.

AnnotationBase

#
protected AnnotationBase(SerializationInfo info, StreamingContext context)
Protected constructor used in serialization.
info (SerializationInfo)Serialization data.
context (StreamingContext)Serialization stream.

Properties

AlternateDimensionLengthDisplay

#Since v6.0
public DimensionStyle.LengthDisplay AlternateDimensionLengthDisplay { get; set; }
Alternate length display units and format

AnnotationType

#Since v6.0
public virtual AnnotationType AnnotationType { get; }
Type of annotation

DecimalSeparator

#Since v7.0
public char DecimalSeparator { get; set; }
Set or get the decimal separator c

DimensionLengthDisplay

#Since v6.0
public DimensionStyle.LengthDisplay DimensionLengthDisplay { get; set; }
Length display units and format

DimensionScale

#Since v6.0
public double DimensionScale { get; set; }
Gets or sets the dimension scale

DimensionStyle

#Since v6.0
public DimensionStyle DimensionStyle { get; }
If there are no overrides then the parent style is returned otherwise the dimension style saved with the annotation is returned.

DimensionStyleId

#Since v6.0
public Guid DimensionStyleId { get; set; }
Id of this annotation's parent dimstyle If this annotation has overrides to dimstyle properties, those overrides will be represented in the DimensionStyle returned by DimensionStyle(ParentStyle)

Disposed

public bool Disposed { get; }
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
inherited fromCommonObject

DrawForward

#Since v6.0
public bool DrawForward { get; set; }
Gets or sets whether the text is oriented towards the reader when viewed from behind

DrawTextFrame

#Since v7.0
public bool DrawTextFrame { get; set; }
obsoleteDo not use setter as the MaskFrame is an enum. Use MaskFrame property instead
Gets or sets whether to draw a frame around a text mask

FirstCharFont

#Since v6.5
public Font FirstCharFont { get; }
Returns the font used by the first run of text in an annotation

Font

#Since v6.0
public Font Font { get; set; }
The base Font for the text of the annotation. The text string is rich text and therefore a different font that the base font can be associated with sub strings of the text

FontIndex

#Since v6.1
[EditorBrowsable(EditorBrowsableState.Never)] public int FontIndex { get; set; }
obsoleteUse Font property instead. Ex: textEntity.Font = Rhino.DocObjects.Font.FromQuartetProperties("Arial", false, false);
Obsolete; use Font property instead

FormatWidth

#Since v6.0
public double FormatWidth { get; set; }
Text format width (Wrapping rectangle)

HasBrepForm

public bool HasBrepForm { get; }
Returns true if the Brep.TryConvertBrep function will be successful for this object
inherited fromGeometryBase

HasPropertyOverrides

#Since v6.0
public bool HasPropertyOverrides { get; }

HasUserData

public bool HasUserData { get; }
Gets true if this class has any custom information attached to it through UserData.
inherited fromCommonObject

IsDeformable

public bool IsDeformable { get; }
true if object can be accurately modified with "squishy" transformations like projections, shears, and non-uniform scaling.
inherited fromGeometryBase

IsDocumentControlled

public sealed override bool IsDocumentControlled { get; }
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.
inherited fromGeometryBase

IsShallowDuplicate

public bool IsShallowDuplicate { get; }
Is this instance a 'shallow copy'. Shallow copies are no different than regular instances with the exception that they will convert to complete independent 'deep' copies if a non const operation is perform on the instance (something that mutates the internal data)
inherited fromGeometryBase

IsValid

public virtual bool IsValid { get; }
Tests an object to see if it is valid.
inherited fromCommonObject

LineSpaceScale

#Since v9.0
public double LineSpaceScale { get; set; }
Scale applied to line spacing

MaskColor

#Since v6.0
public Color MaskColor { get; set; }
Color to use for drawing a text mask when it is enabled. If the mask is enabled and MaskColor is System.Drawing.Color.Transparent, then the viewport's color will be used for the MaskColor

MaskColorSource

#Since v6.0
public DimensionStyle.MaskType MaskColorSource { get; set; }
Gets or sets whether the mask background color is from the background or from a color

MaskEnabled

#Since v6.0
public bool MaskEnabled { get; set; }
Determines whether or not to draw a Text Mask

MaskFrame

#Since v7.0
public DimensionStyle.MaskFrame MaskFrame { get; set; }
Gets or sets whether to draw a frame around a text mask

MaskOffset

#Since v6.0
public double MaskOffset { get; set; }
Offset for the border around text of the rectangle used to draw the mask. This value multiplied by TextHeight is the offset on each side of the tight rectangle around the text characters to the mask rectangle. The default value is 0.1.

MaskUsesViewportColor

#Since v6.0
public bool MaskUsesViewportColor { get; set; }
If true, the viewport's color is used for the mask color. If false, the color defined by MaskColor is used

ObjectType

[CLSCompliant(false)] public ObjectType ObjectType { get; }
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
inherited fromGeometryBase

ParentDimensionStyle

#Since v6.0
public DimensionStyle ParentDimensionStyle { get; set; }
The parent dimension style associated with this annotation

PlainText

#Since v6.0
public string PlainText { get; set; }
Text stripped of RTF formatting information

PlainTextWithFields

#Since v6.19
public string PlainTextWithFields { get; }
Text stripped of RTF formatting information and with field expressions intact

Plane

#Since v5.0
public Plane Plane { get; set; }
Plane that this annotation lies on

RichText

#Since v6.0
public string RichText { get; set; }
Text including additional RTF formatting information

Text

#Since v5.0
public string Text { get; set; }
obsoleteUse RichText or PlainText
Text including additional RTF formatting information

TextFormula

#Since v5.0
public string TextFormula { get; set; }
obsoleteUse RichText
See RichText

TextHasRtfFormatting

#Since v6.0
public bool TextHasRtfFormatting { get; }
Gets a value indicating whether the annotation's text is formatted as RTF (Rich Text Format). Returns true if the text begins with an RTF header; otherwise, false.

TextHeight

#Since v5.0
public double TextHeight { get; set; }
AnnotationBase.TextHeight Gets the parent dimstyle for the annotation and gets or sets the text height in the dimstyle

TextIsWrapped

#Since v6.0
public bool TextIsWrapped { get; set; }
Is text wrapping on

TextModelWidth

#Since v6.0
public double TextModelWidth { get; }
Width of text in the model

TextRotationDegrees

#Since v6.0
public double TextRotationDegrees { get; set; }
Rotation of text in degrees

TextRotationRadians

#Since v6.0
public double TextRotationRadians { get; set; }
Rotation of text in radians

UseKerning

#Since v9.0
public bool UseKerning { get; set; }
Use kerning data in font to set distances between glyphs

UserData

public UserDataList UserData { get; }
List of custom information that is attached to this class.
inherited fromCommonObject

UserDictionary

public ArchivableDictionary UserDictionary { get; }
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 fromCommonObject

UserStringCount

public int UserStringCount { get; }
Gets the amount of user strings.
inherited fromGeometryBase

Methods

ClearPropertyOverrides

#Since v6.0
public bool ClearPropertyOverrides()
Clears all overridden properties for this annotation

ComponentIndex

[ConstOperation] public ComponentIndex 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.
inherited fromGeometryBase
This object's component index. If this object is not a sub-piece of a larger geometric entity, then the returned index has m_type = ComponentIndex.InvalidType and m_index = -1.

ConstructConstObject

protected void ConstructConstObject(object parentObject, int subobjectIndex)
Assigns a parent object and a sub-object index to this.
inherited fromCommonObject
parentObject (object)The parent object.
subobjectIndex (int)The sub-object index.

DataCRC

[CLSCompliant(false)] public uint DataCRC(uint currentRemainder)
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.
inherited fromGeometryBase
currentRemainder (uint)The current remainder value.
CRC of the information the defines the object.

DeleteAllUserStrings

public void DeleteAllUserStrings()
inherited fromGeometryBase

DeleteUserString

public bool DeleteUserString(string key)
inherited fromGeometryBase
key (string)

Dispose

public void Dispose()
Actively reclaims unmanaged resources that this instance uses.
inherited fromCommonObject

Dispose

protected override void Dispose(bool disposing)
Overridden in order to destroy local display cache information
inherited fromGeometryBase
disposing (bool)

Duplicate

public virtual GeometryBase Duplicate()
Constructs a deep (full) copy of this object.
inherited fromGeometryBase
An object of the same type as this, with the same properties and behavior.

DuplicateShallow

public GeometryBase 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.
inherited fromGeometryBase
An object of the same type as this object.

This behavior is overridden by implementing classes.

EnsurePrivateCopy

public void 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 fromCommonObject

FirstCharProperties

#Since v6.0
public static bool FirstCharProperties(string rtf_str, ref bool bold, ref bool italic, ref bool underline, ref string facename)
Extracts the font properties (bold, italic, underline, and facename) from the first character run of an RTF string.
Remarks: Obsolete. Use FirstCharFont instead.
rtf_str (string)The RTF string to analyze.
bold (ref bool)Set to true if the first run is bold; otherwise, false.
italic (ref bool)Set to true if the first run is italic; otherwise, false.
underline (ref bool)Set to true if the first run is underlined; otherwise, false.
facename (ref string)Receives the font face name of the first run.
True if the properties were successfully extracted; otherwise, false.

FormatRtfString

#Since v6.0
public static string FormatRtfString(string rtf_in, bool clear_bold, bool set_bold, bool clear_italic, bool set_italic, bool clear_underline, bool set_underline, bool clear_facename, bool set_facename, string facename)
Modifies the formatting of an RTF (Rich Text Format) string by setting or clearing bold, italic, underline, and font face properties on the first character run.
rtf_in (string)The input RTF string to modify.
clear_bold (bool)If true, clears the bold formatting.
set_bold (bool)If true, sets the bold formatting.
clear_italic (bool)If true, clears the italic formatting.
set_italic (bool)If true, sets the italic formatting.
clear_underline (bool)If true, clears the underline formatting.
set_underline (bool)If true, sets the underline formatting.
clear_facename (bool)If true, clears the font face name.
set_facename (bool)If true, sets the font face name.
facename (string)The font face name to set if set_facename is true.
The modified RTF string with the requested formatting changes applied.

GetBoundingBox

[ConstOperation] public BoundingBox GetBoundingBox(bool accurate)
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
inherited fromGeometryBase
accurate (bool)If true, a physically accurate bounding box will be computed. If not, a bounding box estimate will be computed. For some geometry types there is no difference between the estimate and the accurate bounding box. Estimated bounding boxes can be computed much (much) faster than accurate (or "tight") bounding boxes. Estimated bounding boxes are always similar to or larger than accurate bounding boxes.
The bounding box of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.

GetBoundingBox

[ConstOperation] public BoundingBox GetBoundingBox(Plane plane, out Box worldBox)
Aligned Bounding box solver. Gets the plane aligned bounding box.
inherited fromGeometryBase
plane (Plane)Orientation plane for BoundingBox.
worldBox (out Box)Aligned box in World coordinates.
A BoundingBox in plane coordinates.

GetBoundingBox

[ConstOperation] public BoundingBox GetBoundingBox(Plane plane)
Aligned Bounding box solver. Gets the plane aligned bounding box.
inherited fromGeometryBase
plane (Plane)Orientation plane for BoundingBox.
A BoundingBox in plane coordinates.

GetBoundingBox

#Since v6.10
public override BoundingBox GetBoundingBox(Transform xform)
Aligned bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
xform (Transform)Transformation to apply to bounding box after calculation. The geometry is not modified.
The bounding box of the transformed geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.

GetDimensionScale

#Since v6.0
public static double GetDimensionScale(RhinoDoc doc, DimensionStyle dimstyle, RhinoViewport vport)
Get view dependent dimension scale
doc (RhinoDoc)
dimstyle (DimensionStyle)
vport (RhinoViewport)

GetDimensionStyle

#Since v6.0
[ConstOperation] public DimensionStyle GetDimensionStyle(DimensionStyle parentDimStyle)
Return the proper dimension style from which to get properties for this annotation object If this object has style overrides, those will be included in the returned dimension style and the style will be updated to include the current state of the parent style for non-overridden fields
parentDimStyle (DimensionStyle)

GetObjectData

[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
inherited fromCommonObject
info (SerializationInfo)The System.Runtime.Serialization.SerializationInfo to populate with data.
context (StreamingContext)The destination (see System.Runtime.Serialization.StreamingContext) for this serialization.

GetPlainTextWithRunMap

#Since v7.0
public string GetPlainTextWithRunMap(ref int[] map)
Return plain text string for this annotation with field expressions unevaluated.
map (ref int[])an array of int values in groups of 3: run index, character start position, and length.
A plain text string.

GetUserString

public string GetUserString(string key)
Gets user string from this geometry.
inherited fromGeometryBase
key (string)id used to retrieve the string.
string associated with the key if successful. null if no key was found.

GetUserStrings

public NameValueCollection GetUserStrings()
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
inherited fromGeometryBase
A new collection.

IsAllBold

#Since v6.22
public bool IsAllBold()
Returns true if all of the text in the annotation is Bold, otherwise returns false

IsAllItalic

#Since v6.22
public bool IsAllItalic()
Returns true if all of the text in the annotation is Italic, otherwise returns false

IsAllUnderlined

#Since v6.22
public bool IsAllUnderlined()
Returns true if all of the text in the annotation is Underlined, otherwise returns false

IsPropertyOverridden

#Since v6.0
[ConstOperation] public bool IsPropertyOverridden(Field field)
Returns true if a property is overridden
field (DimensionStyle.Field)

IsValidWithLog

public bool IsValidWithLog(out string log)
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
inherited fromCommonObject
log (out string)A textual log. This out parameter is assigned during this call.
true if this object is valid; false otherwise.

MakeDeformable

public bool MakeDeformable()
If possible, converts the object into a form that can be accurately modified with "squishy" transformations like projections, shears, an non-uniform scaling.
inherited fromGeometryBase
false if object cannot be converted to a deformable object. true if object was already deformable or was converted into a deformable object.

MemoryEstimate

[CLSCompliant(false)] [ConstOperation] public uint MemoryEstimate()
Computes an estimate of the number of bytes that this object is using in memory.
inherited fromGeometryBase
An estimated memory footprint.

NonConstOperation

protected override void NonConstOperation()
Destroy cache handle
inherited fromGeometryBase

OnSwitchToNonConst

protected override void OnSwitchToNonConst()
Is called when a non-constant operation occurs.
inherited fromGeometryBase

PlainTextToRtf

#Since v6.0
public static string PlainTextToRtf(string str)
str (string)

Rotate

public bool Rotate(double angleRadians, Vector3d rotationAxis, Point3d rotationCenter)
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
inherited fromGeometryBase
angleRadians (double)Angle of rotation in radians.
rotationAxis (Vector3d)Direction of the axis of rotation.
rotationCenter (Point3d)Point on the axis of rotation.
true if geometry successfully rotated.

RunReplace

#Since v7.0
public bool RunReplace(string replaceString, int startRunIndex, int startRunPosition, int endRunIndex, int endRunPosition)
Replace text within a formatted string
replaceString (string)
startRunIndex (int)
startRunPosition (int)
endRunIndex (int)
endRunPosition (int)

Scale

public bool Scale(double scaleFactor)
Scales the object by the specified factor. The scale is centered at the origin.
inherited fromGeometryBase
scaleFactor (double)The uniform scaling factor.
true if geometry successfully scaled.

SetBold

#Since v6.0
public virtual bool SetBold(bool set_on)
set_on (bool)

SetFacename

#Since v6.0
public virtual bool SetFacename(bool set_on, string facename)
set_on (bool)
facename (string)

SetItalic

#Since v6.0
public virtual bool SetItalic(bool set_on)
set_on (bool)

SetOverrideDimStyle

#Since v6.0
public bool SetOverrideDimStyle(DimensionStyle OverrideStyle)
Set a style including overrides for this annotation object. The DimensionStyle OverrideStyle must have the override fields marked as overridden and must have it's Id set to nil. Use DimensionStyle.SetFieldOverride(Field field) and related functions to manage override settings. To override a field, the field value must be set and the field must be marked as an override. The DimensionStyle passed in here must not be in the dimstyle table
OverrideStyle (DimensionStyle)

SetRichText

#Since v6.0
public void SetRichText(string rtfText, DimensionStyle dimstyle)
Sets the annotation's text as rich text (RTF), optionally using a specified dimension style for formatting overrides.
rtfText (string)The RTF (Rich Text Format) string to assign to the annotation.
dimstyle (DimensionStyle)The dimension style to use for formatting overrides, or null to use the current style.

SetUnderline

#Since v6.0
public virtual bool SetUnderline(bool set_on)
set_on (bool)

SetUserString

public bool SetUserString(string key, string value)
Attach a user string (key,value combination) to this geometry.
inherited fromGeometryBase
key (string)id used to retrieve this string.
value (string)string associated with key.
true on success.

ToJSON

public string ToJSON(SerializationOptions options)
Create a JSON string representation of this object
inherited fromCommonObject
options (SerializationOptions)

Transform

public bool Transform(Transform xform)
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.
inherited fromGeometryBase
xform (Transform)Transformation to apply to geometry.
true if geometry successfully transformed.

Translate

public bool Translate(double x, double y, double z)
Translates the object along the specified vector.
inherited fromGeometryBase
x (double)The X component.
y (double)The Y component.
z (double)The Z component.
true if geometry successfully translated.

Translate

public bool Translate(Vector3d translationVector)
Translates the object along the specified vector.
inherited fromGeometryBase
translationVector (Vector3d)A moving vector.
true if geometry successfully translated.

WrapText

#Since v6.0
public void WrapText()
Wrap text