Public Member Functions | Protected Member Functions | List of all members
HPS.ReferenceKey Class Reference

The ReferenceKey class is a smart pointer to a database object. It is a handle to a geometry reference returned by SegmentKey::ReferenceGeometry. More...

Inheritance diagram for HPS.ReferenceKey:
HPS.GeometryKey HPS.Key HPS.Object

Public Member Functions

override void Dispose ()
 
 ReferenceKey ()
 The default constructor creates an uninitialized ReferenceKey object. The Type() function will return Type::None. More...
 
 ReferenceKey (HPS.Key in_that)
 This constructor creates an ReferenceKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a reference key. Otherwise the copy will fail and the resulting ReferenceKey will be invalid. More...
 
 ReferenceKey (HPS.ReferenceKey in_that)
 The copy constructor creates a ReferenceKey object that shares the underlying smart-pointer of the source ReferenceKey. More...
 
override HPS.Type ObjectType ()
 This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object. More...
 
HPS.Key GetTarget ()
 Gets the geometry or segment key that was used to create this ReferenceKey. If multiple geometry are referenced only the first is returned. More...
 
ulong ShowTargets (bool masked)
 Gets the count of geometry keys or a segment key targeted by this ReferenceKey. More...
 
ulong ShowTargets ()
 Gets the count of geometry keys or a segment key targeted by this ReferenceKey. More...
 
ulong ShowTargets (out HPS.Key[] out_keys, bool masked)
 Gets the geometries keys or a segment key targeted by this ReferenceKey. More...
 
ulong ShowTargets (out HPS.Key[] out_keys)
 Gets the geometries keys or a segment key targeted by this ReferenceKey. More...
 
ulong ShowGeometryMask ()
 Gets the count of masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS::Search::Type::Geometry. More...
 
ulong ShowGeometryMask (out HPS.Search.Type[] out_geometry_types)
 Gets the masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS::Search::Type::Geometry. More...
 
HPS.ReferenceKey SetGeometryMask (HPS.Search.Type[] in_geometry_types)
 Sets the masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. Set HPS::Search::Type::Geometry to process all geometry types. More...
 
HPS.ReferenceKey UnsetGeometryMask ()
 Resets the masked geometry types on this ReferenceKey to HPS::Search::Type::Geometry. More...
 
void SetModellingMatrix (HPS.MatrixKit in_kit)
 Sets the specified modelling matrix on this reference. More...
 
HPS.ReferenceKey SetCondition (HPS.Condition in_condition)
 Sets a conditional expression on this ReferenceKey. This will either make an unconditional reference into a conditional reference, or modify the condition for an existing conditional reference. The target geometry or segment referenced by this reference will only be drawn in the owning segment if a condition satisfying the given conditional expression is set above this reference in the tree. More...
 
void UnsetModellingMatrix ()
 Removes the modelling matrix on this geometry reference. More...
 
HPS.ReferenceKey UnsetCondition ()
 Removes the conditional expression on this ReferenceKey. This will turn a conditional reference into an unconditional reference. More...
 
bool ShowModellingMatrix (out HPS.MatrixKit out_kit)
 Shows the modelling matrix on this reference. More...
 
bool ShowCondition (out HPS.Condition out_condition)
 Shows the conditional expression for this ReferenceKey. More...
 
HPS.ModellingMatrixControl GetModellingMatrixControl ()
 Gets a control that allows querying and modifying modelling matrices set on this reference. More...
 
- Public Member Functions inherited from HPS.GeometryKey
 GeometryKey ()
 The default constructor creates an uninitialized GeometryKey object. The Type() function will return Type::None. More...
 
 GeometryKey (HPS.Key in_that)
 This constructor creates a GeometryKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really a type of geometry key. Otherwise the copy will fail and the resulting GeometryKey will be invalid. More...
 
 GeometryKey (HPS.GeometryKey in_that)
 The copy constructor creates a GeometryKey object that shares the underlying smart-pointer of the source GeometryKey. More...
 
ulong ShowReferrers (out HPS.SegmentKey[] out_segments)
 Shows the all the segments which contain references to this key. Note that while a segment may only appear once in the returned array, that segment could have multiple references to this key. More...
 
ulong ShowReferrers (out HPS.ReferenceKey[] out_references)
 Shows the all the references to this key. More...
 
HPS.GeometryKey SetPriority (int in_priority)
 Assigns a drawing priority value to the geometry. It affects the order in which the geometry is visited if and only if the rendering algorithm is set to Priority. The geometry has a default drawing priority assigned, based on the order of insertion. More...
 
HPS.GeometryKey UnsetPriority ()
 Removes the drawing priority setting. More...
 
bool ShowPriority (out int out_priority)
 Shows the drawing priority. More...
 
HPS.GeometryKey SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)
 Sets user data on this key. More...
 
HPS.GeometryKey SetUserData (IntPtr in_index, byte[] in_data)
 Sets user data on this key. More...
 
HPS.GeometryKey SetUserData (IntPtr[] in_indices, byte[][] in_data)
 Sets user data on this key. More...
 
HPS.GeometryKey UnsetUserData (IntPtr in_index)
 Removes the user data at the given index from this key. More...
 
HPS.GeometryKey UnsetUserData (IntPtr[] in_indices)
 Removes the user data at the given indices from this key. More...
 
HPS.GeometryKey UnsetAllUserData ()
 Removes all user data from this key. More...
 
ulong ShowUserDataCount ()
 Get the number of user data indices set on this key. More...
 
bool ShowUserDataIndices (out IntPtr[] out_indices)
 Shows the indices of all user data set on this key. More...
 
bool ShowUserData (IntPtr in_index, out byte[] out_data)
 Shows the user data at a given index for this key. More...
 
bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)
 Shows all user data for this key. More...
 
bool ShowBoundings (out HPS.BoundingKit out_kit)
 Shows the bounding of this geometry. More...
 
- Public Member Functions inherited from HPS.Key
 Key ()
 An uninitialized key refers to no database object and Type() will return Type::None. More...
 
 Key (HPS.Key in_that)
 Shares a reference to a database object referred to by in_that. More...
 
 Key (HPS.Control in_control)
 Initializes a key tied to the Control in_control. More...
 
bool HasOwner ()
 
Returns
Indicates whether this key has an owner or not.

 
HPS.SegmentKey Up ()
 
Returns
The segment containing this key.

 
HPS.SegmentKey Owner ()
 
Returns
The segment containing this key.

 
void Delete ()
 Removes the database object referred to by this key. More...
 
void 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. More...
 
HPS.Key CopyTo (HPS.SegmentKey in_destination)
 Copies the database object referred to by this key into a segment pointed to by in_destination. More...
 
virtual void Assign (HPS.Key in_that)
 Share the underlying smart-pointer of the Key source. More...
 
override bool Equals (System.Object obj)
 
override int GetHashCode ()
 
bool 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.) More...
 
ulong GetHash ()
 Returns a hash code for the key. More...
 
- Public Member Functions inherited from HPS.Object
IntPtr GetClassID ()
 
 Object (HPS.Object that)
 
HPS.Type Type ()
 This function returns the true type of the underlying object. This function is useful for finding the type of smart pointer objects that have been cast to more generic types. More...
 
virtual bool Empty ()
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS.Type in_mask)
 This function indicates whether this Object has the given Type mask. More...
 
IntPtr GetInstanceID ()
 Returns an identifier that can be used to identify which instance of a class an object is. Different keys and controls will return the same value if they are backed by the same database resource. More...
 

Protected Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from HPS.Key
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 Attributes inherited from HPS.Object
HandleRef cptr
 
HandleRef scptr
 
bool cMemOwn
 

Detailed Description

The ReferenceKey class is a smart pointer to a database object. It is a handle to a geometry reference returned by SegmentKey::ReferenceGeometry.

Constructor & Destructor Documentation

HPS.ReferenceKey.ReferenceKey ( )
inline

The default constructor creates an uninitialized ReferenceKey object. The Type() function will return Type::None.

HPS.ReferenceKey.ReferenceKey ( HPS.Key  in_that)
inline

This constructor creates an ReferenceKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a reference key. Otherwise the copy will fail and the resulting ReferenceKey will be invalid.

HPS.ReferenceKey.ReferenceKey ( HPS.ReferenceKey  in_that)
inline

The copy constructor creates a ReferenceKey object that shares the underlying smart-pointer of the source ReferenceKey.

Parameters
in_thatThe source ReferenceKey to copy.

Member Function Documentation

HPS.ModellingMatrixControl HPS.ReferenceKey.GetModellingMatrixControl ( )
inline

Gets a control that allows querying and modifying modelling matrices set on this reference.

Returns
A control that allows querying and modifying modelling matrices set on this reference.
HPS.Key HPS.ReferenceKey.GetTarget ( )
inline

Gets the geometry or segment key that was used to create this ReferenceKey. If multiple geometry are referenced only the first is returned.

Returns
The geometry or segment key that was used to create this ReferenceKey.
override HPS.Type HPS.ReferenceKey.ObjectType ( )
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

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

Reimplemented from HPS.GeometryKey.

HPS.ReferenceKey HPS.ReferenceKey.SetCondition ( HPS.Condition  in_condition)
inline

Sets a conditional expression on this ReferenceKey. This will either make an unconditional reference into a conditional reference, or modify the condition for an existing conditional reference. The target geometry or segment referenced by this reference will only be drawn in the owning segment if a condition satisfying the given conditional expression is set above this reference in the tree.

Parameters
in_conditionThe conditional expression for this ReferenceKey.
Returns
A reference to this ReferenceKey.

SegmentKey::SetCondition

ConditionControl::SetCondition

ConditionControl::AddCondition

HPS.ReferenceKey HPS.ReferenceKey.SetGeometryMask ( HPS.Search.Type[]  in_geometry_types)
inline

Sets the masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. Set HPS::Search::Type::Geometry to process all geometry types.

Parameters
in_geometry_typesThe geometry types to be processed by this reference.
void HPS.ReferenceKey.SetModellingMatrix ( HPS.MatrixKit  in_kit)
inline

Sets the specified modelling matrix on this reference.

Parameters
in_kitThe modelling matrix to set on this reference.
bool HPS.ReferenceKey.ShowCondition ( out HPS.Condition  out_condition)
inline

Shows the conditional expression for this ReferenceKey.

Parameters
out_conditionThe conditional expression for this ReferenceKey.
Returns
true if a conditional expression is set on this ReferenceKey, false otherwise.
ulong HPS.ReferenceKey.ShowGeometryMask ( )
inline

Gets the count of masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS::Search::Type::Geometry.

Returns
A count of masked geometry types from this reference.
ulong HPS.ReferenceKey.ShowGeometryMask ( out HPS.Search.Type[]  out_geometry_types)
inline

Gets the masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS::Search::Type::Geometry.

Parameters
out_geometry_typesThe geometry types processed by this reference.
Returns
A count of masked geometry types from this reference.
bool HPS.ReferenceKey.ShowModellingMatrix ( out HPS.MatrixKit  out_kit)
inline

Shows the modelling matrix on this reference.

Parameters
out_kitThe modelling matrix set on this reference.
Returns
true if a modelling matrix was set, false otherwise.
ulong HPS.ReferenceKey.ShowTargets ( bool  masked)
inline

Gets the count of geometry keys or a segment key targeted by this ReferenceKey.

Parameters
maskedIf true a geometry mask if present will be applied to the results.
Returns
A count of targeted geometries or a segment from this reference.
ulong HPS.ReferenceKey.ShowTargets ( )
inline

Gets the count of geometry keys or a segment key targeted by this ReferenceKey.

Returns
A count of targeted geometries or a segment from this reference.
ulong HPS.ReferenceKey.ShowTargets ( out HPS.Key[]  out_keys,
bool  masked 
)
inline

Gets the geometries keys or a segment key targeted by this ReferenceKey.

Parameters
out_keysThe keys targeted by this reference.
maskedIf true a geometry mask if present will be applied to the results.
Returns
A count of targeted geometries or segment from this reference and populates out_keys with their keys.
ulong HPS.ReferenceKey.ShowTargets ( out HPS.Key[]  out_keys)
inline

Gets the geometries keys or a segment key targeted by this ReferenceKey.

Parameters
out_keysThe keys targeted by this reference.
Returns
A count of targeted geometries or segment from this reference and populates out_keys with their keys.
HPS.ReferenceKey HPS.ReferenceKey.UnsetCondition ( )
inline

Removes the conditional expression on this ReferenceKey. This will turn a conditional reference into an unconditional reference.

Returns
A reference to this ReferenceKey.
HPS.ReferenceKey HPS.ReferenceKey.UnsetGeometryMask ( )
inline

Resets the masked geometry types on this ReferenceKey to HPS::Search::Type::Geometry.

Returns
A reference to this ReferenceKey.
void HPS.ReferenceKey.UnsetModellingMatrix ( )
inline

Removes the modelling matrix on this geometry reference.


The documentation for this class was generated from the following file: