Show / Hide Table of Contents

Class UnscaledGeoObject

A IGeoObject which always appears in the same size in a view. It is not scaled when the view is zoomed. These objects can not be kept in displaylists and hence have a poor performance when used in high numbers. The objects rotate with the view when viewed from different directions. The Location specifies the position of the origin (GeoPoint(0,0,0)) of the referenced GeoObject. Usually you would center the referenced object at the origin so this object will be centered at the Location. In contrast to the Icon object, which always shows its face to the viewer and is much faster, because it can be kept in the display list. Since this object does not have a well defined size in world coordinates, it is only pickable or selectable at its insertion point. The size of the object is assumed in device units (pixels) The Layer of this object will be taken into account for the objects visibility, not the layer of the referenced object. The use of this object is not recommended because it has a poor performance in both display and selection. Consider using Icon instead.

Inheritance
System.Object
IGeoObjectImpl
UnscaledGeoObject
Implements
IGeoObject
ILayer
IStyle
IOctTreeInsertable
System.IComparable
IFeedBack
System.ICloneable
System.Runtime.Serialization.ISerializable
Inherited Members
IGeoObjectImpl.isChanging
IGeoObjectImpl.MakeChange(IGeoObjectImpl, String)
IGeoObjectImpl.SetSerializationValue(String, Object)
IGeoObjectImpl.UniqueId
IGeoObjectImpl.WillChangeEvent
IGeoObjectImpl.DidChangeEvent
IGeoObjectImpl.FeedBackChangedEvent
IGeoObjectImpl.FireWillChange(GeoObjectChange)
IGeoObjectImpl.FireDidChange(GeoObjectChange)
IGeoObjectImpl.ModifyInverse(ModOp)
IGeoObjectImpl.HasChildren()
IGeoObjectImpl.NumChildren
IGeoObjectImpl.Child(Int32)
IGeoObjectImpl.Owner
IGeoObjectImpl.IsAttributeUsed(Object)
IGeoObjectImpl.AttributeChanged(INamedAttribute)
IGeoObjectImpl.CopyAttributes(IGeoObject)
IGeoObjectImpl.Attributes
IGeoObjectImpl.CustomAttributeKeys
IGeoObjectImpl.SetNamedAttribute(String, INamedAttribute)
IGeoObjectImpl.GetNamedAttribute(String)
IGeoObjectImpl.GetObjectData(SerializationInfo, StreamingContext)
IGeoObjectImpl.GetAttributeProperties(IFrame)
IGeoObjectImpl.UpdateAttributes(IAttributeListContainer)
IGeoObjectImpl.UserData
IGeoObjectImpl.isModifyingWithMouse
IGeoObjectImpl.ModifyWithMouse(Object, String, Boolean)
IGeoObjectImpl.FindSnapPoint(SnapPointFinder)
IGeoObjectImpl.HasValidData()
IGeoObjectImpl.Description
IGeoObjectImpl.PreferredStyle
IGeoObjectImpl.OwnedItems
IGeoObjectImpl.IsVisible
IGeoObjectImpl.PropagateAttributes(Layer, ColorDef)
IGeoObjectImpl.Decompose()
IGeoObjectImpl.Actuator
IGeoObjectImpl.SetColorDef(ColorDef, ColorDef)
IGeoObjectImpl.Layer
IGeoObjectImpl.Style
IGeoObjectImpl.StyleIsValid
IGeoObjectImpl.GetExtent(IGeoObject, Projection, Boolean)
IGeoObjectImpl.IsOwnedByBlockRef(IGeoObject)
IGeoObjectImpl.ChangingUserData(IGeoObject, String, Object)
IGeoObjectImpl.ChangingUserData(IGeoObject, String, Object, Boolean)
IGeoObjectImpl.ICloneable.Clone()
IGeoObjectImpl.IComparable.CompareTo(Object)
IGeoObjectImpl.GetAdditionalContextMenueEvent
IGeoObjectImpl.IFeedBack.GetExtent()
IGeoObjectImpl.JsonGetObjectData(IJsonWriteData)
IGeoObjectImpl.JsonSetObjectData(IJsonReadData)
IGeoObjectImpl.JsonSerializationDone()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: CADability.GeoObject
Assembly: CADability.dll
Syntax
[Serializable]
public class UnscaledGeoObject : IGeoObjectImpl, IGeoObject, ILayer, IStyle, IOctTreeInsertable, IComparable, IFeedBack, ICloneable, ISerializable

Constructors

| Improve this Doc View Source

UnscaledGeoObject(SerializationInfo, StreamingContext)

Declaration
protected UnscaledGeoObject(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info
System.Runtime.Serialization.StreamingContext context

Fields

| Improve this Doc View Source

Constructor

Provide a delegate here if you want you UnscaledGeoObject derived class to be created each time CADability creates a UnscaledGeoObject.

Declaration
public static UnscaledGeoObject.ConstructionDelegate Constructor
Field Value
Type Description
UnscaledGeoObject.ConstructionDelegate

Properties

| Improve this Doc View Source

GeoObject

The GeoObject to be displayed. This can be any kind of GeoObject, Text and Bitmap are often used. The object must be in a coordinate space where the Origin will be transferred to the Location.

Declaration
public IGeoObject GeoObject { get; set; }
Property Value
Type Description
IGeoObject
| Improve this Doc View Source

Location

The world coordinates location of this object

Declaration
public GeoPoint Location { get; set; }
Property Value
Type Description
GeoPoint

Methods

| Improve this Doc View Source

Clone()

Overrides Clone(). Must be implemented by each GeoObject. No default implementation.

Declaration
public override IGeoObject Clone()
Returns
Type Description
IGeoObject
Overrides
IGeoObjectImpl.Clone()
| Improve this Doc View Source

Construct()

The only way to create a UnscaledGeoObject. There are no public constructors for the UnscaledGeoObject to assure that this is the only way to construct a UnscaledGeoObject.

Declaration
public static UnscaledGeoObject Construct()
Returns
Type Description
UnscaledGeoObject
| Improve this Doc View Source

CopyGeometry(IGeoObject)

Overrides CopyGeometry(IGeoObject)

Declaration
public override void CopyGeometry(IGeoObject ToCopyFrom)
Parameters
Type Name Description
IGeoObject ToCopyFrom
Overrides
IGeoObjectImpl.CopyGeometry(IGeoObject)
| Improve this Doc View Source

GetBoundingCube()

Implements GetBoundingCube() abstract. Must be overridden.

Declaration
public override BoundingCube GetBoundingCube()
Returns
Type Description
BoundingCube

the bounding cube

Overrides
IGeoObjectImpl.GetBoundingCube()
| Improve this Doc View Source

GetExtent(Projection, ExtentPrecision)

Overrides GetExtent(Projection, ExtentPrecision)

Declaration
public override BoundingRect GetExtent(Projection projection, ExtentPrecision extentPrecision)
Parameters
Type Name Description
Projection projection
ExtentPrecision extentPrecision
Returns
Type Description
BoundingRect
Overrides
IGeoObjectImpl.GetExtent(Projection, ExtentPrecision)
| Improve this Doc View Source

GetExtent(Double)

Overrides GetExtent(Double)

Declaration
public override BoundingCube GetExtent(double precision)
Parameters
Type Name Description
System.Double precision
Returns
Type Description
BoundingCube
Overrides
IGeoObjectImpl.GetExtent(Double)
| Improve this Doc View Source

GetQuadTreeItem(Projection, ExtentPrecision)

Overrides GetQuadTreeItem(Projection, ExtentPrecision)

Declaration
public override IQuadTreeInsertableZ GetQuadTreeItem(Projection projection, ExtentPrecision extentPrecision)
Parameters
Type Name Description
Projection projection
ExtentPrecision extentPrecision
Returns
Type Description
IQuadTreeInsertableZ
Overrides
IGeoObjectImpl.GetQuadTreeItem(Projection, ExtentPrecision)
| Improve this Doc View Source

GetShowProperties(IFrame)

Should be overridden and return a IShowProperty derived object that handles the display and modification of the properties of the IGeoObject derived object. Default implementation return null.

Declaration
public override IShowProperty GetShowProperties(IFrame Frame)
Parameters
Type Name Description
IFrame Frame
Returns
Type Description
IShowProperty
Overrides
IGeoObjectImpl.GetShowProperties(IFrame)
| Improve this Doc View Source

HitTest(ref BoundingCube, Double)

Overrides HitTest(ref BoundingCube, Double)

Declaration
public override bool HitTest(ref BoundingCube cube, double precision)
Parameters
Type Name Description
BoundingCube cube
System.Double precision
Returns
Type Description
System.Boolean
Overrides
IGeoObjectImpl.HitTest(ref BoundingCube, Double)
| Improve this Doc View Source

HitTest(Projection, BoundingRect, Boolean)

Overrides HitTest(Projection, BoundingRect, Boolean)

Declaration
public override bool HitTest(Projection projection, BoundingRect rect, bool onlyInside)
Parameters
Type Name Description
Projection projection
BoundingRect rect
System.Boolean onlyInside
Returns
Type Description
System.Boolean
Overrides
IGeoObjectImpl.HitTest(Projection, BoundingRect, Boolean)
| Improve this Doc View Source

HitTest(Projection.PickArea, Boolean)

Overrides HitTest(Projection.PickArea, Boolean)

Declaration
public override bool HitTest(Projection.PickArea area, bool onlyInside)
Parameters
Type Name Description
Projection.PickArea area
System.Boolean onlyInside
Returns
Type Description
System.Boolean
Overrides
IGeoObjectImpl.HitTest(Projection.PickArea, Boolean)
| Improve this Doc View Source

Modify(ModOp)

Overrides Modify(ModOp). Must be implemented by each GeoObject. No default implementation.

Declaration
public override void Modify(ModOp m)
Parameters
Type Name Description
ModOp m

the modification

Overrides
IGeoObjectImpl.Modify(ModOp)
| Improve this Doc View Source

PaintTo3D(IPaintTo3D)

Overrides PaintTo3D(IPaintTo3D)

Declaration
public override void PaintTo3D(IPaintTo3D paintTo3D)
Parameters
Type Name Description
IPaintTo3D paintTo3D
Overrides
IGeoObjectImpl.PaintTo3D(IPaintTo3D)
| Improve this Doc View Source

PaintTo3DList(IPaintTo3D, ICategorizedDislayLists)

Overrides PaintTo3DList(IPaintTo3D, ICategorizedDislayLists)

Declaration
public override void PaintTo3DList(IPaintTo3D paintTo3D, ICategorizedDislayLists lists)
Parameters
Type Name Description
IPaintTo3D paintTo3D
ICategorizedDislayLists lists
Overrides
IGeoObjectImpl.PaintTo3DList(IPaintTo3D, ICategorizedDislayLists)
| Improve this Doc View Source

Position(GeoPoint, GeoVector, Double)

Overrides Position(GeoPoint, GeoVector, Double)

Declaration
public override double Position(GeoPoint fromHere, GeoVector direction, double precision)
Parameters
Type Name Description
GeoPoint fromHere
GeoVector direction
System.Double precision
Returns
Type Description
System.Double
Overrides
IGeoObjectImpl.Position(GeoPoint, GeoVector, Double)
| Improve this Doc View Source

PrePaintTo3D(IPaintTo3D)

Overrides PrePaintTo3D(IPaintTo3D)

Declaration
public override void PrePaintTo3D(IPaintTo3D paintTo3D)
Parameters
Type Name Description
IPaintTo3D paintTo3D
Overrides
IGeoObjectImpl.PrePaintTo3D(IPaintTo3D)
| Improve this Doc View Source

PrepareDisplayList(Double)

Overrides PrepareDisplayList(Double)

Declaration
public override void PrepareDisplayList(double precision)
Parameters
Type Name Description
System.Double precision
Overrides
IGeoObjectImpl.PrepareDisplayList(Double)
| Improve this Doc View Source

RealHitTest(Projection.PickArea, Boolean)

While the normal HitTest(Projection.PickArea, Boolean) only checkes the Location of the object this method checks the hittest of the object expanded according to the projection in this area

Declaration
public bool RealHitTest(Projection.PickArea area, bool onlyInside)
Parameters
Type Name Description
Projection.PickArea area

Pick area to check

System.Boolean onlyInside

true, if the whole object must reside inside the pickarea, false if overlapping will suffice

Returns
Type Description
System.Boolean

true when a hit is recognized

Events

| Improve this Doc View Source

Constructed

Declaration
public static event UnscaledGeoObject.ConstructedDelegate Constructed
Event Type
Type Description
UnscaledGeoObject.ConstructedDelegate

Explicit Interface Implementations

| Improve this Doc View Source

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Implements ISerializable.GetObjectData. Saves UserData, and . All other properties of the GeoObject must be saved by the derived class. don't forget to call the base implementation

Declaration
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info

info

System.Runtime.Serialization.StreamingContext context

context

Implements

IGeoObject
ILayer
IStyle
IOctTreeInsertable
System.IComparable
IFeedBack
System.ICloneable
System.Runtime.Serialization.ISerializable
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX