FLImaging 7.4.28.2
FLCircle3.h
1#pragma once
2
8
9#include "FLPoint3.h"
10
12namespace FLImaging
13{
15 namespace Foundation
16 {
23 template<typename T>
24 class FL_EXPORT CFLCircle3 : public CFLFigure
25 {
26 public:
32
38
47
53
58 virtual ~CFLCircle3();
59
73 CFLCircle3(int32_t radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
74
88 CFLCircle3(int64_t radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
89
103 CFLCircle3(float radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
104
118 CFLCircle3(double radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
119
130
141
152
163
176
188 CFLCircle3(const CFLFigure* pFlf);
189
202
215
227 const CFLCircle3<T>& operator+=(const double& value);
228
243
258
273
288
300 const CFLCircle3<T>& operator-=(const double& value);
301
316
331
346
361
373 const CFLCircle3<T>& operator*=(const double& value);
374
389
404
419
434
446 const CFLCircle3<T>& operator/=(const double& value);
447
462
477
492
507
519 CFLCircle3<T> operator+(const double& value) const;
520
535
550
565
580
592 CFLCircle3<T> operator-(const double& value) const;
593
608
623
638
653
665 CFLCircle3<T> operator*(const double& value) const;
666
681
696
711
726
738 CFLCircle3<T> operator/(const double& value) const;
739
754
769
784
799
810
811
812 //Friend operator
814 // Arithmetic operator
815
829 friend CFLCircle3<double> operator+(const int32_t& value, const CFLCircle3<T>& circle)
830 {
831 CFLCircle3<double> t(circle);
832 t += value;
833 return t;
834 }
835
849 friend CFLCircle3<double> operator+(const int64_t& value, const CFLCircle3<T>& circle)
850 {
851 CFLCircle3<double> t(circle);
852 t += value;
853 return t;
854 }
855
869 friend CFLCircle3<double> operator+(const float& value, const CFLCircle3<T>& circle)
870 {
871 CFLCircle3<double> t(circle);
872 t += value;
873 return t;
874 }
875
889 friend CFLCircle3<double> operator+(const double& value, const CFLCircle3<T>& circle)
890 {
891 CFLCircle3<double> t(circle);
892 t += value;
893 return t;
894 }
895
909 friend CFLCircle3<double> operator-(const int32_t& value, const CFLCircle3<T>& circle)
910 {
911 CFLCircle3<double> t(circle);
912 t *= -1.;
913 t += value;
914 return t;
915 }
916
930 friend CFLCircle3<double> operator-(const int64_t& value, const CFLCircle3<T>& circle)
931 {
932 CFLCircle3<double> t(circle);
933 t *= -1.;
934 t += value;
935 return t;
936 }
937
951 friend CFLCircle3<double> operator-(const float& value, const CFLCircle3<T>& circle)
952 {
953 CFLCircle3<double> t(circle);
954 t *= -1.;
955 t += value;
956 return t;
957 }
958
972 friend CFLCircle3<double> operator-(const double& value, const CFLCircle3<T>& circle)
973 {
974 CFLCircle3<double> t(circle);
975 t *= -1.;
976 t += value;
977 return t;
978 }
979
993 friend CFLCircle3<double> operator*(const int32_t& value, const CFLCircle3<T>& circle)
994 {
995 CFLCircle3<double> t(circle);
996 t *= value;
997 return t;
998 }
999
1013 friend CFLCircle3<double> operator*(const int64_t& value, const CFLCircle3<T>& circle)
1014 {
1015 CFLCircle3<double> t(circle);
1016 t *= value;
1017 return t;
1018 }
1019
1033 friend CFLCircle3<double> operator*(const float& value, const CFLCircle3<T>& circle)
1034 {
1035 CFLCircle3<double> t(circle);
1036 t *= value;
1037 return t;
1038 }
1039
1053 friend CFLCircle3<double> operator*(const double& value, const CFLCircle3<T>& circle)
1054 {
1055 CFLCircle3<double> t(circle);
1056 t *= value;
1057 return t;
1058 }
1059
1073 friend CFLCircle3<double> operator/(const int32_t& value, const CFLCircle3<T>& circle)
1074 {
1075 CFLCircle3<double> t(circle);
1076 CFLPoint3<T> flp3CenterRhs = t.GetCenterCoord();
1077 t.SetCenter((double)value, (double)value, (double)value);
1078 t.Multiply((double)flp3CenterRhs.x ? 1. / (double)flp3CenterRhs.x : 1.);
1079 return t;
1080 }
1081
1095 friend CFLCircle3<double> operator/(const int64_t& value, const CFLCircle3<T>& circle)
1096 {
1097 CFLCircle3<double> t(circle);
1098 CFLPoint3<T> flp3CenterRhs = t.GetCenterCoord();
1099 t.SetCenter((double)value, (double)value, (double)value);
1100 t.Multiply((double)flp3CenterRhs.x ? 1. / (double)flp3CenterRhs.x : 1.);
1101 return t;
1102 }
1103
1117 friend CFLCircle3<double> operator/(const float& value, const CFLCircle3<T>& circle)
1118 {
1119 CFLCircle3<double> t(circle);
1120 CFLPoint3<T> flp3CenterRhs = t.GetCenterCoord();
1121 t.SetCenter(value, value, value);
1122 t.Multiply((double)flp3CenterRhs.x ? 1. / (double)flp3CenterRhs.x : 1.);
1123 return t;
1124 }
1125
1139 friend CFLCircle3<double> operator/(const double& value, const CFLCircle3<T>& circle)
1140 {
1141 CFLCircle3<double> t(circle);
1142 CFLPoint3<T> flp3CenterRhs = t.GetCenterCoord();
1143 t.SetCenter(value, value, value);
1144 t.Multiply((double)flp3CenterRhs.x ? 1. / (double)flp3CenterRhs.x : 1.);
1145 return t;
1146 }
1147
1149
1166 virtual const CResult Set(int32_t radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
1167
1185 virtual const CResult Set(int64_t radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
1186
1204 virtual const CResult Set(float radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
1205
1223 virtual const CResult Set(double radius, const CFLPoint3<T>& flp3Center, const CFLPoint3<T>& flp3Normal);
1224
1240 virtual const CResult Set(const CFLCircle3<float>& flc3);
1241
1257 virtual const CResult Set(const CFLCircle3<double>& flc3);
1258
1274 virtual const CResult Set(const CFLCircle3<float>* pFlc3);
1275
1291 virtual const CResult Set(const CFLCircle3<double>* pFlc3);
1292
1308 virtual const CResult Set(const CFLFigure& flf) override;
1309
1325 virtual const CResult Set(const CFLFigure* pFlf) override;
1326
1334 virtual void Clear() override;
1335
1345 virtual EFigureDeclType GetDeclType() const override;
1346
1356 virtual EFigureTemplateType GetTemplateType() const override;
1357
1374 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
1375
1376 using CFLFigure::Swap;
1392 virtual const CResult Swap(CFLFigure* pFlfRight) override;
1393
1394 using CFLFigure::Offset;
1410 virtual const CResult Offset(double x, double y) override;
1411
1425 virtual const CResult Offset(int32_t val) override;
1426
1440 virtual const CResult Offset(int64_t val) override;
1441
1455 virtual const CResult Offset(float val) override;
1456
1470 virtual const CResult Offset(double val) override;
1471
1485 virtual const CResult Offset(const CFLPoint3<float>& flpPoint);
1486
1500 virtual const CResult Offset(const CFLPoint3<double>& flpPoint);
1501
1515 virtual const CResult Offset(const CFLPoint3<float>* pFlpPoint);
1516
1530 virtual const CResult Offset(const CFLPoint3<double>* pFlpPoint);
1531
1545 virtual const CResult Offset(const Base::TPoint3<float>& tpPoint);
1546
1560 virtual const CResult Offset(const Base::TPoint3<double>& tpPoint);
1561
1575 virtual const CResult Offset(const Base::TPoint3<float>* pTpPoint);
1576
1590 virtual const CResult Offset(const Base::TPoint3<double>* pTpPoint);
1591
1607 virtual const CResult Offset(float x, float y, float z);
1608
1624 virtual const CResult Offset(double x, double y, double z);
1625
1626 using CFLFigure::Multiply;
1627
1643 virtual const CResult Multiply(double x, double y) override;
1644
1658 virtual const CResult Multiply(int32_t val) override;
1659
1673 virtual const CResult Multiply(int64_t val) override;
1674
1688 virtual const CResult Multiply(float val) override;
1689
1703 virtual const CResult Multiply(double val) override;
1704
1718 virtual const CResult Multiply(const CFLPoint3<float>& flpPoint);
1719
1733 virtual const CResult Multiply(const CFLPoint3<double>& flpPoint);
1734
1748 virtual const CResult Multiply(const CFLPoint3<float>* pFlpPoint);
1749
1763 virtual const CResult Multiply(const CFLPoint3<double>* pFlpPoint);
1764
1778 virtual const CResult Multiply(const Base::TPoint3<float>& tpPoint);
1779
1793 virtual const CResult Multiply(const Base::TPoint3<double>& tpPoint);
1794
1808 virtual const CResult Multiply(const Base::TPoint3<float>* pTpPoint);
1809
1823 virtual const CResult Multiply(const Base::TPoint3<double>* pTpPoint);
1824
1840 virtual const CResult Multiply(double x, double y, double z);
1841
1859 virtual const CResult GetCenter(double& x, double& y, double& z) const;
1860
1878 virtual const CResult SetCenter(double x, double y, double z);
1879
1897 virtual const CResult GetCenter(float& x, float& y, float& z) const;
1898
1916 virtual const CResult SetCenter(float x, float y, float z);
1917
1934
1951
1967 virtual const CResult GetCenter(CFLPoint3<double>* pFlpCenter) const;
1968
1984 virtual const CResult GetCenter(CFLPoint3<float>* pFlpCenter) const;
1985
2001 virtual const CResult GetCenter(Base::TPoint3<double>& tpCenter) const;
2002
2018 virtual const CResult GetCenter(Base::TPoint3<float>& tpCenter) const;
2019
2035 virtual const CResult GetCenter(Base::TPoint3<double>* pTpCenter) const;
2036
2052 virtual const CResult GetCenter(Base::TPoint3<float>* pTpCenter) const;
2053
2066
2067 private:
2069
2070 SupportToDuplicateObject(CFLCircle3<T>, *this);
2071 DeclareGetClassType();
2072 };
2073
2074 typedef CFLCircle3<float> CFLCircle3F;
2075 typedef CFLCircle3<double> CFLCircle3D;
2076 }
2077}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1676
3차원 공간상의 원을 나타내는 클래스입니다.
Definition FLCircle3.h:25
virtual const CResult Multiply(int64_t val) override
지정한 값으로 도형을 곱합니다.
const CFLCircle3< T > & operator*=(const Base::TPoint3< float > &tpPoint)
원의 중심점의 x,y,z 값에 매개변수를 곱하는 연산자
const CFLCircle3< T > & operator-=(const Base::TPoint3< float > &tpPoint)
이동 연산자[offset]
friend CFLCircle3< double > operator+(const double &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:889
CFLCircle3(const CFLFigure &flf)
초기화 생성자로, Figure 의 DeclType 에 맞는 Set() 함수를 호출합니다.
virtual const CResult Set(const CFLFigure *pFlf) override
도형의 선언 타입에 따라 현재 원을 설정합니다.
virtual const CResult Multiply(double val) override
지정한 값으로 도형을 곱합니다.
virtual void Clear() override
원 데이터를 기본 상태로 초기화합니다.
virtual const CResult SetCenter(double x, double y, double z)
원의 중심 좌표를 설정합니다.
virtual const CResult Offset(const Base::TPoint3< float > &tpPoint)
const CFLCircle3< T > & operator-=(const Base::TPoint3< double > &tpPoint)
이동 연산자[offset]
virtual const CResult Offset(int32_t val) override
지정한 값만큼 도형을 평행이동합니다.
friend CFLCircle3< double > operator-(const float &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:951
virtual const CResult GetCenter(CFLPoint3< double > &flpCenter) const
원의 중심 좌표를 반환합니다.
const CFLCircle3< T > & operator-=(const CFLPoint3< float > &flpPoint)
이동 연산자[offset]
virtual const CResult Set(int32_t radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
원의 반지름, 중심점, 법선 벡터를 설정합니다.
virtual const CResult Offset(const Base::TPoint3< float > *pTpPoint)
friend CFLCircle3< double > operator/(const float &value, const CFLCircle3< T > &circle)
나누기 연산
Definition FLCircle3.h:1117
virtual const CResult Multiply(const CFLPoint3< float > *pFlpPoint)
CFLCircle3< T > operator-(const double &value) const
이동 연산자[offset]
virtual const CResult GetCenter(CFLPoint3< double > *pFlpCenter) const
원의 중심 좌표를 반환합니다.
CFLCircle3< T > operator-(const CFLPoint3< double > &flpPoint) const
이동 연산자[offset]
const CFLCircle3< T > & operator-=(const double &value)
이동 연산자[offset]
virtual const CResult Multiply(const CFLPoint3< float > &flpPoint)
CFLPoint3< float > flpNormal
Definition FLCircle3.h:37
virtual const CResult Offset(const CFLPoint3< float > &flpPoint)
CFLCircle3< T > operator+(const Base::TPoint3< float > &tpPoint) const
이동 연산자[offset]
const CFLCircle3< T > & operator=(const CFLCircle3< double > &flc3)
대입 연산자입니다.
const CFLCircle3< T > & operator+=(const double &value)
이동 연산자[offset]
virtual const CResult GetCenter(Base::TPoint3< float > &tpCenter) const
원의 중심 좌표를 반환합니다.
CFLCircle3< T > operator*(const CFLPoint3< double > &flpPoint) const
원의 중심점의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult SetCenter(float x, float y, float z)
원의 중심 좌표를 설정합니다.
CFLCircle3< T > operator+(const Base::TPoint3< double > &tpPoint) const
이동 연산자[offset]
CFLCircle3< T > operator/(const CFLPoint3< double > &flpPoint) const
원의 중심점의 x, y, z 값을 매개변수로 나누는 연산자
friend CFLCircle3< double > operator/(const int32_t &value, const CFLCircle3< T > &circle)
나누기 연산
Definition FLCircle3.h:1073
virtual const CResult Multiply(double x, double y, double z)
CFLCircle3(int32_t radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
반지름, 중심점, 법선 벡터를 사용하여 원을 생성합니다.
CFLCircle3(const CFLCircle3< double > &flc3)
복사 생성자
CFLCircle3< T > operator*(const CFLPoint3< float > &flpPoint) const
원의 중심점의 x, y, z 값에 매개변수를 곱하는 연산자
friend CFLCircle3< double > operator+(const int32_t &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:829
virtual const CResult Offset(double x, double y, double z)
const CFLCircle3< T > & operator+=(const CFLPoint3< float > &flpPoint)
이동 연산자[offset]
float radius
Definition FLCircle3.h:46
virtual const CResult Offset(const Base::TPoint3< double > &tpPoint)
const CFLCircle3< T > & operator/=(const double &value)
원의 중심점의 x,y,z 값에 매개변수를 나누는 연산자
virtual const CResult Multiply(double x, double y) override
지정한 x, y축 배율로 도형을 곱합니다.
friend CFLCircle3< double > operator+(const float &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:869
friend CFLCircle3< double > operator*(const float &value, const CFLCircle3< T > &circle)
곱 연산
Definition FLCircle3.h:1033
virtual const CResult Multiply(const Base::TPoint3< float > *pTpPoint)
virtual const CResult Multiply(const Base::TPoint3< double > &tpPoint)
CFLCircle3(const CFLCircle3< float > *pFlc3)
복사 생성자
CFLCircle3< T > operator-(const Base::TPoint3< float > &tpPoint) const
이동 연산자[offset]
friend CFLCircle3< double > operator/(const int64_t &value, const CFLCircle3< T > &circle)
나누기 연산
Definition FLCircle3.h:1095
CFLCircle3(const CFLCircle3< float > &flc3)
복사 생성자
const CFLCircle3< T > & operator/=(const Base::TPoint3< float > &tpPoint)
원의 중심점의 x,y,z 값에 매개변수를 나누는 연산자
virtual const CResult Offset(const CFLPoint3< double > &flpPoint)
const CFLCircle3< T > & operator=(const CFLCircle3< float > &flc3)
대입 연산자입니다.
friend CFLCircle3< double > operator-(const int64_t &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:930
const CFLCircle3< T > & operator/=(const CFLPoint3< float > &flpPoint)
원의 중심점의 x,y,z 값에 매개변수를 나누는 연산자
virtual const CResult GetCenter(Base::TPoint3< double > *pTpCenter) const
원의 중심 좌표를 반환합니다.
virtual const CResult Offset(int64_t val) override
지정한 값만큼 도형을 평행이동합니다.
CFLCircle3< T > operator/(const double &value) const
원의 중심점의 x, y, z 값을 매개변수로 나누는 연산자
friend CFLCircle3< double > operator/(const double &value, const CFLCircle3< T > &circle)
나누기 연산
Definition FLCircle3.h:1139
CFLCircle3< T > operator*(const double &value) const
원의 중심점의 x, y, z 값에 매개변수를 곱하는 연산자
friend CFLCircle3< double > operator+(const int64_t &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:849
friend CFLCircle3< double > operator*(const int32_t &value, const CFLCircle3< T > &circle)
곱 연산
Definition FLCircle3.h:993
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
현재 원과 다른 도형의 사양을 비교합니다.
friend CFLCircle3< double > operator*(const double &value, const CFLCircle3< T > &circle)
곱 연산
Definition FLCircle3.h:1053
CFLPoint3< float > flpCenter
Definition FLCircle3.h:31
const CFLCircle3< T > & operator*=(const double &value)
원의 중심점의 x,y,z 값에 매개변수를 곱하는 연산자
virtual Foundation::CFLPoint3< T > GetCenterCoord() const
원의 중심 좌표를 반환합니다.
virtual const CResult GetCenter(CFLPoint3< float > &flpCenter) const
원의 중심 좌표를 반환합니다.
virtual const CResult Multiply(int32_t val) override
지정한 값으로 도형을 곱합니다.
const CFLCircle3< T > & operator*=(const Base::TPoint3< double > &tpPoint)
원의 중심점의 x,y,z 값에 매개변수를 곱하는 연산자
friend CFLCircle3< double > operator-(const int32_t &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:909
virtual const CResult Multiply(const CFLPoint3< double > &flpPoint)
virtual const CResult GetCenter(double &x, double &y, double &z) const
원의 중심 좌표를 반환합니다.
CFLCircle3< T > operator/(const CFLPoint3< float > &flpPoint) const
원의 중심점의 x, y, z 값을 매개변수로 나누는 연산자
friend CFLCircle3< double > operator-(const double &value, const CFLCircle3< T > &circle)
중심 이동 연산자
Definition FLCircle3.h:972
CFLCircle3< T > operator*(const Base::TPoint3< double > &tpPoint) const
원의 중심점의 x, y, z 값에 매개변수를 곱하는 연산자
friend CFLCircle3< double > operator*(const int64_t &value, const CFLCircle3< T > &circle)
곱 연산
Definition FLCircle3.h:1013
virtual const CResult Set(const CFLCircle3< float > &flc3)
다른 원과 동일한 반지름 및 로컬 좌표계를 갖도록 설정합니다.
virtual const CResult Set(float radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
원의 반지름, 중심점, 법선 벡터를 설정합니다.
virtual const CResult Offset(double x, double y) override
도형을 x, y축 방향으로 평행이동합니다.
virtual const CResult Swap(CFLFigure *pFlfRight) override
현재 원과 다른 도형의 데이터를 교환합니다.
const CFLCircle3< T > & operator*=(const CFLPoint3< float > &flpPoint)
원의 중심점의 x,y,z 값에 매개변수를 곱하는 연산자
CFLCircle3(double radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
반지름, 중심점, 법선 벡터를 사용하여 원을 생성합니다.
virtual const CResult Set(const CFLCircle3< double > *pFlc3)
다른 원과 동일한 반지름 및 로컬 좌표계를 갖도록 설정합니다.
const CFLCircle3< T > & operator*=(const CFLPoint3< double > &flpPoint)
원의 중심점의 x,y,z 값에 매개변수를 곱하는 연산자
const CFLCircle3< T > & operator/=(const CFLPoint3< double > &flpPoint)
원의 중심점의 x,y,z 값에 매개변수를 나누는 연산자
CFLCircle3< T > operator+(const CFLPoint3< double > &flpPoint) const
이동 연산자[offset]
virtual const CResult Offset(float x, float y, float z)
CFLCircle3< T > operator+(const CFLPoint3< float > &flpPoint) const
이동 연산자[offset]
const CFLCircle3< T > & operator-=(const CFLPoint3< double > &flpPoint)
이동 연산자[offset]
const CFLCircle3< T > & operator+=(const Base::TPoint3< float > &tpPoint)
이동 연산자[offset]
CFLCircle3< T > operator*(const Base::TPoint3< float > &tpPoint) const
원의 중심점의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Offset(float val) override
지정한 값만큼 도형을 평행이동합니다.
virtual const CResult Offset(const CFLPoint3< double > *pFlpPoint)
CFLCircle3< T > operator+(const double &value) const
이동 연산자[offset]
CFLCircle3(float radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
반지름, 중심점, 법선 벡터를 사용하여 원을 생성합니다.
virtual const CResult Set(const CFLCircle3< double > &flc3)
다른 원과 동일한 반지름 및 로컬 좌표계를 갖도록 설정합니다.
virtual const CResult Set(double radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
원의 반지름, 중심점, 법선 벡터를 설정합니다.
virtual const CResult Multiply(const Base::TPoint3< double > *pTpPoint)
virtual const CResult GetCenter(Base::TPoint3< float > *pTpCenter) const
원의 중심 좌표를 반환합니다.
virtual const CResult Set(int64_t radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
원의 반지름, 중심점, 법선 벡터를 설정합니다.
virtual const CResult Multiply(const Base::TPoint3< float > &tpPoint)
virtual const CResult GetCenter(Base::TPoint3< double > &tpCenter) const
원의 중심 좌표를 반환합니다.
const CFLCircle3< T > & operator+=(const Base::TPoint3< double > &tpPoint)
이동 연산자[offset]
virtual const CResult Multiply(float val) override
지정한 값으로 도형을 곱합니다.
virtual const CResult Multiply(const CFLPoint3< double > *pFlpPoint)
CFLCircle3(int64_t radius, const CFLPoint3< T > &flp3Center, const CFLPoint3< T > &flp3Normal)
반지름, 중심점, 법선 벡터를 사용하여 원을 생성합니다.
const CFLCircle3< T > & operator+=(const CFLPoint3< double > &flpPoint)
이동 연산자[offset]
CFLCircle3(const CFLFigure *pFlf)
초기화 생성자로, Figure 의 DeclType 에 맞는 Set() 함수를 호출합니다.
const CFLCircle3< T > & operator/=(const Base::TPoint3< double > &tpPoint)
원의 중심점의 x,y,z 값에 매개변수를 나누는 연산자
virtual EFigureDeclType GetDeclType() const override
도형 선언 타입을 얻어옵니다.
virtual const CResult GetCenter(CFLPoint3< float > *pFlpCenter) const
원의 중심 좌표를 반환합니다.
CFLCircle3< T > operator/(const Base::TPoint3< double > &tpPoint) const
원의 중심점의 x, y, z 값을 매개변수로 나누는 연산자
CFLCircle3(const CFLCircle3< double > *pFlc3)
복사 생성자
virtual const CResult Set(const CFLFigure &flf) override
도형의 선언 타입에 따라 현재 원을 설정합니다.
virtual const CResult Offset(const CFLPoint3< float > *pFlpPoint)
CFLCircle3< T > operator/(const Base::TPoint3< float > &tpPoint) const
원의 중심점의 x, y, z 값을 매개변수로 나누는 연산자
virtual const CResult GetCenter(float &x, float &y, float &z) const
원의 중심 좌표를 반환합니다.
CFLCircle3< T > operator-(const Base::TPoint3< double > &tpPoint) const
이동 연산자[offset]
CFLCircle3< T > operator-() const
해당 객체의 x, y, z 값의 부호를 반전시킨 객체를 반환하는 연산자
CFLCircle3< T > operator-(const CFLPoint3< float > &flpPoint) const
이동 연산자[offset]
virtual const CResult Offset(const Base::TPoint3< double > *pTpPoint)
virtual const CResult Set(const CFLCircle3< float > *pFlc3)
다른 원과 동일한 반지름 및 로컬 좌표계를 갖도록 설정합니다.
virtual const CResult Offset(double val) override
지정한 값만큼 도형을 평행이동합니다.
virtual EFigureTemplateType GetTemplateType() const override
도형 템플릿 타입을 얻어옵니다.
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
virtual const CResult Multiply(int32_t i32Mul)
virtual CFLPoint< double > GetCenter() const
virtual const CResult Offset(int32_t val)
virtual const CResult Swap(CFLFigure &flfRight)
3차원 점을 표현하는 클래스
Definition FLPoint3.h:39
T x
Definition FLPoint.h:30
Definition AlgorithmBase.h:16
EFigureDeclType
도형의 타입
Definition DefinitionsFigure.h:33
EFigureTemplateType
도형의 변수 자료형
Definition DefinitionsFigure.h:390
EFigureSpecCompareType
Definition DefinitionsFigure.h:3546
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3551