SLAMflex SE  0.1.0
SLAMflex provides detection and tracking of dominant planes for smartphone devices. This plane can then be used to show AR content relative to the plane orientation. The detection of plane is performed in the field of view of the smartphone camera. In subsequent frames it is tracked. The interface returns the plane position and orientation.
Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | Private Attributes | List of all members
SlamFlexAdapter Class Reference

SlamFlexAdapter is example how setup SLAMflex library, setup image data from webtexture and every frame sending it to plugin. Also setup for callback when plugin sends data to Unity3D More...

Inheritance diagram for SlamFlexAdapter:

Public Member Functions

void UserMessages (string message)
 Function for presentation of user messages on GUI More...
 

Public Attributes

GameObject _ground_plane
 
bool enable_logging = false
 

Protected Attributes

Color32[] _buf
 

Private Member Functions

void Awake ()
 Function for unity3D code initialization More...
 
void Start ()
 Function for unity3D code initialization More...
 
void Update ()
 
IEnumerator CheckTheValidityOfTexture ()
 Function for yield of unity3D update until webtexture is initialized More...
 
void ReciveStringFromPlugin (string message)
 Function for communication between plugin and Unity, plugin sends plain string More...
 
void ReciveArrayPointsFromPlugin (IntPtr pointer, int size)
 Function for communication between plugin and Unity, plugin sends array of points (corners) to Unity More...
 
void SetCornerTexturePoints (int[] corners)
 Function for drawing corners on separate texture More...
 
void RecivePoseFromPlugin (float r1, float r2, float r3, double t1, double t2, double t3)
 Function for reciving pose from plugin, rotation in euler angles and translation More...
 
IEnumerator AutoEnd ()
 Function for starting SLAMflex until enough points for generation of map is found More...
 
void Logging (string message)
 Function for logging data on Application.persistentDataPath + "/log.txt" More...
 
void OnGUI ()
 Function for unity3D GUI More...
 
void OnApplicationQuit ()
 Function for unity3D OnApplicationQuit event More...
 
List< Vector2 > ParseCoordinates (string array)
 

Private Attributes

GameObject _bg_panel
 
GameObject _bg_panel_corner_points
 
WebCamTexture w
 
GCHandle m_PixelsHandle
 
int screen_width = 640
 
int screen_height = 480
 
float aspect = 1.38188006064344f
 
bool autoend = false
 
Vector3 orginalPlainePosition
 
bool textureOk = false
 
bool planeRotationFound = false
 
Vector3 planeRotation
 
Vector3 planeTranslation = Vector3.zero
 
string userMessagesTextInstr = "Translate the camera slowly sideways"
 
string userMessagesText = ""
 
string userMessagesText1 = ""
 
Texture2D cornerPoints
 
GyroCam gyroCam
 
string logFileData = ""
 
SlamFlexWrapper.DetectionState current_State = SlamFlexWrapper.DetectionState.Finished
 
SlamFlexWrapper.SendStringDelegate mSendStringDelegate
 
SlamFlexWrapper.SendPoseDelegate mSendPoseDelegate
 
SlamFlexWrapper.SendLogDelegate mSendLogDelegate
 
SlamFlexWrapper.SendArrayPointsDelegate mSendArrayPointsDelegate
 

Detailed Description

SlamFlexAdapter is example how setup SLAMflex library, setup image data from webtexture and every frame sending it to plugin. Also setup for callback when plugin sends data to Unity3D

Definition at line 19 of file SlamFlexAdapter.cs.

Member Function Documentation

IEnumerator SlamFlexAdapter.AutoEnd ( )
inlineprivate

Function for starting SLAMflex until enough points for generation of map is found

Returns

Definition at line 341 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.Awake ( )
inlineprivate

Function for unity3D code initialization

Definition at line 60 of file SlamFlexAdapter.cs.

IEnumerator SlamFlexAdapter.CheckTheValidityOfTexture ( )
inlineprivate

Function for yield of unity3D update until webtexture is initialized

Returns

Definition at line 161 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.Logging ( string  message)
inlineprivate

Function for logging data on Application.persistentDataPath + "/log.txt"

Parameters
messagemessage to log

Definition at line 358 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.OnApplicationQuit ( )
inlineprivate

Function for unity3D OnApplicationQuit event

Definition at line 428 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.OnGUI ( )
inlineprivate

Function for unity3D GUI

Definition at line 381 of file SlamFlexAdapter.cs.

List<Vector2> SlamFlexAdapter.ParseCoordinates ( string  array)
inlineprivate

Definition at line 442 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.ReciveArrayPointsFromPlugin ( IntPtr  pointer,
int  size 
)
inlineprivate

Function for communication between plugin and Unity, plugin sends array of points (corners) to Unity

Parameters
pointerpointer of array to copy from unmanaged to managad code
sizesize of array

Definition at line 209 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.RecivePoseFromPlugin ( float  r1,
float  r2,
float  r3,
double  t1,
double  t2,
double  t3 
)
inlineprivate

Function for reciving pose from plugin, rotation in euler angles and translation

Parameters
r1rotation euler angle for unity game object transform X
r2rotation euler angle for unity game object transform Y
r3rotation euler angle for unity game object transform Z
t1translation for unity game object transform X
t2translation for unity game object transform Y
t3translation for unity game object transform Z

Definition at line 250 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.ReciveStringFromPlugin ( string  message)
inlineprivate

Function for communication between plugin and Unity, plugin sends plain string

Parameters
messagestring message from plugin

Definition at line 184 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.SetCornerTexturePoints ( int[]  corners)
inlineprivate

Function for drawing corners on separate texture

Parameters
cornersarray of corners for draw

Definition at line 222 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.Start ( )
inlineprivate

Function for unity3D code initialization

Definition at line 108 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.Update ( )
inlineprivate

Definition at line 144 of file SlamFlexAdapter.cs.

void SlamFlexAdapter.UserMessages ( string  message)
inline

Function for presentation of user messages on GUI

Parameters
messagemessage to present

Definition at line 372 of file SlamFlexAdapter.cs.

Member Data Documentation

GameObject SlamFlexAdapter._bg_panel
private

Definition at line 21 of file SlamFlexAdapter.cs.

GameObject SlamFlexAdapter._bg_panel_corner_points
private

Definition at line 22 of file SlamFlexAdapter.cs.

Color32 [] SlamFlexAdapter._buf
protected

Definition at line 24 of file SlamFlexAdapter.cs.

GameObject SlamFlexAdapter._ground_plane

Definition at line 29 of file SlamFlexAdapter.cs.

float SlamFlexAdapter.aspect = 1.38188006064344f
private

Definition at line 32 of file SlamFlexAdapter.cs.

bool SlamFlexAdapter.autoend = false
private

Definition at line 33 of file SlamFlexAdapter.cs.

Texture2D SlamFlexAdapter.cornerPoints
private

Definition at line 43 of file SlamFlexAdapter.cs.

Definition at line 49 of file SlamFlexAdapter.cs.

bool SlamFlexAdapter.enable_logging = false

Definition at line 47 of file SlamFlexAdapter.cs.

GyroCam SlamFlexAdapter.gyroCam
private

Definition at line 44 of file SlamFlexAdapter.cs.

string SlamFlexAdapter.logFileData = ""
private

Definition at line 46 of file SlamFlexAdapter.cs.

GCHandle SlamFlexAdapter.m_PixelsHandle
private

Definition at line 26 of file SlamFlexAdapter.cs.

SlamFlexWrapper.SendArrayPointsDelegate SlamFlexAdapter.mSendArrayPointsDelegate
private

Definition at line 55 of file SlamFlexAdapter.cs.

SlamFlexWrapper.SendLogDelegate SlamFlexAdapter.mSendLogDelegate
private

Definition at line 54 of file SlamFlexAdapter.cs.

SlamFlexWrapper.SendPoseDelegate SlamFlexAdapter.mSendPoseDelegate
private

Definition at line 53 of file SlamFlexAdapter.cs.

SlamFlexWrapper.SendStringDelegate SlamFlexAdapter.mSendStringDelegate
private

Definition at line 52 of file SlamFlexAdapter.cs.

Vector3 SlamFlexAdapter.orginalPlainePosition
private

Definition at line 34 of file SlamFlexAdapter.cs.

Vector3 SlamFlexAdapter.planeRotation
private

Definition at line 38 of file SlamFlexAdapter.cs.

bool SlamFlexAdapter.planeRotationFound = false
private

Definition at line 37 of file SlamFlexAdapter.cs.

Vector3 SlamFlexAdapter.planeTranslation = Vector3.zero
private

Definition at line 38 of file SlamFlexAdapter.cs.

int SlamFlexAdapter.screen_height = 480
private

Definition at line 31 of file SlamFlexAdapter.cs.

int SlamFlexAdapter.screen_width = 640
private

Definition at line 30 of file SlamFlexAdapter.cs.

bool SlamFlexAdapter.textureOk = false
private

Definition at line 36 of file SlamFlexAdapter.cs.

string SlamFlexAdapter.userMessagesText = ""
private

Definition at line 40 of file SlamFlexAdapter.cs.

string SlamFlexAdapter.userMessagesText1 = ""
private

Definition at line 41 of file SlamFlexAdapter.cs.

string SlamFlexAdapter.userMessagesTextInstr = "Translate the camera slowly sideways"
private

Definition at line 39 of file SlamFlexAdapter.cs.

WebCamTexture SlamFlexAdapter.w
private

Definition at line 25 of file SlamFlexAdapter.cs.


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