59 virtual unsigned getID()
const = 0;
68 virtual bool needSF()
const {
return false; }
85 bool& invalidScale) = 0;
cmdLineReadable * params[]
static const unsigned DESC_DIMENSIONALITY
static const unsigned DESC_CURVATURE
static const unsigned DESC_INVALID
static const unsigned DESC_DIMENSIONALITY_SF
Set of (core) point descriptors.
const std::vector< float > & scales() const
Returns associated scales.
CorePointDescSet(const CorePointDescSet &descSet)
const unsigned descriptorID() const
Returns associated descriptor ID.
std::vector< float > m_scales
Associated scales.
CorePointDescSet(size_t sz, const CorePointDesc &defaultVal)
CorePointDescSet(size_t sz)
unsigned m_descriptorID
Associated descriptor ID.
bool setScales(const std::vector< float > &scales)
Sets associated scales.
const unsigned dimPerScale() const
Returns the number of dimensions per scale.
void setDescriptorID(unsigned ID)
Sets associated descriptor ID.
QByteArray toByteArray() const
Converts structure to a byte array.
void setDimPerScale(unsigned dim)
Sets associated descriptor ID.
bool fromByteArray(const QByteArray &data)
Inits structure from a byte array.
bool loadFromMSC(QString filename, QString &error, ccPointCloud *corePoints=0)
Loads structure of descriptors from an ".msc" file (see Brodu's version)
unsigned m_dimPerScale
Dimensions per scale.
Generic parameters 'computer' class (at a given scale)
static ScaleParamsComputer * GetByID(unsigned descID)
Vault: returns the computer corresponding to the given ID.
virtual unsigned dimPerScale() const =0
Returns the number of dimensions per scale for this descriptor.
static unsigned AvailableCount()
Returns the number of available 'descriptors'.
static ScaleParamsComputer * GetByIndex(unsigned index)
Vault: returns the ith computer.
virtual unsigned getID() const =0
Returns the associated descriptor ID.
virtual ~ScaleParamsComputer()=default
virtual bool computeScaleParams(cloudViewer::ReferenceCloud &neighbors, double radius, float params[], bool &invalidScale)=0
Computes the parameters at a given scale.
virtual QString getName() const =0
Returns the associated descriptor name.
virtual void reset()=0
Called once before computing parameters at first scale.
virtual bool needSF() const
Returns whether the computer requires a scalar field or not.
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
A very simple point cloud (no point duplication)
static void error(char *msg)
std::vector< float > params