Tanoda
Leap.Unity.GraphicalRenderer.LeapBoxGraphic Class Reference

The Box Graphic is a type of procedural mesh graphic that can generate thick panels with a number of useful features: More...

Inheritance diagram for Leap.Unity.GraphicalRenderer.LeapBoxGraphic:
Leap.Unity.GraphicalRenderer.LeapSlicedGraphic Leap.Unity.GraphicalRenderer.LeapMeshGraphicBase Leap.Unity.GraphicalRenderer.LeapGraphic Leap.Unity.GraphicalRenderer.LeapGraphic Leap.Unity.Space.ISpaceComponent Leap.Unity.Space.ISpaceComponent

Public Member Functions

override void RefreshSlicedMeshData (Vector2i resolution, RectMargins meshMargins, RectMargins uvMargins)
 Set the mesh property equal to the correct mesh given the Sliced Graphic's current settings. More...
 
- Public Member Functions inherited from Leap.Unity.GraphicalRenderer.LeapSlicedGraphic
override void RefreshMeshData ()
 When this method is called, the mesh property and the remappableChannels property must be assigned to valid states correctly matching the current state of the object. This is the method where you would do procedural mesh generation, or dynamic creations of mesh objects. More...
 
abstract void RefreshSlicedMeshData (Vector2i resolution, RectMargins meshMargins, RectMargins uvMargins)
 Set the mesh property equal to the correct mesh given the Sliced Graphic's current settings. More...
 
- Public Member Functions inherited from Leap.Unity.GraphicalRenderer.LeapMeshGraphicBase
abstract void RefreshMeshData ()
 When this method is called, the mesh property and the remappableChannels property must be assigned to valid states correctly matching the current state of the object. This is the method where you would do procedural mesh generation, or dynamic creations of mesh objects. More...
 
 LeapMeshGraphicBase ()
 
- Public Member Functions inherited from Leap.Unity.GraphicalRenderer.LeapGraphic
void SetBlendShapeAmount (float amount)
 Helper method to set the blend shape amount for a blend shape data object attached to this graphic. This method will throw an exception if there is no blend shape data obj attached to this graphic. More...
 
float GetBlendShapeAmount ()
 Helper method to get the blend shape amount for a blend shape data object attached to this graphic. This method will throw an exception if there is no blend shape data obj attached to this graphic. More...
 
void SetCustomChannel (string channelName, Color color)
 Helper method to set the custom channel value for the given channel name. This method will throw an exception if there is no channel with the given name, if the graphic is not currently attached to a group, or if the channel does not match up with the data type. More...
 
void SetCustomChannel (string channelName, float value)
 Helper method to set the custom channel value for the given channel name. This method will throw an exception if there is no channel with the given name, if the graphic is not currently attached to a group, or if the channel does not match up with the data type. More...
 
void SetCustomChannel (string channelName, Matrix4x4 value)
 Helper method to set the custom channel value for the given channel name. This method will throw an exception if there is no channel with the given name, if the graphic is not currently attached to a group, or if the channel does not match up with the data type. More...
 
void SetCustomChannel (string channelName, Vector4 value)
 Helper method to set the custom channel value for the given channel name. This method will throw an exception if there is no channel with the given name, if the graphic is not currently attached to a group, or if the channel does not match up with the data type. More...
 
GetCustomChannel< T > (string channelName)
 Helper method to get a custom channel data object given the name of the feature it is attached to. This method can only be used if the graphic is currently attached to a group. More...
 
void SetRuntimeTint (Color color)
 Helper method to set the runtime tint color for a runtime tint data object attached to this graphic. This method will throw an exception if there is no tint data obj attached to this graphic. More...
 
void SetRuntimeTint (string htmlString)
 Overload of SetRuntimeTint that takes in a Html style string code that represents a color. Any string that can be parsed by ColorUtility.TryParseHtmlString can be used as an argument to this method. More...
 
Color GetRuntimeTint ()
 Helper method to get the runtime tint color for a runtime tint data object attached to this graphic. This method will throw an exception if there is no tint data obj attached to this graphic. More...
 
bool TryDetach ()
 This method tries to detach this graphic from whatever group it is currently attached to. It can fail if the graphic is not attached to any group, or if the group it is attached to does not support adding/removing graphics at runtime. More...
 
GetFeatureData< T > ()
 Gets a single feature data object of a given type T. This will return null if there is no feature data object attached to this graphic of type T. More...
 
virtual void NotifyWillBeAttached (LeapGraphicGroup toBeAttachedTo)
 Called by the system to notify that this graphic will be attached within the next frame. This is only called at runtime. More...
 
virtual void CancelWillBeAttached ()
 Called by the system to notify that a previous notification that this graphic would be attached has been cancelled due to a call to TryRemoveGraphic. More...
 
virtual void NotifyWillBeDetached (LeapGraphicGroup toBeDetachedFrom)
 Called by the system to notify that this graphic will be detached within the next frame. This is only called at runtime. More...
 
virtual void CancelWillBeDetached ()
 Called by the system to notify that a previous notification that this graphic would be detached has been cancelled due to a call to TryAddGraphic. More...
 
virtual void OnAttachedToGroup (LeapGraphicGroup group, LeapSpaceAnchor anchor)
 Called by the system when this graphic is attached to a group. This method is invoked both at runtime and at edit time. More...
 
void OnUpdateAnchor (LeapSpaceAnchor anchor)
 Called by graphic groups when a renderer's attached space changes. More...
 
virtual void OnDetachedFromGroup ()
 Called by the system when this graphic is detached from a group. This method is invoked both at runtime and at edit time. More...
 
virtual void OnAssignFeatureData (List< LeapFeatureData > data)
 Called by the system whenever feature data is re-assigned to this graphic. This is only called at edit time. More...
 
virtual void OnBeforeSerialize ()
 
virtual void OnAfterDeserialize ()
 

Properties

Vector3 size [get]
 Gets the dimensions of the box graphic in local space. More...
 
- Properties inherited from Leap.Unity.GraphicalRenderer.LeapSlicedGraphic
ResolutionType resolutionType [get]
 Returns the current resolution type being used for this panel. More...
 
Rect rect [get]
 Returns the current local-space rect of this panel. If there is a RectTransform attached to this panel, this value is the same as calling rectTransform.rect. More...
 
bool nineSliced [get, set]
 Gets or sets whether or not this panel is currently using nine slicing. More...
 
bool canNineSlice [get]
 Returns whether or not the current source supports nine slicing. More...
 
UVChannelFlags uvChannel [get]
 Returns which uv channel is being used for this panel. It will always match the uv channel being used by the source. More...
 
LeapFeatureData sourceData [get]
 Returns the current feature data object being used as source. More...
 
- Properties inherited from Leap.Unity.GraphicalRenderer.LeapMeshGraphicBase
Mesh mesh [get, protected set]
 Returns the mesh that represents this graphic. It can have any topology, any number of uv channels, vertex colors, or normals. Note that the specific rendering method you might use might not support all of these features! More...
 
UVChannelFlags remappableChannels [get, protected set]
 Returns an enum mask that represents the union of all channels that are allowed to be remapped for this mesh. If a uv channel is included in this mask, the matching uv coordinates are allowed to be remapped by any rendering method to implement texture atlasing. More...
 
- Properties inherited from Leap.Unity.GraphicalRenderer.LeapGraphic
bool isRepresentationDirty [get, set]
 An internal flag that returns true if the visual representation of this graphic needs to be updated. You can set this to true to request a regeneration of the graphic during the next update cycle of the renderer. Note however, that not all renderers support updating the representation at runtime. More...
 
bool isRepresentationDirtyOrEditTime [get]
 A simple utility getter that returns true if isRepresentationDirty is true, OR it is currently edit time. More...
 
string favoriteGroupName [get, set]
 Gets or sets the name of the group that this graphic likes to be attached to. Whenever a graphic is enabled, it will try to attach to its favorite group. Whenever a graphic gets attached to a group, that group becomes its new favorite. More...
 
LeapSpaceAnchor anchor [get]
 Returns the space anchor for this graphic. This will be null if the graphic is not currently part of a space. The anchor cannot be changed dynamically at runtime. More...
 
ITransformer transformer [get]
 A utility getter that returns a transformer for this graphic. Even if the space anchor for this graphic is null, this will still return a valid transformer. In the null case, the transformer is always the identity transformer. More...
 
IList< LeapFeatureDatafeatureData [get]
 Returns a list of feature data attached to this graphic. If this graphic is attached to a group, this feature data matches 1-to-1 with the features attached to this group. More...
 
LeapGraphicGroup attachedGroup [get]
 Returns the group this graphic is attached to. More...
 
bool isAttachedToGroup [get]
 Returns whether or not this graphic is attached to any group. Can still return false at runtime even if TryAddGraphic has just completed successfully due to the runtime delay for addition/removal of graphics. More...
 
bool willbeAttached [get]
 Returns whether or not this graphic will be attached to a group within the next frame. Can only be true at runtime, since runtime is the only time when delayed attachment occurs. More...
 
bool willbeDetached [get]
 Returns whether or not this graphic will be detached from a group within the next frame. Can only be true at runtime, since runtime is the only time when delayed detaching occurs. More...
 
Type preferredRendererType [get]
 Returns the type this graphic prefers to be attached to. When calling LeapGraphicRenderer.TryAddGraphic it will prioritize being attached to groups with this renderer type if possible. More...
 
- Properties inherited from Leap.Unity.Space.ISpaceComponent
LeapSpaceAnchor anchor [get]
 

Additional Inherited Members

- Public Types inherited from Leap.Unity.GraphicalRenderer.LeapSlicedGraphic
enum  ResolutionType { Vertices , VerticesPerRectilinearMeter }
 
- Static Public Member Functions inherited from Leap.Unity.GraphicalRenderer.LeapSlicedGraphic
static bool IsValidDataSource (LeapFeatureData dataSource)
 Returns whether or not a feature data object is a valid object that can be used to drive texture data for this panel. Only a TextureData object or a SpriteData object are currently valid. More...
 
- Public Attributes inherited from Leap.Unity.GraphicalRenderer.LeapMeshGraphicBase
Color vertexColor = Color.white
 
- Public Attributes inherited from Leap.Unity.GraphicalRenderer.LeapGraphic
Action< LeapGraphicGroupOnAttachedToGroupEvent
 
Action OnDetachedFromGroupEvent
 
- Static Public Attributes inherited from Leap.Unity.GraphicalRenderer.LeapSlicedGraphic
const int MAX_RESOLUTION = 128
 
- Protected Member Functions inherited from Leap.Unity.GraphicalRenderer.LeapSlicedGraphic
override void Reset ()
 
override void OnValidate ()
 
void assignDefaultSourceValue ()
 
void setSourceFeatureDirty ()
 
float calculateVertAxis (int vertIdx, int vertCount, float size, float border0, float border1, bool alwaysRespectBorder=false)
 Given a vertex index from an edge, the total vertCount and size along the current dimension, and the distance to the beginning and end borders along the current dimension (if nine-slicing is enabled ONLY), this method will return the distance along the current dimension that the vertIdx should be from the origin of the dimension. More...
 
- Protected Member Functions inherited from Leap.Unity.GraphicalRenderer.LeapGraphic
virtual void Reset ()
 
virtual void OnValidate ()
 
virtual void Awake ()
 
virtual void OnEnable ()
 
virtual void OnDestroy ()
 
virtual void OnDrawGizmos ()
 
- Protected Attributes inherited from Leap.Unity.GraphicalRenderer.LeapSlicedGraphic
int _sourceDataIndex = -1
 
ResolutionType _resolutionType = ResolutionType.VerticesPerRectilinearMeter
 
int _resolution_vert_x = 4
 
int _resolution_vert_y = 4
 
Vector2 _resolution_verts_per_meter = new Vector2(20, 20)
 
Vector2 _size = new Vector2(0.1f, 0.1f)
 
bool _nineSliced = false
 
- Protected Attributes inherited from Leap.Unity.GraphicalRenderer.LeapGraphic
LeapSpaceAnchor _anchor
 
FeatureDataList _featureData = new FeatureDataList()
 
LeapGraphicRenderer _attachedRenderer
 
int _attachedGroupIndex = -1
 
string _favoriteGroupName
 
SerializableType _preferredRendererType
 

Detailed Description

The Box Graphic is a type of procedural mesh graphic that can generate thick panels with a number of useful features:

  • It allows nine slicing when using a sprite as the source for the texture data.
  • It allows automatic tessellation such that it can be correctly warped by a space.
  • It allows automatic resizing based on an attached RectTransform.

Definition at line 26 of file LeapBoxGraphic.cs.

Member Function Documentation

◆ RefreshSlicedMeshData()

override void Leap.Unity.GraphicalRenderer.LeapBoxGraphic.RefreshSlicedMeshData ( Vector2i  resolution,
RectMargins  meshMargins,
RectMargins  uvMargins 
)
virtual

Set the mesh property equal to the correct mesh given the Sliced Graphic's current settings.

Resolution along the X and Y axes are provided, as well as mesh-space and UV-space margins to pass into calculateVertAxis as border0 and border1 to support nine slicing (see Mesh Data Support).

Implements Leap.Unity.GraphicalRenderer.LeapSlicedGraphic.

Definition at line 41 of file LeapBoxGraphic.cs.

Property Documentation

◆ size

Vector3 Leap.Unity.GraphicalRenderer.LeapBoxGraphic.size
get

Gets the dimensions of the box graphic in local space.

Definition at line 36 of file LeapBoxGraphic.cs.


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