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 |