diff --git a/VERSION b/VERSION index c7692ea7f..e9af4ed01 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1535 \ No newline at end of file +1.36.1536 \ No newline at end of file diff --git a/facebody/include/alibabacloud/facebody/model/AddFaceImageTemplateResult.h b/facebody/include/alibabacloud/facebody/model/AddFaceImageTemplateResult.h index f08f17b77..ed990c368 100644 --- a/facebody/include/alibabacloud/facebody/model/AddFaceImageTemplateResult.h +++ b/facebody/include/alibabacloud/facebody/model/AddFaceImageTemplateResult.h @@ -34,6 +34,19 @@ namespace AlibabaCloud public: struct Data { + struct FaceInfosItem + { + struct FaceRect + { + std::string x; + std::string y; + std::string height; + std::string width; + }; + FaceRect faceRect; + std::string templateFaceID; + }; + std::vector faceInfos; std::string templateId; }; diff --git a/facebody/include/alibabacloud/facebody/model/MergeImageFaceRequest.h b/facebody/include/alibabacloud/facebody/model/MergeImageFaceRequest.h index c1c9be2e2..c19ae8456 100644 --- a/facebody/include/alibabacloud/facebody/model/MergeImageFaceRequest.h +++ b/facebody/include/alibabacloud/facebody/model/MergeImageFaceRequest.h @@ -28,10 +28,16 @@ namespace Facebody { namespace Model { class ALIBABACLOUD_FACEBODY_EXPORT MergeImageFaceRequest : public RpcServiceRequest { public: + struct MergeInfos { + std::string imageURL; + std::string templateFaceID; + }; MergeImageFaceRequest(); ~MergeImageFaceRequest(); bool getFormatResultToJson() const; void setFormatResultToJson(bool formatResultToJson); + std::vector getMergeInfos() const; + void setMergeInfos(const std::vector &mergeInfos); std::string getUserId() const; void setUserId(const std::string &userId); std::string getOssFile() const; @@ -42,14 +48,21 @@ public: void setRequestProxyBy(const std::string &requestProxyBy); std::string getImageURL() const; void setImageURL(const std::string &imageURL); + bool getAddWatermark() const; + void setAddWatermark(bool addWatermark); + std::string getModelVersion() const; + void setModelVersion(const std::string &modelVersion); private: bool formatResultToJson_; + std::vector mergeInfos_; std::string userId_; std::string ossFile_; std::string templateId_; std::string requestProxyBy_; std::string imageURL_; + bool addWatermark_; + std::string modelVersion_; }; } // namespace Model } // namespace Facebody diff --git a/facebody/include/alibabacloud/facebody/model/QueryFaceImageTemplateResult.h b/facebody/include/alibabacloud/facebody/model/QueryFaceImageTemplateResult.h index 1fc89bf25..14f65f348 100644 --- a/facebody/include/alibabacloud/facebody/model/QueryFaceImageTemplateResult.h +++ b/facebody/include/alibabacloud/facebody/model/QueryFaceImageTemplateResult.h @@ -36,10 +36,23 @@ namespace AlibabaCloud { struct ElementsItem { + struct FaceInfosItem + { + struct FaceRect + { + std::string x; + std::string y; + std::string height; + std::string width; + }; + FaceRect faceRect; + std::string templateFaceID; + }; std::string templateURL; std::string userId; std::string createTime; std::string updateTime; + std::vector faceInfos; std::string templateId; }; std::vector elements; diff --git a/facebody/src/model/AddFaceImageTemplateResult.cc b/facebody/src/model/AddFaceImageTemplateResult.cc index 6adc3e8f2..32d6e54e4 100644 --- a/facebody/src/model/AddFaceImageTemplateResult.cc +++ b/facebody/src/model/AddFaceImageTemplateResult.cc @@ -42,6 +42,23 @@ void AddFaceImageTemplateResult::parse(const std::string &payload) auto dataNode = value["Data"]; if(!dataNode["TemplateId"].isNull()) data_.templateId = dataNode["TemplateId"].asString(); + auto allFaceInfosNode = dataNode["FaceInfos"]["FaceInfosItem"]; + for (auto dataNodeFaceInfosFaceInfosItem : allFaceInfosNode) + { + Data::FaceInfosItem faceInfosItemObject; + if(!dataNodeFaceInfosFaceInfosItem["TemplateFaceID"].isNull()) + faceInfosItemObject.templateFaceID = dataNodeFaceInfosFaceInfosItem["TemplateFaceID"].asString(); + auto faceRectNode = value["FaceRect"]; + if(!faceRectNode["X"].isNull()) + faceInfosItemObject.faceRect.x = faceRectNode["X"].asString(); + if(!faceRectNode["Y"].isNull()) + faceInfosItemObject.faceRect.y = faceRectNode["Y"].asString(); + if(!faceRectNode["Height"].isNull()) + faceInfosItemObject.faceRect.height = faceRectNode["Height"].asString(); + if(!faceRectNode["Width"].isNull()) + faceInfosItemObject.faceRect.width = faceRectNode["Width"].asString(); + data_.faceInfos.push_back(faceInfosItemObject); + } if(!value["Code"].isNull()) code_ = value["Code"].asString(); if(!value["Message"].isNull()) diff --git a/facebody/src/model/MergeImageFaceRequest.cc b/facebody/src/model/MergeImageFaceRequest.cc index d55d69164..4d8d51af4 100644 --- a/facebody/src/model/MergeImageFaceRequest.cc +++ b/facebody/src/model/MergeImageFaceRequest.cc @@ -34,6 +34,20 @@ void MergeImageFaceRequest::setFormatResultToJson(bool formatResultToJson) { setParameter(std::string("FormatResultToJson"), formatResultToJson ? "true" : "false"); } +std::vector MergeImageFaceRequest::getMergeInfos() const { + return mergeInfos_; +} + +void MergeImageFaceRequest::setMergeInfos(const std::vector &mergeInfos) { + mergeInfos_ = mergeInfos; + for(int dep1 = 0; dep1 != mergeInfos.size(); dep1++) { + auto mergeInfosObj = mergeInfos.at(dep1); + std::string mergeInfosObjStr = std::string("MergeInfos") + "." + std::to_string(dep1 + 1); + setBodyParameter(mergeInfosObjStr + ".ImageURL", mergeInfosObj.imageURL); + setBodyParameter(mergeInfosObjStr + ".TemplateFaceID", mergeInfosObj.templateFaceID); + } +} + std::string MergeImageFaceRequest::getUserId() const { return userId_; } @@ -79,3 +93,21 @@ void MergeImageFaceRequest::setImageURL(const std::string &imageURL) { setBodyParameter(std::string("ImageURL"), imageURL); } +bool MergeImageFaceRequest::getAddWatermark() const { + return addWatermark_; +} + +void MergeImageFaceRequest::setAddWatermark(bool addWatermark) { + addWatermark_ = addWatermark; + setBodyParameter(std::string("AddWatermark"), addWatermark ? "true" : "false"); +} + +std::string MergeImageFaceRequest::getModelVersion() const { + return modelVersion_; +} + +void MergeImageFaceRequest::setModelVersion(const std::string &modelVersion) { + modelVersion_ = modelVersion; + setBodyParameter(std::string("ModelVersion"), modelVersion); +} + diff --git a/facebody/src/model/QueryFaceImageTemplateResult.cc b/facebody/src/model/QueryFaceImageTemplateResult.cc index 72b19174b..020996049 100644 --- a/facebody/src/model/QueryFaceImageTemplateResult.cc +++ b/facebody/src/model/QueryFaceImageTemplateResult.cc @@ -54,6 +54,23 @@ void QueryFaceImageTemplateResult::parse(const std::string &payload) elementsItemObject.templateId = dataNodeElementsElementsItem["TemplateId"].asString(); if(!dataNodeElementsElementsItem["TemplateURL"].isNull()) elementsItemObject.templateURL = dataNodeElementsElementsItem["TemplateURL"].asString(); + auto allFaceInfosNode = dataNodeElementsElementsItem["FaceInfos"]["FaceInfosItem"]; + for (auto dataNodeElementsElementsItemFaceInfosFaceInfosItem : allFaceInfosNode) + { + Data::ElementsItem::FaceInfosItem faceInfosObject; + if(!dataNodeElementsElementsItemFaceInfosFaceInfosItem["TemplateFaceID"].isNull()) + faceInfosObject.templateFaceID = dataNodeElementsElementsItemFaceInfosFaceInfosItem["TemplateFaceID"].asString(); + auto faceRectNode = value["FaceRect"]; + if(!faceRectNode["X"].isNull()) + faceInfosObject.faceRect.x = faceRectNode["X"].asString(); + if(!faceRectNode["Y"].isNull()) + faceInfosObject.faceRect.y = faceRectNode["Y"].asString(); + if(!faceRectNode["Height"].isNull()) + faceInfosObject.faceRect.height = faceRectNode["Height"].asString(); + if(!faceRectNode["Width"].isNull()) + faceInfosObject.faceRect.width = faceRectNode["Width"].asString(); + elementsItemObject.faceInfos.push_back(faceInfosObject); + } data_.elements.push_back(elementsItemObject); } if(!value["Code"].isNull())