makeup|SDK makeup|SDK is a library based on visage|SDK face tracking used to configure and render virtual makeup.

Loading...
Searching...
No Matches
Instance Methods | Class Methods | Properties | List of all members
FeatureTemplate Class Reference

`#import <FeatureTemplate.h>`

Inherits NSObject.

## Instance Methods
(NSMutableDictionary *) | - ToJSON
(NSString *) | - ToJSONString

## Class Methods
(FeatureTemplate *) | + FromJSONString:
(FeatureTemplate *) | + FromJSON:

## Properties
NSString * | name
NSString * | type
NSMutableArray< ElementTemplate * > * | elements

## Detailed Description

Stores a definition of makeup feature. One makeup feature contains all information required to render virtual makeup:

- mesh
- area
- color
- description of blending and filtering algorithms required to augment the camera feed with virtual makeup.

One FeatureTemplate instance can contain multiple rendering elements which share the mesh but can have different application area, color or blending and filtering algorithm. The simplest use-case for this class is using one of the predefined template specified in FeatureTemplateRepository obtained from MakeUpEngine::getStyles function and setting the color of each element in elements array.

FeatureTemplate is defined by the following:

- name: name of the feature. This value is used for identification of different features. Does not have to be unique.
- type: type of the feature. Defines a mesh used to represent this feature when rendering.
- elements: defines a list of templates of elements required for rendering of this feature. Each element template uses the same mesh defined by the type parameter.

The following types are supported:

- Lipstick
- Lipliner
- Mascara
- Foundation
- Blush
- Concealer
- Eyeliner
- Eyeshadow
- Eyebrows
- Eyebrows_1 - deprecated
- Eyebrows_2 - deprecated
- Eyebrows_3 - deprecated

Each type maps to a single mesh. The meshes used are stored in .obj format in the "Assets/Models" folder. The name of the .obj corresponds to the type name.

Additionally, this class provides methods for serialization and deserialization of FeatureTemplate instances from and to JSON format.

## Method Documentation

## ◆ FromJSON:

+ (FeatureTemplate *) FromJSON: |  | (NSDictionary *) | jsonDictionary |

Deserializes FeatureTemplate object from JSON representation.

Parameters

  jsonDictionary | JSON dictionary

Returns
  deserialized FeatureTemplate object

## ◆ FromJSONString:

+ (FeatureTemplate *) FromJSONString: |  | (NSString *) | JSON_data |

Returns FeatureTemplate object out of JSON string.

Parameters

  JSON_data | JSON string

Returns
  deserialized FeatureTemplate object

## ◆ ToJSON

- (NSMutableDictionary *) ToJSON |  |  |

Creates JSON representation out of this FeatureTemplate object.

Returns
  JSON representation of this FeatureTemplate returned as NSMutableDictionary

## ◆ ToJSONString

- (NSString *) ToJSONString |  |  |

Creates JSON string out of FeatureTemplate object.

Parameters

  featureTemplate | FeatureTemplate object

Returns
  JSON representation of this FeatureTemplate returned as string

## Property Documentation

## ◆ elements

- (NSMutableArray<ElementTemplate*>*) elements
| read write nonatomic strong

A list of elements required for rendering this feature.

## ◆ name

- (NSString*) name
| read write nonatomic strong

Name of the feature.

## ◆ type

- (NSString*) type
| read write nonatomic strong

Type of the feature. Specifies one of the predefined meshes to use to represent this feature.