FLImaging 6.6.27.1
Smoothing3D.h
1#pragma once
2#pragma once
3
12
13#include "DefinitionsThreeDim.h"
14#include "AlgorithmFeature3D_SO_DO.h"
15
17namespace FLImaging
18{
20 namespace ThreeDim
21 {
22 class CInternalSmoothing3D;
23
34 class FL_EXPORT CSmoothing3D : public CAlgorithmFeature3D_SO_DO
35 {
36 public:
37
43
48 CSmoothing3D(const CSmoothing3D& Smoothing3D);
49
54 CSmoothing3D(const CSmoothing3D* pSmoothing3D);
55
60 virtual ~CSmoothing3D();
61
75 const CSmoothing3D& operator=(const CSmoothing3D& Smoothing3D);
76
92 virtual const CResult Assign(const CSmoothing3D& Smoothing3D);
93
109 virtual const CResult Assign(const CSmoothing3D* pSmoothing3D);
110
124 virtual const CResult Execute();
125
139 virtual const CResult Clear() override;
140
172 virtual const CResult SetAutoSigmaCoefficient(float f32Coef = 3);
173
181 virtual float GetAutoSigmaCoefficient() const;
182
198 virtual const CResult SetNeighborCount(int32_t i32Count = 40);
199
207 virtual int32_t GetNeighborCount() const;
208
230 virtual const CResult SetPolynomialOrder(int32_t i32Order = 2);
231
239 virtual int32_t GetPolynomialOrder() const;
240
259 virtual const CResult SetViewPoint(const Base::TPoint3<float>& tp3ViewPoint = Base::TPoint3<float>(0, 0, 1));
260
268 virtual const Base::TPoint3<float> GetViewPoint() const;
269
286
295
311 virtual const CResult EnableIncludeNormalVector(bool bNormal = true);
312
320 virtual bool IsIncludeNormalVectorEnabled() const;
321
337 virtual const CResult EnableIncludeVertex(bool bVertex = true);
338
346 virtual bool IsIncludeVertexEnabled() const;
347
348 virtual bool IsLicenseAvailable() const override;
349
350 DeclareGetClassType();
351 SupportToDuplicateObject(CSmoothing3D, *this);
352
353 protected:
354
363
372
381
390
399
408
417
418 protected:
419 CInternalSmoothing3D* m_pInternal;
420 friend class CInternalSmoothing3D;
421 };
422 }
423}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
virtual int32_t GetPolynomialOrder() const
CSmoothing3D(const CSmoothing3D &Smoothing3D)
bool m_bIncludeResultVertex
Definition Smoothing3D.h:398
virtual float GetAutoSigmaCoefficient() const
virtual bool IsLicenseAvailable() const override
현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
EPrecisionType m_ePrecisionType
Definition Smoothing3D.h:407
virtual const Base::TPoint3< float > GetViewPoint() const
virtual bool IsIncludeNormalVectorEnabled() const
int32_t m_i32NeighborCount
Definition Smoothing3D.h:380
CSmoothing3D(const CSmoothing3D *pSmoothing3D)
virtual const CResult Clear() override
virtual int32_t GetNeighborCount() const
const CSmoothing3D & operator=(const CSmoothing3D &Smoothing3D)
float m_f32SigmaCoefficient
Definition Smoothing3D.h:362
virtual const CResult EnableIncludeVertex(bool bVertex=true)
virtual bool IsIncludeVertexEnabled() const
Base::TPoint3< float > m_tp3ViewPoint
Definition Smoothing3D.h:416
virtual const CResult Assign(const CSmoothing3D *pSmoothing3D)
virtual const CResult SetPolynomialOrder(int32_t i32Order=2)
int32_t m_i32PolynomialOrder
Definition Smoothing3D.h:371
virtual const CResult EnableIncludeNormalVector(bool bNormal=true)
virtual const CResult SetAutoSigmaCoefficient(float f32Coef=3)
virtual const CResult Execute()
bool m_bIncludeResultNormalVector
Definition Smoothing3D.h:389
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:203