#ifndef CT_POINTSATTRIBUTESSCALARTEMPLATED_HPP #define CT_POINTSATTRIBUTESSCALARTEMPLATED_HPP #include "ct_pointsattributesscalartemplated.h" #include template CT_PointsAttributesScalarTemplated::CT_PointsAttributesScalarTemplated() : CT_AbstractPointAttributesScalar(), CT_AttributesScalarT() { } template CT_PointsAttributesScalarTemplated::CT_PointsAttributesScalarTemplated(const CT_OutAbstractSingularItemModel *model, const CT_AbstractResult *result, CT_PCIR pcir) : CT_AbstractPointAttributesScalar(model, result, pcir), CT_AttributesScalarT(pcir.data() != NULL ? pcir->size() : 0) { } template CT_PointsAttributesScalarTemplated::CT_PointsAttributesScalarTemplated(const CT_OutAbstractSingularItemModel *model, const CT_AbstractResult *result, CT_PCIR pcir, CT_StandardCloudStdVectorT *collection) : CT_AbstractPointAttributesScalar(model, result, pcir), CT_AttributesScalarT(collection) { } template CT_PointsAttributesScalarTemplated::CT_PointsAttributesScalarTemplated(const CT_OutAbstractSingularItemModel *model, const CT_AbstractResult *result, CT_PCIR pcir, CT_StandardCloudStdVectorT *collection, const SCALAR &min, const SCALAR &max) : CT_AbstractPointAttributesScalar(model, result, pcir), CT_AttributesScalarT(collection, min, max) { } template CT_PointsAttributesScalarTemplated::CT_PointsAttributesScalarTemplated(const QString &modelName, const CT_AbstractResult *result, CT_PCIR pcir) : CT_AbstractPointAttributesScalar(modelName, result, pcir), CT_AttributesScalarT(pcir.data() != NULL ? pcir->size() : 0) { } template CT_PointsAttributesScalarTemplated::CT_PointsAttributesScalarTemplated(const QString &modelName, const CT_AbstractResult *result, CT_PCIR pcir, CT_StandardCloudStdVectorT *collection) : CT_AbstractPointAttributesScalar(modelName, result, pcir), CT_AttributesScalarT(collection) { } template CT_PointsAttributesScalarTemplated::CT_PointsAttributesScalarTemplated(const QString &modelName, const CT_AbstractResult *result, CT_PCIR pcir, CT_StandardCloudStdVectorT *collection, const SCALAR &min, const SCALAR &max) : CT_AbstractPointAttributesScalar(modelName, result, pcir), CT_AttributesScalarT(collection, min, max) { } template QString CT_PointsAttributesScalarTemplated::getType() const { return staticGetType(); } template QString CT_PointsAttributesScalarTemplated::staticGetType() { QString type = CT_AbstractPointAttributesScalar::staticGetType() + "/CT_PointsAttributesScalarTemplated<" + CT_TypeInfo::name() + ">"; CT_AbstractItemDrawable::addNameTypeCorresp(type, staticName()); return type; } template QString CT_PointsAttributesScalarTemplated::name() const { return staticName(); } template QString CT_PointsAttributesScalarTemplated::staticName() { return tr("Point %1 attributes").arg(CT_TypeInfo::name()); } template CT_AbstractItemDrawable* CT_PointsAttributesScalarTemplated::copy(const CT_OutAbstractItemModel *model, const CT_AbstractResult *result, CT_ResultCopyModeList copyModeList) { CT_StandardCloudStdVectorT* collect = this->collection(); if (collect == NULL) return new CT_PointsAttributesScalarTemplated((const CT_OutAbstractSingularItemModel *)model, result, getPointCloudIndexRegistered()); else return new CT_PointsAttributesScalarTemplated((const CT_OutAbstractSingularItemModel *)model, result, getPointCloudIndexRegistered(), dynamic_cast< CT_StandardCloudStdVectorT* >(collect->copy()), this->min(), this->max()); } #endif // CT_POINTSATTRIBUTESSCALARTEMPLATED_HPP