Inheritance diagram for HPS.Key:
HPS.Object HPS.GeometryKey HPS.IncludeKey HPS.PortfolioKey HPS.SegmentKey HPS.StyleKey HPS.CircleKey HPS.CircularArcKey HPS.CircularWedgeKey HPS.CuttingSectionKey HPS.CylinderKey HPS.DistantLightKey HPS.EllipseKey HPS.EllipticalArcKey HPS.GridKey HPS.InfiniteLineKey HPS.LineKey HPS.MarkerKey HPS.MeshKey HPS.NURBSCurveKey HPS.NURBSSurfaceKey HPS.PolygonKey HPS.ReferenceKey HPS.ShellKey HPS.SphereKey HPS.SpotlightKey HPS.TextKey HPS.WindowKey

Public Member Functions

virtual void Assign (HPS.Key in_that)
HPS.Key CopyTo (HPS.SegmentKey in_destination)
void Delete ()
override void Dispose ()
override bool Equals (System.Object obj)
bool Equals (HPS.Key in_that)
ulong GetHash ()
override int GetHashCode ()
bool HasOwner ()
 Key ()
 Key (HPS.Key in_that)
 Key (HPS.Control in_control)
void MoveTo (HPS.SegmentKey in_new_owner)
override HPS.Type ObjectType ()
HPS.SegmentKey Owner ()
HPS.SegmentKey Up ()
- Public Member Functions inherited from HPS.Object
virtual bool Empty ()
IntPtr GetClassID ()
IntPtr GetInstanceID ()
bool HasType (HPS.Type in_mask)
Object (HPS.Object that)
virtual void Reset ()
virtual HPS.Type Type ()

Static Public Member Functions

static bool operator!= (HPS.Key a, HPS.Key b)
static bool operator== (HPS.Key a, HPS.Key b)
- Static Public Member Functions inherited from HPS.Object
static IntPtr ClassID< T > ()

Protected Member Functions

override void deleteCptr ()
- Protected Member Functions inherited from HPS.Object
virtual IntPtr GetNonDirectorClassID ()

Additional Inherited Members

- Protected Attributes inherited from HPS.Object
bool cMemOwn
HandleRef cptr

Detailed Description

The Key class is the common base class of all Visualize keys. Keys are handles to database objects and are the primary way of interacting with them (you would never modify a database object directly). The underlying mechanism is a smart pointer (assignment operator works like regular pointers). Attempting to use a deleted or otherwise invalid key will result in an InvalidObjectException.

Constructor & Destructor Documentation

◆ Key() [1/3]

HPS.Key.Key ( )

An uninitialized key refers to no database object and Type() will return Type.None.

◆ Key() [2/3]

HPS.Key.Key ( HPS.Key  in_that)

Shares a reference to a database object referred to by in_that.

◆ Key() [3/3]

HPS.Key.Key ( HPS.Control  in_control)

Initializes a key associated to the Control in_control.

Member Function Documentation

◆ Assign()

virtual void HPS.Key.Assign ( HPS.Key  in_that)

Share the underlying smart-pointer of the Key source.

in_thatThe Key source of the assignment.

◆ CopyTo()

HPS.Key HPS.Key.CopyTo ( HPS.SegmentKey  in_destination)

Performs a deep copy of the database object referred to by this key into a segment pointed to by in_destination. If the copied key includes other keys or has child nodes, they will be recursively copied. Include links will also be copied, however, link targets will not be copied.

The key of the new copy.

◆ Delete()

void HPS.Key.Delete ( )

Removes the database object referred to by this key.

◆ Equals()

bool HPS.Key.Equals ( HPS.Key  in_that)

Determines whether the database objects pointed to by this key and in_that are the same. Empty keys (when key.Empty() returns true) are never equal to any key, even when the key is compared against itself (they act analogously to NaN comparisons in this case.)

◆ GetHash()

ulong HPS.Key.GetHash ( )

Returns a hash code for the key.

The size_t hash code.

◆ MoveTo()

void HPS.Key.MoveTo ( HPS.SegmentKey  in_new_owner)

Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner.

◆ ObjectType()

override HPS.Type HPS.Key.ObjectType ( )

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS.Object.

Reimplemented in HPS.MarkerKey, HPS.MeshKey, HPS.OffScreenWindowKey, HPS.StandAloneWindowKey, HPS.LineKey, HPS.NURBSCurveKey, HPS.NURBSSurfaceKey, HPS.PolygonKey, HPS.PortfolioKey, HPS.ReferenceKey, HPS.ShellKey, HPS.SphereKey, HPS.SpotlightKey, HPS.StyleKey, HPS.TextKey, HPS.SegmentKey, and HPS.WindowKey.

The documentation for this class was generated from the following file:
  • internals/hps_core/source/cs/HPS.Key.cs