FLImaging 7.8.25.3
Smoothing3D.h
1#pragma once
2
11
12#include "DefinitionsThreeDim.h"
13#include "AlgorithmFeature3D_SO_DO.h"
14
16namespace FLImaging
17{
19 namespace ThreeDim
20 {
21 class CInternalSmoothing3D;
22
33 class FL_EXPORT CSmoothing3D : public CAlgorithmFeature3D_SO_DO
34 {
35 public:
36
42
47 CSmoothing3D(const CSmoothing3D& Smoothing3D);
48
53 CSmoothing3D(const CSmoothing3D* pSmoothing3D);
54
59 virtual ~CSmoothing3D();
60
74 const CSmoothing3D& operator=(const CSmoothing3D& Smoothing3D);
75
91 virtual const CResult Assign(const CSmoothing3D& Smoothing3D);
92
108 virtual const CResult Assign(const CSmoothing3D* pSmoothing3D);
109
123 virtual const CResult Execute() override;
124
138 virtual const CResult Clear() override;
139
171 virtual const CResult SetAutoSigmaCoefficient(float f32Coef = 3);
172
180 virtual float GetAutoSigmaCoefficient() const;
181
197 virtual const CResult SetNeighborCount(int32_t i32Count = 40);
198
206 virtual int32_t GetNeighborCount() const;
207
229 virtual const CResult SetPolynomialOrder(int32_t i32Order = 2);
230
238 virtual int32_t GetPolynomialOrder() const;
239
258 virtual const CResult SetViewPoint(const Base::TPoint3<float>& tp3ViewPoint = Base::TPoint3<float>(0, 0, 1));
259
267 virtual const Base::TPoint3<float> GetViewPoint() const;
268
285
294
310 virtual const CResult EnableIncludingNormalVector(bool bNormal = true);
311
319 virtual bool IsIncludingNormalVectorEnabled() const;
320
336 virtual const CResult EnableIncludingVertex(bool bVertex = true);
337
345 virtual bool IsIncludingVertexEnabled() const;
346
347 virtual bool IsLicenseAvailable() const override;
348
349 DeclareGetClassType();
350 SupportToDuplicateObject(CSmoothing3D, *this);
351
352 protected:
353
362
371
380
389
398
407
416
417 protected:
418 CInternalSmoothing3D* m_pInternal;
419 friend class CInternalSmoothing3D;
420 };
421 }
422}
Simplified class representing a 3-D point.
Definition TPoint3.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1704
virtual int32_t GetPolynomialOrder() const
CSmoothing3D(const CSmoothing3D &Smoothing3D)
virtual const CResult EnableIncludingNormalVector(bool bNormal=true)
bool m_bIncludeResultVertex
Definition Smoothing3D.h:397
virtual float GetAutoSigmaCoefficient() const
virtual bool IsLicenseAvailable() const override
Returns whether the algorithm can be used with the current license.
EPrecisionType m_ePrecisionType
Definition Smoothing3D.h:406
virtual const Base::TPoint3< float > GetViewPoint() const
virtual bool IsIncludingNormalVectorEnabled() const
int32_t m_i32NeighborCount
Definition Smoothing3D.h:379
CSmoothing3D(const CSmoothing3D *pSmoothing3D)
virtual const CResult EnableIncludingVertex(bool bVertex=true)
virtual const CResult Clear() override
virtual int32_t GetNeighborCount() const
const CSmoothing3D & operator=(const CSmoothing3D &Smoothing3D)
float m_f32SigmaCoefficient
Definition Smoothing3D.h:361
Base::TPoint3< float > m_tp3ViewPoint
Definition Smoothing3D.h:415
virtual const CResult Execute() override
virtual const CResult Assign(const CSmoothing3D *pSmoothing3D)
virtual bool IsIncludingVertexEnabled() const
virtual const CResult SetPolynomialOrder(int32_t i32Order=2)
int32_t m_i32PolynomialOrder
Definition Smoothing3D.h:370
virtual const CResult SetAutoSigmaCoefficient(float f32Coef=3)
bool m_bIncludeResultNormalVector
Definition Smoothing3D.h:388
virtual const CResult SetViewPoint(const Base::TPoint3< float > &tp3ViewPoint=Base::TPoint3< float >(0, 0, 1))
virtual const CResult Assign(const CSmoothing3D &Smoothing3D)
virtual const CResult SetPrecisionType(EPrecisionType eType)
virtual EPrecisionType GetPrecisionType() const
virtual const CResult SetNeighborCount(int32_t i32Count=40)
Definition Algorithm3DBase.h:16
EPrecisionType
Definition DefinitionsThreeDim.h:284