Class VirgisLayer<T, S>
Abstract parent for all Layer entities
Inheritance
Namespace: Virgis
Assembly: cs.temp.dll.dll
Syntax
public abstract class VirgisLayer<T, S> : MonoBehaviour, IVirgisLayer, IVirgisEntity where T : RecordSet
Type Parameters
Name | Description |
---|---|
T | |
S |
Fields
_editable
Declaration
protected bool _editable
Field Value
Type | Description |
---|---|
Boolean |
_id
Declaration
protected Guid _id
Field Value
Type | Description |
---|---|
Guid |
changed
Declaration
public bool changed
Field Value
Type | Description |
---|---|
Boolean |
features
Declaration
public S features
Field Value
Type | Description |
---|---|
S |
layer
Declaration
public T layer
Field Value
Type | Description |
---|---|
T |
Methods
_addFeature(Vector3[])
Declaration
protected abstract VirgisFeature _addFeature(Vector3[] geometry)
Parameters
Type | Name | Description |
---|---|---|
Vector3[] | geometry |
Returns
Type | Description |
---|---|
VirgisFeature |
_checkpoint()
Implement the layer specific checkpoint code here
Declaration
protected abstract void _checkpoint()
_draw()
Implment the layer specific draw code in this method
Declaration
protected abstract void _draw()
_init(T)
Implement the layer specific init code in this method
Declaration
protected abstract Task _init(T layer)
Parameters
Type | Name | Description |
---|---|---|
T | layer |
Returns
Type | Description |
---|---|
Task |
_save()
Implment the layer specific draw code in this method
Declaration
protected abstract Task _save()
Returns
Type | Description |
---|---|
Task |
AddFeature(Vector3[])
Call this to create a new feature
Declaration
public VirgisFeature AddFeature(Vector3[] geometry)
Parameters
Type | Name | Description |
---|---|---|
Vector3[] | geometry |
Returns
Type | Description |
---|---|
VirgisFeature |
CheckPoint()
Call this to tell the layers to create a checkpoint.
Only valid outside of an Edit Session. Inside an Edit Session use Save() as CheckPoint() will do nothing
Declaration
public void CheckPoint()
Draw()
Draw the layer based upon the features in the features GeographyCollection
Declaration
public void Draw()
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj |
Returns
Type | Description |
---|---|
Boolean |
Equals(VirgisLayer<T, S>)
Declaration
public bool Equals(VirgisLayer<T, S> other)
Parameters
Type | Name | Description |
---|---|---|
VirgisLayer<T, S> | other |
Returns
Type | Description |
---|---|
Boolean |
ExitEditSession(Boolean)
Called when an edit session ends
Declaration
public virtual void ExitEditSession(bool saved)
Parameters
Type | Name | Description |
---|---|---|
Boolean | saved | true if stop and save, false if stop and discard |
GetClosest(Vector3, Guid[])
Get the Closest Feature to the coordinates. Exclude any Component Ids in the Exclude Array. The exclude lis is primarily used to avoid a GetClosest to a Faeture picking up the feature itself
Declaration
public VirgisFeature GetClosest(Vector3 coords, Guid[] exclude)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | coords | coordinates |
Guid[] | exclude |
Returns
Type | Description |
---|---|
VirgisFeature | returns the featue contained in an enitity of type S |
GetFeature(Guid)
Get the feature that matches the ID provided
Declaration
public VirgisFeature GetFeature(Guid id)
Parameters
Type | Name | Description |
---|---|---|
Guid | id | ID |
Returns
Type | Description |
---|---|
VirgisFeature | returns the featue contained in an enitity of type S |
GetFeatureShape()
Declaration
public virtual GameObject GetFeatureShape()
Returns
Type | Description |
---|---|
GameObject |
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 |
GetId()
Fecth the layer GUID
Declaration
public Guid GetId()
Returns
Type | Description |
---|---|
Guid | GUID |
GetMetadata()
Fetch the metadata for this Layer
Declaration
public RecordSet GetMetadata()
Returns
Type | Description |
---|---|
RecordSet |
Init(T)
Called to initialise this layer
If the data cannot be read, fails quitely and creates an empty layer
Declaration
public Task<VirgisLayer<T, S>> Init(T layer)
Parameters
Type | Name | Description |
---|---|---|
T | layer | The GeographyCollection object that defines this layer |
Returns
Type | Description |
---|---|
Task<VirgisLayer<T, S>> | refernce to this GameObject for chaining |
IsEditable()
Test to see if this layer is editable
Declaration
public bool IsEditable()
Returns
Type | Description |
---|---|
Boolean | Boolean |
IsVisible()
Test if this layer is currently visible
Declaration
public bool IsVisible()
Returns
Type | Description |
---|---|
Boolean | Boolean |
MoveAxis(MoveArgs)
Called whenevr a member entity is asked to Change Axis
Declaration
public virtual void MoveAxis(MoveArgs args)
Parameters
Type | Name | Description |
---|---|---|
MoveArgs | args | MoveArgs Object |
MoveTo(MoveArgs)
Declaration
public virtual void MoveTo(MoveArgs args)
Parameters
Type | Name | Description |
---|---|---|
MoveArgs | args |
Save()
Called to save the current layer data to source
Declaration
public virtual Task<RecordSet> Save()
Returns
Type | Description |
---|---|
Task<RecordSet> | A copy of the data save dot the source |
Selected(SelectionTypes)
called when a daughter IVirgisEntity is selected
Declaration
public virtual void Selected(SelectionTypes button)
Parameters
Type | Name | Description |
---|---|---|
SelectionTypes | button | SelectionType |
SetEditable(Boolean)
Sets a marker that this particular layer is being edited.
Declaration
public void SetEditable(bool inSession)
Parameters
Type | Name | Description |
---|---|---|
Boolean | inSession |
SetVisible(Boolean)
Declaration
public void SetVisible(bool visible)
Parameters
Type | Name | Description |
---|---|---|
Boolean | visible |
StartEditSession()
Called when an edit session starts
Declaration
public virtual void StartEditSession()
Translate(MoveArgs)
Called Whenever a member entity is asked to Translate
Declaration
public virtual void Translate(MoveArgs args)
Parameters
Type | Name | Description |
---|---|---|
MoveArgs | args | MoveArge Object |
UnSelected(SelectionTypes)
Called when a daughter IVirgisEntity is UnSelected
Declaration
public virtual void UnSelected(SelectionTypes button)
Parameters
Type | Name | Description |
---|---|---|
SelectionTypes | button | SelectionType |
VertexMove(MoveArgs)
Declaration
public virtual void VertexMove(MoveArgs args)
Parameters
Type | Name | Description |
---|---|---|
MoveArgs | args |