cAR Project Data Dictionary
- AccessARView()
- The method necessary for letting an AR view to be called in the details page.
- AccessCarList() (Dart method)
- Changes user view to CarListView.
- AccessDetailedCar(SelectedCar)
- This function uses the SelectedCar object assigned to the CarList UI element on the CarListView to open a DetailedCarView containing information from the CarInformation object to the user.
- AccessExternalCar(CarInformation CarListingInfo)
- A public method that accesses the Autotrader link attribute in CarListingInfo and uses it to open a webpage using ExternalLinkController. Returns null.
- AccessHome(boolean PageLoaded)
- Public function that directs user to HomeView if LoggedIn is false. Returns null.
- AccessPasswordReset() (Dart method)
- Changes user view to UserPasswordResetView.
- AccessUserAuth() or AccessUserAuth(Boolean PasswordChangeChk) (Dart method)
- Changes user view to UserAuthenticationView.
- AccessUserSettings()
- Sends the user to the UserSettingsView.
- AddToFavourites() (Dart method)
- Adds a car listing into the user favorites list.
- addTrack(Track track)
- Configures and adds a Track for recording.
- AllCars (Dart CarInformation ARRAY)
- An array containing all the cars in the Car Database.
- AllCars (Dart UserInformationObject ARRAY)
- An array of CarInformation class objects.
- AllCars
- An array containing all UserInformationObject objects in CarDatabase.
- AnchorPt (Swift var)
- This is an object containing the details of the anchor points of the flat plane surface from which the 3D area in a user’s environment is calculated.
- applicationActivity
- Your application’s current activity. Used for launching an intent to display the installation UI.
- ARAnchor (Swift class)
- This class contains information about geometrical anchor points based on a 3-dimensional system in a visual map.
- ARCamView (Swift class)
- This class pertains to the view in which the user can project the 3D car model to their camera feed and trigger a recording.
- ARConfiguration (Swift class)
- A class that contains the needed configurations for the AR Session taking place, such as whether to record video and audio feed from the user device.
- ArCoreApk Class
- Contains methods for managing the status of ARCore on the device.
- ArCoreApk.checkAvailability()
- To determine if the current device supports ARCore. If the device doesn’t the app should disable AR-related functionality and hide associated UI elements.
- ARFrame (Swift class)
- This is a class that is part of the ARKit API that holds information about the 3D space around the user through the device camera. The geometrical and physical information about the user’s surroundings, such as 3D dimensions and lighting information, is captured here.
- ARModelTarget(AnchorPt) (Swift function)
- This function uses the information about Anchor points of the users’ nearest flat plane surface to map an area of Target points where the 3D model of the car can be displayed.
- ARRecordView (Swift class)
- This class displays the view where the user can review the immediately created recording, and choose to save, share or delete it as per their needs.
- ARSCNRecorder (Swift class)
- This class handles the video and audio recording functionality for the ARCamView.
- ARSCNSync(Session, Scene) (Swift function)
- This function syncs the information from the Scene (.scn) file of the 3D car model render and its attributes with the information from the ARSession such as camera, motion, and image information.
- ARSessionController (Swift class)
- The class manages the major tasks associated with every AR experience, such as motion tracking, camera passthrough, and image analysis.
- ARViewProjection(Session.TargetPt, Scene.SceneFilename)
- This function renders the 3D car model Scene onto the 3D area mapped out by the ARSession Target points, thus projecting the 3D car model in the userspace. Returns the final projection points of the AR render so the model can adjust based on the user’s motion around the area.
- Authenticate(UserInfoParameters) (Dart method, returns UserLoginSuccess)
- This method communicates with Firebase to authenticate the user.
- AutomaticallyUpdateLighting (Swift boolean)
- This boolean tracks whether the view should automatically adjust the Scene lighting render parameters based on the ARSession camera information. Set to ‘True’ by default.
- AutotraderLink
- A private varchar type that stores a maximum of MAX characters. A link to the car’s AutoTrader page.
- AVRecord (Swift class)
- This class handles the recording and storage of audio/video input from the device hardware onto the OS storage.
- Camera Class
- Provides information about the camera that is used to capture images. The Camera is a long-lived object and the properties of Camera are updated every time Session.update() is called.
- CaptureARFrame() (Swift function)
- This is a function that triggers the retrieval of information from the camera of the iOS device such as 3D dimensions and lighting conditions.
- CarAR
- A private varbinary type that stores a maximum of MAX characters. AR model of the car.
- CarDatabase
- Stores all needed information about each car that would be presented on the app. It is installed locally on the user's device alongside the application package.
- CarDBAccessController
- This controller is responsible for accessing the Firebase database and converting the fields in the database into CarInformation objects to be used for app functionality.
- CarDimensions (Swift var)
- This is an object that contains the three-dimensional size of the 3D model pertaining to real-life spaces.
- CarEngine
- A private string under 30 characters. The type of engine the car has.
- CarFilterParameters
- An array of strings (from CarListView) that the user-specified when they filtered CarListView.
- CarFilterProcess(CarInformation CarFilterParameters, boolean CarFilterSuccess)
- Public method. Loops through CarFilterParameters and checks if its contents are contained in any of the attributes in a car object in AllCars. If yes, the object is appended to FilteredCars and returned. Boolean CarFilterSuccess is also returned.
- CarFilterSuccess
- Private boolean that tracks whether or not the filter process ran into any errors. Returns true if it did not. The default value is false.
- CarId
- A private TINYINT of size 6. The primary key of the database. A unique number is assigned to each car.
- CarImage
- A private varbinary type that stores a maximum of MAX characters. An image of the car.
- CarInformation
- An object created from CarDatabase.
- CarListingInfo
- A private CarInformation object. DetailedCarView will access this object and read its information to display on the page.
- CarListingInfo
- An object of class CarInformation.
- CarMake
- A private string under 30 characters. The manufacturer of the car.
- CarModel
- A private string under 30 characters. The model of the car.
- CarObj (Dart CarInformation)
- An object of the CarInformation class.
- CarObjectCreator(boolean CarRetrievalSuccess) (Dart method, ret= CarInformation ARRAY)
- Creates a CarInformation object with data retrieved from the cloud car database, then appends it to an array of CarInformation objects. This process is looped until no more fields exist in the Car database table.
- CarRetrievalSuccess
- A boolean attribute that identifies whether the appropriate car(s) were retrieved from CarDatabase. Initialized to false.
- CarRetriever(UserInformationObject CarInfoParameters, boolean CarRetrievalSuccess)
- A private method that retrieves the
- CarSearchQuery (String)
- This string is sent to FilterController through a trigger to filter the list of cars currently on the user’s screen based on the comparison of this string with CarInformation object attributes.
- CarType
- A private string under 30 characters. The type of vehicle the car is.
- CarYear
- A TINYINT of size 4. The year the car was made.
- ChangeLoggedIn (Dart boolean, def = false)
- Change the user’s logged-in status (LoggedIn); if the user logged in during a previous session, this boolean value changes to ‘True’. Returns boolean.
- checkAvailability(Context applicationContext)
- Determines if ARCore is supported on this device.
- CheckEmailValid(EmailTextField) (Dart Boolean)
- Checks if entered email is a valid one
- CheckPassValid(PasswordTextField) (Dart Boolean)
- Checks if the entered password is valid (8 characters minimum).
- close()
- Releases resources (a significant amount of native heap memory) used by an ARCore session. Failure to close sessions explicitly may cause the app to crash.
- Config Class
- Holds settings that are used to configure the session.
- Config(Session sesh)
- Constructs a default configuration for a session. This configuration is guaranteed to be supported on all devices that support ARCore.
- configure(Config config)
- Configures the session and verifies that the enabled features in the specified session config are supported with the currently set camera config.
- Context
- Your application’s Android context.
- CreateAbout() (Dart method)
- Automatically creates an App about-page using Flutter.
- createAnchor(Pose pose)
- Defines a tracked location in the physical world. See Anchor Class for more details.
- CreateUser(UserInfoParameters) (Dart method, returns UserCreationSuccess)
- This method communicates with Firebase to register the user with information from the UserInfoParameters object.
- DBCarConnector() (Dart Function, returns DBConnectionSuccess, DownloadedDBDir)
- This function attempts to connect to the Firebase cloud storage and retrieve the Car database. If this database is not able to retrieve the latest data, it returns the location of the most recently downloaded local database.
- DBConnectionSuccess (Dart Boolean, def = false)
- Boolean value that checks whether a successful connection was made to the Car Database located in the cloud. If this test fails, the most recently downloaded database to the local cache is used instead.
- DeleteFromFavourites() (Dart method)
- Removes a car listing from the user favourites list.
- DeleteRecording(VideoRecording) (Swift function)
- Frees the AVRecord object containing the immediately created user video from memory.
- DetailedCarView Class
- The class of information and methods needed to showcase the detailed car view page.
- DetailedCarView
- UI that shows the user the detailed specifications of the selected car.
- DisplayCarDetails()
- The method called to show the details of the car.
- DisplayCarDetails(CarInformation CarListingInfo)
- A method that retrieves information from CarListingInfo with its getters and displays it on the page. Returns null.
- DisplayLogo(boolean PageLoaded)
- Public function that displays splash logo only when pageLoaded is false. Returns null.
- DownloadedDBDir (Dart string)
- String that stores the directory and filename of the latest downloaded database from the cloud. Updates if DBCarConnector triggers an update.
- EmailTextField (Dart String)
- User email registration input.
- EmailVerify (Dart String)
- This string contains the email of the user resetting their password in UserPasswordResetView.
- EngineSound
- A private varbinary type that stores a maximum of MAX characters. A sound recording of the car’s engine.
- EnteredEmail (Dart String)
- Email entered by the user in the login field.
- EnteredPassword (Dart String)
- Password entered by the user in the login field.
- ExternalCarListingView Class
- The class of information and methods needed to showcase the external link view.
- ExternalLink (string)
- This string contains the external link the user wants to see in a WebView. It can use the AutotraderLink or the ManufacturerLink attributes to open in an external web-browsing environment provided by the OS.
- FavouritesEnabled (Dart Boolean)
- A parameter that is passed to the FilterController based on the user’s enabling of the ‘View Favourites’ button element.
- FilterController
- Filters information from the car database and outputs its results via the CarDBAccessController, which updates the CarListView.
- FilteredCarList (Dart CarInformation ARRAY)
- An array containing a filtered list of the cars based on the user’s favourites and the search string.
- FilteredCars
- A private array of car objects after being filtered by CarFilterParameters with the method CarFilterProcess
- FinalProjPt (Swift var)
- These are the final projection points of the AR render that was placed on the camera frame. This information is passed onto the ARSession so it can adjust the position and size of the 3D model as the user walks around the projected model.
- FinishVideoRecording(VideoProcess) (Swift function)
- This function ends the parallel execution of the video recording process, exports an AVRecord object of the final video/audio recording, and releases all recording-related processing threads.
- float far
- Specifies the far clip plane, in meters.
- float near
- Specifies the near clip plane, in meters.
- float[] dest
- Storage for at least 16 floats representing a 4x4 matrix in column-major order
- float[] viewMatrix
- Storage for at least 16 floats representing a 4x4 matrix in column-major order.
- Frame (Swift ARFrame object)
- ARFrame object containing data from device camera.
- getAutoStopOnPause()
- Gets the setting that indicates whether the recording should stop automatically when the ARCore session is paused.
- GetAutotraderLink()
- Returns the Autotrader listings of the specified car object, returns varchar.
- GetCarAR()
- Returns the AR 3D model filename and directory in the app package of the specified car object, returns varbinary.
- GetCarEngine()
- Returns the engine details of the specified car object. Public method returns a string.
- GetCarID()
- Returns the unique identifier of the specified car object. Public method returns an int.
- GetCarImage()
- Returns the image filename and directory in the app package of the specified car object, returns varbinary.
- GetCarMake()
- Returns the car make of the specified car object. Public method returns a string.
- GetCarModel()
- Returns the car model of the specified car object. Public method returns a string.
- GetCarType()
- Returns the car type of the specified car object. Public method returns a string.
- GetCarYear()
- Returns the year of production of the specified car object. Public method returns an int.
- getDisplayOrientedPose()
- Returns the virtual camera pose in world space for rendering AR content onto the latest frame. This is an OpenGL camera pose with +X pointing right, +Y pointing up, and -Z pointing in the direction the camera is looking, with "right" and "up" being relative to the current logical display orientation.
- GetEngineSound()
- Returns the car engine sound filename and directory in the app package of the specified car object, returns varbinary.
- getInstance()
- returns the singleton instance of ArCoreApk.
- getInstantPlacementMode()
- Returns the currently configured Config.InstantPlacementMode.
- GetManufacturerLink()
- Returns the manufacturer link of the specified car object, returns varchar.
- getMp4DatasetFilePath()
- Gets the file path to save an MP4 dataset file for the recording.
- GetNumDoors()
- Returns the number of doors of the specified car object. Public method returns an int.
- getPlaneFindingMode()
- Returns the currently configured plane finding mode.
- getPose()
- Returns the pose of the physical camera in world space for the latest frame.
- getProjectionMatrix(float[] dest, int offset, float near, float far)
- Returns a projection matrix for rendering virtual content on top of the camera image.
- getRecordingRotation()
- Get the clockwise rotation in degrees that should be applied to the recorded image (0,90,180 , 270 or -1 for unspecified).
- getRecordingStaus()
- Returns the current recording status.
- GetStarRating()
- Returns the Autotrader star ratings of the specified car object, returns an int.
- getTrackingFailureReason()
- Returns the reason that getTrackingState is TrackingState.PAUSED. Always returns TrackingFailureReason.NONE when getTrackingState() is TrackingState.TRACKING. If multiple potential causes for motion tracking failure are detected, this reports the most actionaly failure reason.
- getTrackingState()
- Returns the current motion-tracking state of this camera. If this state is anything other than TrackingState.TRACKING the pose should not be considered useful. Use getTrackingFailureReason() to determine the best recommendation to provide to the user to restore motion tracking.
- getUpdateMode()
- Returns the currently configured behavior of Session.update()
- GetUserEmail (Dart String)
- Get the user email from the user object.
- GetUserFavourites (Dart ARRAY())
- Get an array of the user’s favourite car objects.
- GetUserName (Dart String)
- Get the user’s username from the user object.
- GetUserPassword (Dart String)
- Get the user password from the user object.
- getViewMatrix(float[] viewMatrix, int offset)
- Returns the view matrix for the camera for this frame.
- Homeview
- The screen that allows the user to navigate to the ‘sign up’ and ‘sign in’ pages. Contains 3 images that rotate periodically.
- ImageLink
- Private string that holds link to image shown stored in PicStorage directory. The string must be a valid path.
- ImagesLink
- A private string array of size 3 containing the paths to HomeView images. Strings must be a valid path.
- InitiateScene(SceneFilename) (Swift function)
- This function is used to load a Scene (.scn) file by taking the filename and directory of the file as a parameter.
- InstantPlacementMode
- Select the behaviour of Instant Placement. Default is DISABLED. See ARCore references for more details.
- int offset
- The offset at which to begin writing the matrix (often 0).
- Interval
- A private integer that represents the number of seconds the images retrieved from PicStorage are rotated. The images rotate every 10 seconds at most.
- LightingEnvironment (Swift var)
- This object controls parameters related to the lighting effects of the 3D Car render. These parameters are configured to ensure the car model remains well-lit in multiple real-lighting environments.
- LoggedIn
- Private boolean (default false) that tracks whether the user is logged in. Changed by ChangeLoggedIn function.
- ManufacturerLink
- A private varchar type that stores a maximum of MAX characters. A link to information about the car from the manufacturer’s website.
- MAX
- 2,147,483,647 characters. Used in VARCHAR and VARBINARY.
- NameTextField (Dart String)
- Username registration input.
- NewPassword (Dart String)
- This string contains the new password the user is attempting to change to while resetting their password.
- NumDoors
- A private TINYINT of size 1. The number of doors the car has.
- PageLoaded
- Private boolean attribute that identifies the status of a page.
- PasswordTextField (Dart String)
- User password registration input.
- pause()
- Pause the current session. Stops the camera feed and release resources. The session can be restarted again by calling resume().
- PicStorage
- A folder that contains images used in HomeView and SplashView.
- PlaneFindingMode()
- Select the behaviour of the plane detection subsystem. See ARCore for more information.
- Pose
- Represents an immutable rigid transformation from one coordinate space to another. See ARCore API documentation for more information.
- RecordingConfig Class
- Configuration related to the session recording.
- RecordingConfig(Session session)
- Constructor for RecordingConfig Class.
- RecordingStatus
- Describes the current recording status. Enum values are IO_ERROR, NONE, OK. See ARCore References for more details.
- RedirectNotifSettings() (Dart method)
- This function uses a Flutter feature to redirect the user from the UserSettingsView to the OS-wide notification settings app, for either iOS or Android.
- RefreshUICards(CarInformation ARRAY FilteredCarList) (Dart function)
- This function takes the information available in the FilteredCarList object array to create UI cards in a list format until the ARRAY objects are accounted for. It then assigns an AccessDetailedCar() method trigger to each UI card element based on the CarID represented by each listed element.
- requestInstall(Activity applicationActivity, boolean userRequestedInstall)
- Initiates installation of ARCore when needed. When the application launches or enters an AR mode, it should call this method with userRequestedInstall =true. ArCoreApk.InstallStatus.INSTALLED is returned if ARCore is installed and compatible.
- resume()
- Starts or resumes the ARCore Session
- RotateImages(int Interval)
- A public method that rotates the images seen on HomeView. Returns null.
- RunARSession(ARConfiguration, RunOptions) (Swift function)
- This function initiates or runs the ARSession as part of the ARCamView object.
- RunOptions (Swift struct)
- A struct object that contains various options related to transitioning the state of the ARSession when you change ARConfigurations. This field is only relevant after a re-launch; upon the first ARSession launch, it does not change the configuration.
- Scene (Swift instance of SCNScene class)
- A SCNScene object that manages the attributes of each 3D car model it represents. For instance, if an Audi A8 car model must be displayed, then it contains the model along with the applied graphical attributes. Each Scene object can be stored as a .scn file inside the iOS app bundle.
- SceneFilename (Swift string)
- This string has the filename and directory of the .scn file (which is the car 3D model placed in a scene) which is located inside the iOS app bundle.
- SCNDimensions (Swift class)
- This class contains information about the dimensions of a 3D model in a virtual and real-world capacity.
- SCNLightingEnv (Swift class)
- This class contains complex information related to graphical lighting effects, such as ambient occlusion and tesselation.
- SCNSceneController (Swift class)
- This class is a container for the nodes & attributes representing the visual elements of the car model. The attributes control parameters such as dimensions, effects, and lighting of the final 3D render, which is then displayed in the ARCamView as configured.
- SCNSceneExport() (Swift function)
- This function exports a Scene (.scn) with the settled parameters to the file directory in the App bundle where it was initially accessed.
- SelectedCar (Dart CarInformation)
- A specified car object based on the user’s interaction with the UI and/or the creation of UI elements from the FilteredCarList passed by FilterController.
- Session (Swift instance of ARSession class)
- An ARSession object is used to manage the session by ARCamView.
- Session(Context context)
- Creates a new ARCore session. Before calling this constructor, the application must check that a compatible version of ARCore is installed.
- SessionClass
- Manages AR system state and handles the session lifecycle. This class is the main entry point to the ARCore API.
- setAutoStopOnPause(boolean enable)
- Specify whether the recording should stop automatically when the ARCore session is paused.
- SetAutotraderLink()
- null. Sets the Autotrader listings of the specified car object, sets varchar.
- SetCarAR()
- null. Sets the AR 3D model filename and directory in the app package of the specified car object, sets varbinary.
- SetCarAsFavourite(SelectedCar) (Dart function)
- Accesses the UserController and adds or removes the CarID of the SelectedCar from the UserInformation Object for the specified user.
- SetCarEngine()
- null. Sets the engine details of the specified car object. Public method sets string.
- SetCarID()
- null. Sets the unique identifier of the specified car object. Public method sets int.
- SetCarImage()
- null. Sets the image filename and directory in the app package of the specified car object, sets varbinary.
- SetCarMake()
- null. Sets the car make of the specified car object. Public method sets string.
- SetCarModel()
- null. Sets the car model of the specified car object. Public method sets string.
- SetCarType()
- null. Sets the car type of the specified car object. Public method sets string.
- SetCarYear()
- null. Sets the year of production of the specified car object. Public method sets int.
- setDisplayGeometry(int displayRotation, int widthPx, int heightPx)
- Sets the aspect ratio, coordinate scaling, and display rotation.
- SetEngineSound()
- null. Sets the car engine sound filename and directory in the app package of the specified car object, sets varbinary.
- setInstantPlacementMode(Config.InstantPlacementMode placementMode)
- Sets the desired Instant Placement mode.
- SetManufacturerLink()
- null. Sets the manufacturer link of the specified car object, sets varchar.
- setMp4DatasetFilePath(String mp4DatasetFilePath)
- Sets the file path to save an MP4 dataset file for the recording.
- SetNewPass(string EmailVerify, string NewPassword) (Dart Boolean)
- Calls the UserController to trigger the password reset procedure in the Firebase API.
- SetNumDoors()
- null. Sets the number of doors of the specified car object. Public method sets int
- setPlaneFindingMode(Config.PlaneFindingMode planeFindingMode)
- Sets the desired plane finding mode.
- setRecordingRotation (int rotation)
- Specify the clockwise rotation in degrees that should be applied to the recorded image (0, 90, 180, or 270).
- SetSizeAttribute(CarDimensions) (Swift function)
- This function changes the size of the 3D model inside the .scn file to better align with real-life measurements.
- SetStarRating()
- null. Sets the Autotrader star ratings of the specified car object, Public sets string.
- setUpdateMode(Config.UpdateMode updateMode)
- Sets the behavior of Session.update().
- SetUserEmail (Dart String)
- Set the user email in the user object
- SetUserFavourites(ARRAY())
- Set, change or add to an array of the user’s favourite car objects.
- SetUserName (Dart String)
- Set the user’s username in the user object.
- SetUserPassword (Dart String)
- Set the user password in the user object.
- ShareRecording(VideoRecording) (Swift function)
- Triggers a call for the iOS sharing functionality for the video file.
- SplashView
- A logo page displayed while loading the front-end and back-end systems upon the user launching the application.
- StarRating
- A private string under 30 characters. The rating of the car on autotrader.com.
- startRecording (RecordingConfig recordingConfig)
- Starts a new MP4 dataset file recording that is written to the specific filesystem path. Existing files will be overwritten.
- StartVideoRecording() (Swift function)
- This function starts the parallel execution of the video recording process.
- stopRecording()
- Stops recording and flushes unwritten data to disk. The MP4 dataset file is ready to read after this call returns.
- SurfaceQuery(ARFrame) (Swift function)
- This function queries the information about the users’ environment retrieved by the ARFrame object to return the Anchor points of the nearest flat plane surface.
- TargetPt (Swift var)
- This is an object containing the details of the target points on the plane surface where the AR projections of the 3D model in the user’s environment can be displayed.
- Track
- Configuration of a Track for recording data on session recording. See ARCore Reference for more details.
- TrackingState
- Enumeration that describes the tracking state of Pose. See ARCore Reference for more information.
- TriggerFavouritesFilter(FavouritesEnabled)
- This function triggers upon tapping the ‘Filter by Favourites’ button to send the boolean to the FilterController and update the user’s view using the RefreshUICards method.
- TriggerSearchFilter(CarSearchQuery, FavouritesEnabled) (Dart function returns = CarInformation ARRAY)
- Triggers upon tapping the ‘Search’ button to use the string in the CarSearchQuery element as a comparative measure of the attributes of all the cars displayed in the CarListView UI.
- UIPassChangeFail(Boolean PasswordChangeChk) (Dart method)
- In UserPasswordResetView, if a password reset attempt results in a failure, a UI pop-up is displayed and can be dismissed for the user to retry.
- update()
- Updates the state of the ARCore system. To avoid unnecessary frame buffer flushes and reloads, this call should not be made in the middle of rendering a frame or offscreen buffer.
- UpdateEmail() (Dart method)
- Updates email on Firebase based on user change.
- UpdateMode
- Selects the behavior of Session.update().
- UpdateName() (Dart method)
- Updates name on Firebase based on user change.
- UpdatePassword() (Dart method)
- Updates password on Firebase based on user change.
- UserAuthCaller(string EnteredEmail, string EnteredPassword) (Dart method)
- This function triggers once the user clicks the ‘Sign In’ button on the login page to send the entered user information to UserController.
- UserAuthenticationView (Dart class)
- This view is presented to a returning user who is logging into their existing account to start another session.
- UserAuthenticationView
- UI that allows the user to log in and handles third-party authentication.
- UserController(Dart class)
- This class controls the authentication, registration, and user management features of the cAR app by using the Firebase API.
- UserControllerCaller(EmailTextField, PasswordTextField, NameTextField) (Dart method)
- Takes the input from the textboxes in the view and sends them to UserController.
- UserCreationSuccess (Dart boolean, def = false)
- Boolean value that checks if the user was registered to Firebase backend successfully.
- UserEmail (Dart String)
- String value for user email.
- UserFavourites (Dart ARRAY())
- Array containing the unique IDs of the car objects in the user’s favourites list.
- UserInfoParameters (Dart UserInformation Object)
- An object containing the user information being used by the UserController.
- UserInformation (Dart class)
- This class contains all the information obtained from the user to complete Firebase authentication and control certain app features such as favourites.
- UserLoginSuccess (Dart boolean, def=false)
- Boolean value that checks if the user was authenticated in the Firebase backend successfully.
- UserName (Dart String)
- String value for the user’s custom username.
- UserPassword (Dart String)
- Hash string value for user password.
- UserPasswordResetView (Dart class)
- This view is displayed if the user either forgets or manually attempts to reset their password. It can be either accessed from UserAuthenticationView or UserSettingsView.
- UserRegCaller(string EmailTextField, string PasswordTextField, string NameTextField)
- This function triggers once the user clicks the ‘Sign Up’ button on the registration page to send the entered user information to UserController.
- UserRegistrationView (Dart class)
- This view is presented to a new user registering an account for the first time.
- UserRegistrationView
- UI that allows the user to create an account to sign in.
- VARBINARY
- Variable length binary byte string data.
- VARCHAR
- A set of character data of indeterminate length.
- VideoProcess (Swift var)
- This object handles the video recording process thread. The recording of video data is executed on a separate thread to reduce 3D rendering performance loss.
- VideoRecording (Swift AVRecord object)
- This is an AVRecord object that handles the operating system information of the immediately created AR recording of the video/audio output from ARCamView.
- ViewRecording(VideoRecording) (Swift function)
- Replays the video file of the immediately created recording by the user in ARRecordView.
- WebviewExtLaunch()
- The method used to open the external link of the car object
Notes
FilterController is a conditional-if controller. It only activates if there is an inherent need for a filter/search system.
Application is AR Required therefore ArCoreApk.checkAvailability() must be used to check ARCore support and install status, and ArCoreApk.requestInstall() must be used to install(or update) Google Play Services for AR.