Classes

The following classes are available globally.

  • A view that provides the rendering capabilities of the PictofitCore rendering engine combined with ARKit’s functionality. You can access the internally used ARSession instance as well as the RRGLRenderView instance.

    See more

    Declaration

    Objective-C

    @interface RRARView : UIView

    Swift

    class RRARView : UIView
  • The abstract base class, used to provide Files to the PictofitCore framework.

    See more

    Declaration

    Objective-C

    @interface RRAbstractLargeObjectDataProvider : NSObject

    Swift

    class RRAbstractLargeObjectDataProvider : NSObject
  • Base class for layouts. Can be used together with RRGLRenderView and RRRenderable to display content. The layout manages renderable positioning, animations and user interaction.

    See more

    Declaration

    Objective-C

    @interface RRAbstractLayout : NSObject

    Swift

    class RRAbstractLayout : NSObject
  • Abstract base class for scene graph formats.

    See more

    Declaration

    Objective-C

    @interface RRAbstractSceneGraphFormatProvider : NSObject

    Swift

    class RRAbstractSceneGraphFormatProvider : NSObject
  • Abstract base class for layouts with a garment try-on like RRUserPhotoLayout or RRSceneLayout.

    See more

    Declaration

    Objective-C

    @interface RRAbstractTryOnLayout : RRAbstractLayout

    Swift

    class RRAbstractTryOnLayout : RRAbstractLayout
  • This is a generic abstract class for the purpose of storing visual representations of 3D objects. Each type of visual representation must provide the functionality of creating a renderable instance to show its appearance using the PictofitCore rendering engine.

    See more

    Declaration

    Objective-C

    @interface RRAbstractVisualRepresentation : NSObject

    Swift

    class RRAbstractVisualRepresentation : NSObject
  • An object that models a person and all related metadata for virtual try-on. Further, it provides methods for reading and writing avatars from/to different sources as well as other convenience methods. To display an avatar a RRAvatarRenderable is needed together with a RRGLRenderView. The RRAvatarCaptureView can be used to capture a new avatar using the phones camera. An existing avatar can be edited using the RRAvatarEditorView.

    See more

    Declaration

    Objective-C

    @interface RRAvatar : NSObject

    Swift

    class RRAvatar : NSObject
  • This class is a data container that stores all data that is related to a 3D avatar object

    See more

    Declaration

    Objective-C

    @interface RRAvatar3D : NSObject

    Swift

    class RRAvatar3D : NSObject
  • The renderable to visualize an RRAvatar3D instance

    See more

    Declaration

    Objective-C

    @interface RRAvatar3DRenderable : RRRenderable

    Swift

    class RRAvatar3DRenderable : RRRenderable
  • This class implements the visualization of a 3D avatar to be converted to a 2D avatar. Additionally it also provides an interface for editing avatar pose and shape.

    See more

    Declaration

    Objective-C

    @interface RRAvatar3DUserAdjustmentsLayout : RRAbstractLayout

    Swift

    class RRAvatar3DUserAdjustmentsLayout : RRAbstractLayout
  • This class represents a captured state of an RRAvatar3DUserAdjustmentsLayout instance. This state class stores informations about applied morph factors as well as the body shape and pose.

    See more

    Declaration

    Objective-C

    @interface RRAvatar3DUserAdjustmentsLayoutState : NSObject

    Swift

    class RRAvatar3DUserAdjustmentsLayoutState : NSObject
  • This class represents an interactively adjustable body shape morph. These morphs are defined within the config file.

    See more

    Declaration

    Objective-C

    @interface RRAdjustableMorph : NSObject

    Swift

    class RRAdjustableMorph : NSObject
  • This class represents the configuration of the RRAvatar3DUserAdjustmentsLayout class. It can be loaded and stored from/to JSON files.

    See more

    Declaration

    Objective-C

    @interface RRAvatar3DUserAdjustmentsLayoutConfig : NSObject

    Swift

    class RRAvatar3DUserAdjustmentsLayoutConfig : NSObject
  • This class implements the conversion of a 3D HeadAvatar to a 2D avatar. To be able to do this conversion you need a proper configuration as well as the instances of an RRGLRenderView and the RRAvatar3DUserAdjustmentsLayout that is used for rendering.

    See more

    Declaration

    Objective-C

    @interface RRAvatarConverter : NSObject

    Swift

    class RRAvatarConverter : NSObject
  • This class represents the configuration of the RRAvatarConverter class. It can be loaded and stored from/to JSON files.

    See more

    Declaration

    Objective-C

    @interface RRAvatarConverterConfig : NSObject

    Swift

    class RRAvatarConverterConfig : NSObject
  • A renderable class used to display avatars.

    See more

    Declaration

    Objective-C

    @interface RRAvatarRenderable : RRRenderable

    Swift

    class RRAvatarRenderable : RRRenderable
  • An axis aligned boundingbox that according to its axis alignment is basically just defined using two corners of the boundingbox.

    See more

    Declaration

    Objective-C

    @interface RRAxisAlignedBoundingBox3D : NSObject

    Swift

    class RRAxisAlignedBoundingBox3D : NSObject
  • Implements the logic for serialization/deserialization of scene graphs in binary format.

    Declaration

    Objective-C

    @interface RRBinarySceneGraphFormat : RRAbstractSceneGraphFormatProvider

    Swift

    class RRBinarySceneGraphFormat : RRAbstractSceneGraphFormatProvider
  • This class represents a 3D parametric body model. The RRBodyModel3DState class keeps a reference to an instance of this class as well as a set of pose and shape parameters.

    See more

    Declaration

    Objective-C

    @interface RRBodyModel3D : NSObject

    Swift

    class RRBodyModel3D : NSObject
  • This class provides a set of predefined default shapes for a given body model. The default shapes are defined in a separate RRBodyModel3DDefaultShapesConfig class instance.

    See more

    Declaration

    Objective-C

    @interface RRBodyModel3DDefaultShapes : NSObject

    Swift

    class RRBodyModel3DDefaultShapes : NSObject
  • This class represents the configuration of the RRBodyModel3DDefaultShapes class. It can be loaded and stored from/to JSON files.

    See more

    Declaration

    Objective-C

    @interface RRBodyModel3DDefaultShapesConfig : NSObject

    Swift

    class RRBodyModel3DDefaultShapesConfig : NSObject
  • This class represents the shape of the RRBodyModel3DState class. This class stores a set of all the shape relevant parameters of the parametric body model to represent a specific body shape.

    See more

    Declaration

    Objective-C

    @interface RRBodyModel3DShape : NSObject

    Swift

    class RRBodyModel3DShape : NSObject
  • This class represents the state of the RRBodyModel3D class. This measns that it stores the values for all the parameters of this parametric body model. These parameters include shape and pose specific data.

    See more

    Declaration

    Objective-C

    @interface RRBodyModel3DState : NSObject <NSCopying>

    Swift

    class RRBodyModel3DState : NSObject, NSCopying
  • This class provides functionality to modify a given RRBodyModel3DStateinstance based on a set of body measurements. The measurments that are considered must be defined using an RRBodyModel3DStateFromMeasurementsConfig instance.

    See more

    Declaration

    Objective-C

    @interface RRBodyModel3DStateFromMeasurements : NSObject

    Swift

    class RRBodyModel3DStateFromMeasurements : NSObject
  • This class is represents a configuration for the RRBodyModel3DStateFromMeasurements class. This config class provides functionality to store and load it to/from files. It also provides functionality to create a template config file version that should help creating customized configs.

    See more

    Declaration

    Objective-C

    @interface RRBodyModel3DStateFromMeasurementsConfig : NSObject

    Swift

    class RRBodyModel3DStateFromMeasurementsConfig : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface RRCamera : NSObject
    
    /**
     This property defines the background color used for rendering
     */
    @property(strong, nonatomic) UIColor* backgroundColor;
    
    /**
     This property defines the type of the camera
     @see `RRCameraType`
     */
    @property(nonatomic) RRCameraType cameraType;
    
    /**
     This property defines the camera position in world coordinates
     */
    @property(nonatomic) simd_float3 position;
    
    /**
     This property defines the direction towards which the camera points in world coordinates
     */
    @property(nonatomic) simd_float3 direction;
    
    /**
     This property returns the rotation only transformation matrix of the camera view matrix
     */
    @property(nonatomic, readonly) simd_float4x4 rotationMatrix;
    
    /**
     This property returns the rotation angles of the camera view matrix
     */
    @property(nonatomic, readonly) simd_float3 rotationAngles;
    
    /**
     This method provides functionality to let the camera point towards a target position in world coordinates
     */
    -(void) lookAtTarget:(simd_float3) target;
    
    /**
     This property defines the camera's up facing vector in world coordinates
     */
    @property(nonatomic) simd_float3 upVector;
    
    /**
     This property defines the camera's vertical field of view in degrees
     */
    @property(nonatomic) CGFloat fieldOfView;
    
    /**
     This property defines the camera's near plane used for clipping
     */
    @property(nonatomic) CGFloat nearPlane;
    
    /**
     This property defines the camera's far plane used for clipping
     */
    @property(nonatomic) CGFloat farPlane;
    
    /**
     This property defines a 2D screen-space offset that is provided in OpenGL's clipping space coordinate system
     */
    @property(nonatomic) simd_float2 screenSpaceOffset;
    
    /**
     This method provides the functionality to define the frame for orthogonal cameras
     */
    -(void) setOrthogonalFrameLeft:(CGFloat) left top:(CGFloat) top right:(CGFloat) right bottom:(CGFloat) bottom;
    
    /**
     This property returns the frame for orthogonal cameras as a vector of the following format: (left, top, right, bottom)
     */
    @property(nonatomic, readonly) simd_float4 orthogonalFrame;
    
    /**
     This property defines the camera's view matrix
     */
    @property(nonatomic) simd_float4x4 viewMatrix;
    
    @end

    Swift

    class RRCamera : NSObject
  • RRCaptureCameraDevice uses AVCapturePhotoOutput and AVCaptureVideoDataOutput simulteneously photo output to capture high resolution photos video output to grab current camera low quality preview

    See more

    Declaration

    Objective-C

    @interface RRCaptureCameraDevice : NSObject

    Swift

    class RRCaptureCameraDevice : NSObject
  • A class providing upload functionality for captured content. The data gets uploaded to the content service.

    See more

    Declaration

    Objective-C

    @interface RRCaptureContentUploader : NSObject

    Swift

    class RRCaptureContentUploader : NSObject
  • RRCapturePhoto represents metadata information about captured image

    See more

    Declaration

    Objective-C

    @interface RRCapturePhoto : NSObject

    Swift

    class RRCapturePhoto : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface RRCapturePhotos : NSObject
    
    /// Count of all successful shots made during the capturing session
    @property(nonatomic, readonly) NSInteger count;
    
    /// Just flat collection of shots in `RRCapturePhoto` representation
    @property(nonatomic, readonly) NSArray<RRCapturePhoto *> *photos;
    
    /**
     Gets all captured data for every stage
     @return two dimensional collection (photos[stage][photo])
     */
    - (NSArray<NSArray<NSData *> *> *)allPhotos;
    
    /**
     Lazily fill stage with photos, managing avatar pose state
     @param photo object representing capture session photo entity
     @param poseState object representing current pose state for viewfinder
     @param stage number of current capturing stage
     */
    - (void)appendPhoto:(RRCapturePhoto *)photo withPoseState:(RRPoseState)poseState toStage:(NSInteger)stage;
    
    /**
     Clears stage photos data as well as its quality info and pose states
     @param stage number of current capturing stage
     */
    - (void)clearStage:(NSInteger)stage;
    
    /**
     Updates stage statistics on amount of skipped photos
     @param stage number of current capturing stage
     */
    - (void)skipPhotoAtStage:(NSInteger)stage;
    
    /**
     Updates counter if the user skipped quality warning
     @param stage number of current capturing stage
     */
    - (void)skipQualityWarningForStage:(NSInteger)stage;
    
    /**
     Return quality information about finished stages based on
     amount of correct `RRPoseState` and captured/skipped ratio
     @param stage number of current capturing stage
     @return quality value in range (0, 1)
     */
    - (double)getStageQuality:(NSInteger)stage;
    
    /**
    Return overall quality estimate based on
    amount of correct `RRPoseState` and captured/skipped ratio
    @return quality value in range (0, 1)
    */
    - (double)getOverallQuality;
    
    /**
     Generates general information about all captured stages
     humans body `RRPoseState` at capture moment and on the photo itself
     @return collect all the info about photos for handy JSON serialization
     */
    - (NSDictionary *)generateQualityInfo;
    
    @end

    Swift

    class RRCapturePhotos : NSObject
  • The RRCaptureSession class manages capturing of Full Body Avatar. In a nutshell it allows you to create any amount of circular stages as well as to perform additional stage after all. It is listening to device accelerometer updates and detects whether or not it should capture a photo on any specific angle.

    There are few main functions that will help you to control the flow, there is also an ability to subscribe to the list of capturing events

    Warning

    use freeSession when you done to avoid memory issues
    See more

    Declaration

    Objective-C

    @interface RRCaptureSession : NSObject

    Swift

    class RRCaptureSession : NSObject
  • Basic capture event. Mostly CapturePhoto or TooFastVelocity

    See more

    Declaration

    Objective-C

    @interface RRCaptureSessionEvent : NSObject

    Swift

    class RRCaptureSessionEvent : NSObject
  • Capture event type that signals a completed stage.

    See more

    Declaration

    Objective-C

    @interface RRCaptureSessionStageCompleteEvent : RRCaptureSessionEvent

    Swift

    class RRCaptureSessionStageCompleteEvent : RRCaptureSessionEvent
  • Capture event that signals an update of the device rotation

    See more

    Declaration

    Objective-C

    @interface RRCaptureSessionRotationEvent : RRCaptureSessionEvent

    Swift

    class RRCaptureSessionRotationEvent : RRCaptureSessionEvent
  • Capture event that signals a new pose detection result

    See more

    Declaration

    Objective-C

    @interface RRCaptureSessionPoseDetectionEvent : RRCaptureSessionEvent

    Swift

    class RRCaptureSessionPoseDetectionEvent : RRCaptureSessionEvent
  • RRCaptureUploadInfo aggregates all the information about capture session and avatar, which is needed to content service for the product to be created

    See more

    Declaration

    Objective-C

    @interface RRCaptureUploadInfo : NSObject

    Swift

    class RRCaptureUploadInfo : NSObject
  • A renderable that enables to select a single 3D item out of an arbitrary amount of 3D items by navigating through them like in a carousel. The carousel is defined as follows in its local coordinate system:

    1) The center of the carousel is at position (0, 0, 0)

    2) The rotation axis of the carousel is the Y axis

    3) The item renderables obtained from the datasource are translated to have their local coordinate (0, 0, 0)) on a circle with radius in the XZ plane.

    4) The item renderables are always rotated around the Y axis in a way that the local z axis of the item renderable faces the camera.

    5) Between items in the carousel there is a constant angular distance defined by

    6) Centered in the front of the carousel, there are items visible that are currently within an angular range

    7) At the edges of this range there can be alpha blending applied for the items, which is linearly applied within the around the visible range’s edges centered range .

    8) The current front most item in the carousel is always scaled with a factor and all items at least having an angular distance to the front are scaled with a factor . The scale for the items having less angular distance to the front than is linearly interpolated

    See more

    Declaration

    Objective-C

    @interface RRCarouselRenderable : RRRenderable

    Swift

    class RRCarouselRenderable : RRRenderable
  • The abstract base class for colliders used in the RRGLRenderView to perform hit testing. Colliders can be attached to RRRenderable instances.

    See more

    Declaration

    Objective-C

    @interface RRCollider : NSObject

    Swift

    class RRCollider : NSObject
  • RRContentUploadAPIConfig needed for the server connection to transfer captured data

    See more

    Declaration

    Objective-C

    @interface RRContentUploadAPIConfig : NSOperation

    Swift

    class RRContentUploadAPIConfig : Operation
  • A view providing cropping functionality for images. The user can fit the image using zooming and panning gestures. The cropped region is highlighted by a mask.

    See more

    Declaration

    Objective-C

    @interface RRCroppingView : UIView

    Swift

    class RRCroppingView : UIView
  • This class provides face detection functionality. It provides a boundinbox rectangle as wall as a flag indicating a straight pose of the head for each face in the given image.

    See more

    Declaration

    Objective-C

    @interface RRFaceDetection : NSObject

    Swift

    class RRFaceDetection : NSObject
  • This containe class provides informations about detected faces using the functionality of the RRFaceDetection class.

    See more

    Declaration

    Objective-C

    @interface RRFaceDetectionResult : NSObject

    Swift

    class RRFaceDetectionResult : NSObject
  • A container class that stores facial landmarks

    See more

    Declaration

    Objective-C

    @interface RRFacialLandmarks : NSObject

    Swift

    class RRFacialLandmarks : NSObject
  • This collider detects hits over the entire screen. Its most common usecase is probably UI related.

    See more

    Declaration

    Objective-C

    @interface RRFullScreenCollider : RRCollider

    Swift

    class RRFullScreenCollider : RRCollider
  • An OpenGL view used to display renderables together with layouts. For all common purposes there are layout classes (RRUserPhotoLayout, RRSceneLayout) that do the job of updating the transformations of all renderables the layout knows. This means that it is not necessary to call addRenderable: when using a a layout.

    See more

    Declaration

    Objective-C

    @interface RRGLRenderView : UIView

    Swift

    class RRGLRenderView : UIView
  • This object models a garment and all related metadata for virtual try-on. Further, it provides methodes for reading and writing garments from/to different sources as well as convenience methods. To display a garment a RRGarmentRenderable is required together with a RRGLRenderView.

    See more

    Declaration

    Objective-C

    @interface RRGarment : NSObject

    Swift

    class RRGarment : NSObject
  • This class is a data container that stores all data that is related to a 3D garment object

    See more

    Declaration

    Objective-C

    @interface RRGarment3D : NSObject

    Swift

    class RRGarment3D : NSObject
  • The renderable to visualize an RRGarment3D instance

    See more

    Declaration

    Objective-C

    @interface RRGarment3DRenderable : RRRenderable

    Swift

    class RRGarment3DRenderable : RRRenderable
  • A renderable class used to display a garment fitted to an avatar.

    See more

    Declaration

    Objective-C

    @interface RRGarmentRenderable : RRRenderable

    Swift

    class RRGarmentRenderable : RRRenderable
  • This class defines a slot that can display a single garment/accessory.

    See more

    Declaration

    Objective-C

    @interface RRGarmentSlot : RRSlot

    Swift

    class RRGarmentSlot : RRSlot
  • Contains the group and attributes (not exposed) of a garment.

    See more

    Declaration

    Objective-C

    @interface RRGarmentType : NSObject

    Swift

    class RRGarmentType : NSObject
  • Deprecated

    Special type of avatar which is created from a selfie/photo of the users face and a body template. This class can only be used together with the RRHeadAugmentationLayout. To use it with other layouts and functionality, call the bake method and proceede with the resulting RRAvatar.

    See more

    Declaration

    Objective-C

    
    @interface RRHeadAugmentationAvatar : NSObject

    Swift

    class RRHeadAugmentationAvatar : NSObject
  • Deprecated

    Layout for displaying RRHeadAugmentationAvatars.

    See more

    Declaration

    Objective-C

    
    @interface RRHeadAugmentationLayout : RRAbstractLayout

    Swift

    class RRHeadAugmentationLayout : RRAbstractLayout
  • This class represents the metadata you need to upload to the content service when capturing and uploading a HeadAvatar3D. To capture a HeadAvatar3D, please use the RRTrueDepthCaptureView class.

    See more

    Declaration

    Objective-C

    @interface RRHeadAvatar3DProductMetadata : NSObject

    Swift

    class RRHeadAvatar3DProductMetadata : NSObject
  • Deprecated

    A class that holds the CNN based verification model

    See more

    Declaration

    Objective-C

    
    @interface RRHeadImageVerificationModel : NSObject

    Swift

    class RRHeadImageVerificationModel : NSObject
  • Deprecated

    A class that provides verification/validation functionality for captured head images. It provides functionality to check for issues in the captured images offline on the device before uploading the captured images.

    See more

    Declaration

    Objective-C

    
    @interface RRHeadImageVerification : NSObject

    Swift

    class RRHeadImageVerification : NSObject
  • Convenience renderable that provides functionality for hovering animation of objects. This renderable just modifies its own transformation by setting just the Y direction of the translation. Do not modify the transformation of this renderable yourself, since it will automatically get overridden by the renderable. Adding children to this renderable easily enables them to perform a hover animation. This animation can for instance be used to illustrate the section of a 3d object in the scene.

    See more

    Declaration

    Objective-C

    @interface RRHoveringRenderable : RRRenderable

    Swift

    class RRHoveringRenderable : RRRenderable
  • An Image class that provides interoperability functions to work with common UIKit image representations.

    See more

    Declaration

    Objective-C

    @interface RRImage : NSObject

    Swift

    class RRImage : NSObject
  • A class that represents an intersection of a ray with a renderable’s attached collider

    See

    RRRay
    See more

    Declaration

    Objective-C

    @interface RRIntersection : NSObject

    Swift

    class RRIntersection : NSObject
  • The configuration class for RRLargeObjectDataProviderDirectory. Use this class to load/save config files that specify resource files for given resource IDs.

    See more

    Declaration

    Objective-C

    @interface RRLargeObjectDataProviderDirectoryConfig : NSObject

    Swift

    class RRLargeObjectDataProviderDirectoryConfig : NSObject
  • Directory based implementation of the RRAbstractLargeObjectDataProvider class. This class will provide data from files within a given directory.

    See more

    Declaration

    Objective-C

    @interface RRLargeObjectDataProviderDirectory
        : RRAbstractLargeObjectDataProvider

    Swift

    class RRLargeObjectDataProviderDirectory : RRAbstractLargeObjectDataProvider
  • PictofitCore logging interface

    See more

    Declaration

    Objective-C

    @interface RRLog : NSObject

    Swift

    class RRLog : NSObject
  • A container class that stores the data structure of a 3D mesh

    See more

    Declaration

    Objective-C

    @interface RRMesh3D : NSObject

    Swift

    class RRMesh3D : NSObject
  • This collider detects hits based on a RRMesh3D. Try to use meshes for this collider that are as complex as needed but as simple as possible to avoid bad runtime performance.

    See more

    Declaration

    Objective-C

    @interface RRMeshCollider : RRCollider

    Swift

    class RRMeshCollider : RRCollider
  • A renderable that renders a mesh that can optionally be textured

    See more

    Declaration

    Objective-C

    @interface RRMeshRenderable : RRRenderable

    Swift

    class RRMeshRenderable : RRRenderable
  • A loader class for 3d meshes based on the OBJ file format

    See

    RRMesh3D
    See more

    Declaration

    Objective-C

    @interface RROBJLoader : NSObject

    Swift

    class RROBJLoader : NSObject
  • This layout provides an easy to use functionality to interactively view a 3d object. Touch gestures are used to rotate the object in the scene. The size of the object is automatically fitted to the visible view frustum.

    See more

    Declaration

    Objective-C

    @interface RROrbitViewerLayout : RRAbstractLayout

    Swift

    class RROrbitViewerLayout : RRAbstractLayout
  • This class represents an outfit container. An outfit container includes a list of garments as well as some metadata about the outfit.

    See

    RRGarment.
    See more

    Declaration

    Objective-C

    @interface RROutfit : NSObject

    Swift

    class RROutfit : NSObject
  • A loader class for 3d meshes based on the PLY file format

    See

    RRMesh3D
    See more

    Declaration

    Objective-C

    @interface RRPLYLoader : NSObject

    Swift

    class RRPLYLoader : NSObject
  • Represents a primitive that can be rendered by RRPathRenderer.

    See more

    Declaration

    Objective-C

    @interface RRPath : NSObject

    Swift

    class RRPath : NSObject
  • Renderer for primitives like lines and polygons as well as for filled primitives. All paths are just defined in 2D and will be rendered within the XY plane. When attached to a RRRenderable instance, renderers inherit its transformation automatically. So to change the plane your path should be rendered in, just modify the renderable’s transformation.

    See more

    Declaration

    Objective-C

    @interface RRPathRenderer : RRRenderer

    Swift

    class RRPathRenderer : RRRenderer
  • This collider detects hits on a plane that is positioned in the XY plane.

    See more

    Declaration

    Objective-C

    @interface RRPlaneCollider : RRCollider

    Swift

    class RRPlaneCollider : RRCollider
  • A data container class representing a detected pose joint including its type and position.

    See more

    Declaration

    Objective-C

    @interface RRPoseDetectionJoint : NSObject

    Swift

    class RRPoseDetectionJoint : NSObject
  • A class providing pose detection functionality for humans. This class supports two different algorithms to detect human poses.

    See more

    Declaration

    Objective-C

    @interface RRPoseDetection : NSObject

    Swift

    class RRPoseDetection : NSObject
  • This class represents the configuration of the RRPoseReadjustment class. It can be loaded and stored from/to JSON files.

    See more

    Declaration

    Objective-C

    @interface RRPoseReadjustmentConfig : NSObject

    Swift

    class RRPoseReadjustmentConfig : NSObject
  • A renderable for displaying a textured quad. For example to show a watermark of a renderview. Therefore a RRQuadRenderable can be set as watermarkRenderable of a RRUserPhotoLayout.

    See more

    Declaration

    Objective-C

    @interface RRQuadRenderable : RRRenderable

    Swift

    class RRQuadRenderable : RRRenderable
  • This class defines a slot that can display single quad.

    See more

    Declaration

    Objective-C

    @interface RRQuadSlot : RRSlot

    Swift

    class RRQuadSlot : RRSlot
  • A class that represents a ray in space with defined origin and direction. This ray can be used to determine intersections in the scene.

    See more

    Declaration

    Objective-C

    @interface RRRay : NSObject

    Swift

    class RRRay : NSObject
  • Base class for renderable objects. Can be used together with the RRAbstractRenderableLayout to display content. Renderables are organized in a hierarchical tree structure. One renderable can have an arbitrary amount of ordered child renderables and can be child of one single parent renderable.

    See more

    Declaration

    Objective-C

    @interface RRRenderable : NSObject

    Swift

    class RRRenderable : NSObject
  • Represents the type of a concrete implementation of RRRenderable. Instances of this class can be compared using isEqual: to determine the type of a RRRenderable instance

    Declaration

    Objective-C

    @interface RRRenderableType : NSObject

    Swift

    class RRRenderableType : NSObject
  • This is the base class for renderers that can be attached to RRRenderable instances. The renderers will render in the local coordinate system of the RRRenderable instance they are attached to.

    Declaration

    Objective-C

    @interface RRRenderer : NSObject

    Swift

    class RRRenderer : NSObject
  • Serializes/deserializes a scene graph from/to various data formats. Currently only deserialization functionality is exposed.

    See more

    Declaration

    Objective-C

    @interface RRSceneGraphSerializer : NSObject

    Swift

    class RRSceneGraphSerializer : NSObject
  • A layout used to render scenes. If the parallax effect is enabled the layout reads the devices IMU and adjusts the viewpoint to the device’s orientation. Switching of garments and avatar is similar to e.g. the RRUserPhotoLayout.

    See more

    Declaration

    Objective-C

    @interface RRSceneLayout : RRAbstractTryOnLayout

    Swift

    class RRSceneLayout : RRAbstractTryOnLayout
  • This class defines the base class for slot instances that are used within the RRSlotLayout.

    See more

    Declaration

    Objective-C

    @interface RRSlot : RRRenderable

    Swift

    class RRSlot : RRRenderable
  • A layout that arranges multiple renderable RRSlot instances that can be arbitrary placed within the renderview. Since the associated slots are positioned based on coordinate frames in viewport coordinates, it must be considered to update the frames of the slots for resize events if needed. This also applies for the renderToImage method of the RRGLRenderView, since this also temporarily changes the viewport size when rendering the image.

    See more

    Declaration

    Objective-C

    @interface RRSlotLayout : RRAbstractLayout

    Swift

    class RRSlotLayout : RRAbstractLayout
  • A renderable that creates a spinning textured quad renderable. Its rotation speed can be customized. The rotation angles can also be discretized. The spinning quad renderable is centered at local coordinate (0, 0, 0) and isplaced in the XY plane. Its size is normalized so that the longer image dimension has length 1.0. The image aspect ratio is preserved.

    See more

    Declaration

    Objective-C

    @interface RRSpinningImageRenderable : RRRenderable

    Swift

    class RRSpinningImageRenderable : RRRenderable
  • This is class represents a textured mesh which includes one mesh and a texture. This class inherits from RRAbstractVisualRepresentation and therefore provides functionality to easily create a renderable.

    See more

    Declaration

    Objective-C

    @interface RRTexturedMesh3DObject : RRAbstractVisualRepresentation

    Swift

    class RRTexturedMesh3DObject : RRAbstractVisualRepresentation
  • Class for 3d object transformations. This class is used in the RRRenderable to define the transformation from local to global coordinate space during rendering

    See more

    Declaration

    Objective-C

    @interface RRTransformation : NSObject <NSCopying>

    Swift

    class RRTransformation : NSObject, NSCopying
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface RRTrueDepthCaptureViewQualitySummary : NSObject
    /// This flag is set if the capturing motion was properly finished
    @property(nonatomic, readonly) BOOL capturingMotionFinished;
    
    /// This flag is set if the capturing ended because maxCaptureDuration was exceeded
    @property(nonatomic, readonly) BOOL maximumCaptureDurationExceeded;
    
    /// This flag is set if there was too fast motion during the capturing session
    @property(nonatomic, readonly) BOOL tooFastMotionDetected;
    
    /// This flag is set if there were too many frames where no face was detected
    @property(nonatomic, readonly) BOOL tooManyFramesWithNoFaceDetected;
    
    /// This flag is set if the desired capturing motion was not followed properly
    @property(nonatomic, readonly) BOOL motionInstructionsNotProperlyFollowed;
    
    /// This flag is set if there was asymmetric lighting detected when capturing started
    @property(nonatomic, readonly) BOOL asymmetricLightingDetected;
    
    /// This flag is set if the user should be presented with a quality warning. The user should be encouraged to try a new capturing to ensure good quality results!
    @property(nonatomic, readonly) BOOL shouldDisplayQualityWarning;
    
    @end

    Swift

    class RRTrueDepthCaptureViewQualitySummary : NSObject
  • This view provides functionality to capture color and depth information of human faces. The captured data can be used to create photorealistic avatars.

    See more

    Declaration

    Objective-C

    
    @interface RRTrueDepthCaptureView : UIView <ARSessionDelegate>

    Swift

    class RRTrueDepthCaptureView : UIView, ARSessionDelegate
  • This class is a data container that stores all informations related to a captured frame of the RRTrueDepthCaptureView class.

    See more

    Declaration

    Objective-C

    
    @interface RRTrueDepthKeyframe : NSObject

    Swift

    class RRTrueDepthKeyframe : NSObject
  • This class defines a slot that can display a try-on

    See more

    Declaration

    Objective-C

    @interface RRTryOnSlot : RRSlot

    Swift

    class RRTryOnSlot : RRSlot
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface RRUploadFile : NSObject <NSCopying>
    
    /// Automatically generated uuid
    @property (nonatomic, strong) NSString *uuid;
    
    /// Defines uploaded file name
    @property (nonatomic, strong) NSString *name;
    
    /// Binary file representation
    @property (nonatomic, strong) NSData *data;
    
    /// File MIME type
    @property (nonatomic, strong) NSString *mime;
    
    /** File type
     5 = ADDITIONAL_VIEW
     7 = DEPTH
     8 = MATRIX
     */
    @property (nonatomic, strong) NSNumber *type;
    
    /** Initializes the `RRUploadFile` from an NSData object
    
     @param data binary representation uploaded file
     @return an instance of `RRUploadFile`
    */
    - (instancetype)initWithData:(NSData *)data;
    
    /** Initializes the `RRUploadFile` from an NSData object and NSString name
    
     @param data binary representation uploaded file
     @param name string representing uploaded file name
     @return an instance of `RRUploadFile`
    */
    - (instancetype)initWithData:(NSData *)data name:(NSString *)name;
    
    /** Initializes the `RRUploadFile` from an NSData object and NSString name giving it specific uuid string
    
     @param data binary representation uploaded file
     @param name string representing uploaded file name
     @param uuid string representing file uuid
     @return an instance of `RRUploadFile`
    */
    - (instancetype)initWithData:(NSData *)data name:(NSString *)name uuid:(NSString *)uuid;
    
    @end

    Swift

    class RRUploadFile : NSObject, NSCopying
  • A layout that shows an avatar centered within the view and an array of garments fitted to that avatar. Further, a watermark can be displayed at the lower right of the view.

    See more

    Declaration

    Objective-C

    @interface RRUserPhotoLayout : RRAbstractTryOnLayout

    Swift

    class RRUserPhotoLayout : RRAbstractTryOnLayout