FLImaging 7.10.29.2
FLImaging::Foundation::CExpression 클래스 참조

수식을 표현하는 클래스 더 자세히 ...

#include <FLImagingFoundation/FLImagingFoundation/Expression.h>

FLImaging::Foundation::CExpression에 대한 상속 다이어그램 :
FLImaging::Base::CFLBase

Public 타입

enum  EExpressionValid { EExpressionValid_Initialized = 0 , EExpressionValid_Valid , EExpressionValid_Invalid }
 수식이 유효한지 표현하기 위한 열거형 더 자세히 ...

Public 멤버 함수

 CExpression ()
 CExpression (const CExpression &rhs)
 CExpression (const CExpression *pRhs)
 CExpression (const wchar_t *pWcsExpression)
virtual ~CExpression ()
const CResult Clear ()
const CResult Assign (const CExpression &rhs)
const CResult Assign (const CExpression *pRhs)
const CResult SetExpression (const wchar_t *pWcsExpression)
const wchar_t * GetExpression ()
Base::CFLString< wchar_t > GetExpression (bool bExponentialNotation, int32_t i32CoeffPrecision)
const CResult Evaluate (wchar_t **ppWcsEvaluatorExpression=nullptr)
const CResult Solve (const wchar_t *pWcsVariable, Base::CFLArray< std::complex< double > > *pFlaResult, ECoefficientOrder eCoeffOrder=ECoefficientOrder_Ascending, EAccuracy eAccuracy=EAccuracy_Bits64)
const CResult Solve (const wchar_t *pWcsVariable, Base::CFLArray< std::complex< double > > *pFlaResult, Base::CFLArray< std::complex< double > > *pFlaDiscontinuous, ECoefficientOrder eCoeffOrder=ECoefficientOrder_Ascending, EAccuracy eAccuracy=EAccuracy_Bits64)
const CResult ExpandExpression (wchar_t **ppWcsEvaluatorExpression=nullptr)
const CResult UnrollPower (wchar_t **ppWcsEvaluatorExpression=nullptr)
const CResult CollectExpression (wchar_t **ppWcsEvaluatorExpression=nullptr)
int32_t GetVariableCount ()
int32_t GetIndexOfVariable (const wchar_t *pWcsVariableName)
int32_t GetIndexOfEvaluatedVariable (const wchar_t *pWcsVariableName)
const CResult AssignVariable (int32_t i32Index, double f64Value)
const CResult AssignVariable (const wchar_t *pWcsVariableName, double f64Value)
const CResult ResetVariable (int32_t i32Index)
const CResult ResetVariable (const wchar_t *pWcsVariableName)
double * GetVariable (int32_t i32Index)
double * GetVariable (const wchar_t *pWcsVariableName)
const double GetEvaluatedVariable (int32_t i32Index)
const double GetEvaluatedVariable (const wchar_t *pWcsVariableName)
EExpressionValid IsExprssionValid ()
FLImaging::Base::CFLBase(으)로부터 상속된 Public 멤버 함수
 CFLBase ()
 기본 생성자
virtual ~CFLBase ()
 소멸자
void Lock () const
 객체에 Lock을 설정
bool TryLock () const
 객체에 Lock을 시도 합니다.
void Unlock () const
 객체를 Unlock
virtual const CProcessingUnitBase * GetProcessingUnit () const
 설정된 ProcessingUnit을 반환
virtual const CResult SetProcessingUnit (const CProcessingUnitBase &pub)
 ProcessingUnit을 설정
virtual const CResult SetProcessingUnit (const CProcessingUnitBase *pPub)
 ProcessingUnit을 설정
virtual void ResetProcessingUnit ()
 설정된 ProcessingUnit을 해제
virtual bool IsValid () const
 객체 유효성 확인
template<class T>
bool IsValid (T &tValue) const
 입력 값 유효성 확인
template<class T>
bool IsValid (T *pTValue) const
 입력 값 유효성 확인
template<class T>
void GenerateMin (T &tValue) const
 해당 타입의 최소값 생성
template<class T>
void GenerateMin (T *pTValue) const
 해당 타입의 최소값 생성
template<class T>
void GenerateMinInt32 (T &tValue) const
 부호있는 32비트 정수 최소값 생성
template<class T>
void GenerateMinInt32 (T *pTValue) const
 부호있는 32비트 정수 최소값 생성
template<class T>
void GenerateMinInt31 (T &tValue) const
 부호있는 31비트 정수 최소값 생성
template<class T>
void GenerateMinInt31 (T *pTValue) const
 부호있는 31비트 정수 최소값 생성
template<class T>
void GenerateMax (T &tValue) const
 해당 타입의 최댓값 생성
template<class T>
void GenerateMax (T *pTValue) const
 해당 타입의 최댓값 생성
template<class T>
void GenerateMaxInt32 (T &tValue) const
 부호있는 32비트 정수 최댓값 생성
template<class T>
void GenerateMaxInt32 (T *pTValue) const
 부호있는 32비트 정수 최댓값 생성
template<class T>
void GenerateMaxInt31 (T &tValue) const
 부호있는 31비트 정수 최댓값 생성
template<class T>
void GenerateMaxInt31 (T *pTValue) const
 부호있는 31비트 정수 최댓값 생성
template<class T>
void GenerateInvalid (T &tValue) const
 Invalid값 생성
template<class T>
void GenerateInvalid (T *pTValue) const
 Invalid값 생성
virtual void OnReceiveBroadcast (const CBroadcastMessage *pMessage)
 Callback 함수. BroadcastMessage를 수신받는 함수
virtual int64_t GetClassType () const =0
 Class의 Type 값을 반환한다. 반환되는 값 자체는 의미가 없으나 같은 종류의 클래스인 경우 같은 값이 나오게 되어 비교가 가능하다.
const char * GetClassNameWithNamespace () const
 실제 인스턴스의 namespace를 포함한 클래스 명을 반환한다.
const char * GetClassNameWithoutNamespace () const
 실제 인스턴스의 namespace를 포함하지 않은 클래스 명을 반환한다.
virtual uint32_t GetClassHash () const
 실제 인스턴스의 클래스 해쉬 값을 반환합니다. 같은 클래스에 대해서는 인스턴스가 달라도 동일한 값을 가지게 됩니다.
virtual bool IsLicenseAvailable () const
 현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
const CResult ShareSynchronizationObject (const CFLBase *pSrcObject) const
 원본 객체의 동기화 객체를 공유
bool IsSharedSynchronizationObject () const
 공유 동기화 객체를 사용 중인지 여부
virtual void Throw (const CResult &res, const wchar_t *pWcsExtraMessage=nullptr) const
 예외를 발생 시킵니다. 발생 시킨 객체의 정보와 오류 코드가 로그에 기록 됩니다.
virtual void Throw (const std::exception &res, const wchar_t *pWcsExtraMessage) const
 예외를 발생 시킵니다. 발생 시킨 객체의 정보와 오류 코드가 로그에 기록 됩니다.

상세한 설명

수식을 표현하는 클래스

멤버 열거형 문서화

◆ EExpressionValid

수식이 유효한지 표현하기 위한 열거형

열거형 멤버
EExpressionValid_Initialized 

해당 수식은 초기화 된 뒤 유효성 판별을 수행하지 않았습니다.

EExpressionValid_Valid 

유효한 수식

EExpressionValid_Invalid 

유효하지 않은 수식

생성자 & 소멸자 문서화

◆ CExpression() [1/4]

FLImaging::Foundation::CExpression::CExpression ( )

기본 생성자

◆ CExpression() [2/4]

FLImaging::Foundation::CExpression::CExpression ( const CExpression & rhs)

복사 생성자

매개변수
[in]rhs복사할 객체

◆ CExpression() [3/4]

FLImaging::Foundation::CExpression::CExpression ( const CExpression * pRhs)

복사 생성자

매개변수
[in]pRhs복사할 객체

◆ CExpression() [4/4]

FLImaging::Foundation::CExpression::CExpression ( const wchar_t * pWcsExpression)

초기화 생성자

매개변수
[in]pWcsExpression객체의 수식을 해당 문자열로 설정

◆ ~CExpression()

virtual FLImaging::Foundation::CExpression::~CExpression ( )
virtual

기본 소멸자

멤버 함수 문서화

◆ Assign() [1/2]

const CResult FLImaging::Foundation::CExpression::Assign ( const CExpression & rhs)

객체를 복사합니다.

매개변수
[in]rhs복사할 객체
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ Assign() [2/2]

const CResult FLImaging::Foundation::CExpression::Assign ( const CExpression * pRhs)

객체를 복사합니다.

매개변수
[in]pRhs복사할 객체
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ AssignVariable() [1/2]

const CResult FLImaging::Foundation::CExpression::AssignVariable ( const wchar_t * pWcsVariableName,
double f64Value )

변수의 값을 설정합니다.

매개변수
[in]pWcsVariableName변수 이름
[in]f64Value변수 값
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ AssignVariable() [2/2]

const CResult FLImaging::Foundation::CExpression::AssignVariable ( int32_t i32Index,
double f64Value )

변수의 값을 설정합니다.

매개변수
[in]i32Index변수 인덱스 번호
[in]f64Value변수 값
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ Clear()

const CResult FLImaging::Foundation::CExpression::Clear ( )

객체의 변수를 초기화합니다.

반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ CollectExpression()

const CResult FLImaging::Foundation::CExpression::CollectExpression ( wchar_t ** ppWcsEvaluatorExpression = nullptr)

같은 항끼리 연산하여 전개된 수식을 정리합니다.

매개변수
[in]ppWcsEvaluatorExpression정리한 수식 문자열
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ Evaluate()

const CResult FLImaging::Foundation::CExpression::Evaluate ( wchar_t ** ppWcsEvaluatorExpression = nullptr)

수식의 변수에 설정된 값을 넣고 계산합니다.

매개변수
[out]ppWcsEvaluatorExpression변수에 값이 들어간 수식 문자열
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ ExpandExpression()

const CResult FLImaging::Foundation::CExpression::ExpandExpression ( wchar_t ** ppWcsEvaluatorExpression = nullptr)

수식을 전개합니다.

매개변수
[in]ppWcsEvaluatorExpression전개한 수식 문자열
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ GetEvaluatedVariable() [1/2]

const double FLImaging::Foundation::CExpression::GetEvaluatedVariable ( const wchar_t * pWcsVariableName)

계산된 변수의 값을 가져옵니다.

매개변수
[in]pWcsVariableName변수 이름
반환값
constdouble 변수 값

◆ GetEvaluatedVariable() [2/2]

const double FLImaging::Foundation::CExpression::GetEvaluatedVariable ( int32_t i32Index)

계산된 변수의 값을 가져옵니다.

매개변수
[in]i32Index변수 인덱스 번호
반환값
constdouble 변수 값

◆ GetExpression() [1/2]

const wchar_t * FLImaging::Foundation::CExpression::GetExpression ( )

설정된 수식 문자열을 가져옵니다.

반환값
constwchar_t* 설정된 수식 문자열

◆ GetExpression() [2/2]

Base::CFLString< wchar_t > FLImaging::Foundation::CExpression::GetExpression ( bool bExponentialNotation,
int32_t i32CoeffPrecision )

설정된 수식 문자열을 지정한 포맷으로 가져옵니다.

매개변수
[in]bExponentialNotation지수 표기법으로 표시 여부, true 일 경우 계수를 4.4e-4 와 같이 표기하며 false 일 경우 계수를 0.00044 와 같이 표기
[in]i32CoeffPrecision표현할 계수의 소수점 자릿수
반환값
FLImaging::Base::CFLString<wchar_t>설정된 수식 문자열
참고
FLImaging::Base::CFLString

◆ GetIndexOfEvaluatedVariable()

int32_t FLImaging::Foundation::CExpression::GetIndexOfEvaluatedVariable ( const wchar_t * pWcsVariableName)

값이 설정되지 않은 변수의 인덱스 번호를 가져옵니다.

매개변수
[in]pWcsVariableName변수 이름
반환값
int32_t변수의 인덱스 번호

◆ GetIndexOfVariable()

int32_t FLImaging::Foundation::CExpression::GetIndexOfVariable ( const wchar_t * pWcsVariableName)

값이 설정된 변수의 인덱스 번호를 가져옵니다.

매개변수
[in]pWcsVariableName변수 이름
반환값
int32_t변수의 인덱스 번호

◆ GetVariable() [1/2]

double * FLImaging::Foundation::CExpression::GetVariable ( const wchar_t * pWcsVariableName)

설정된 변수를 가져옵니다.

매개변수
[in]pWcsVariableName변수 이름
반환값
double*변수 주소

◆ GetVariable() [2/2]

double * FLImaging::Foundation::CExpression::GetVariable ( int32_t i32Index)

설정된 변수를 가져옵니다.

매개변수
[in]i32Index변수 인덱스 번호
반환값
double*변수 주소

◆ GetVariableCount()

int32_t FLImaging::Foundation::CExpression::GetVariableCount ( )

설정된 변수 개수를 가져옵니다.

반환값
int32_t변수 개수

◆ IsExprssionValid()

EExpressionValid FLImaging::Foundation::CExpression::IsExprssionValid ( )

계산된 수식이 유효한지 판별

반환값
FLImaging::Foundation::CExpression::EExpressionValid수식이 유효한지 반환
참고
FLImaging::Foundation::CExpression::EExpressionValid

◆ ResetVariable() [1/2]

const CResult FLImaging::Foundation::CExpression::ResetVariable ( const wchar_t * pWcsVariableName)

변수를 리셋합니다.

매개변수
[in]pWcsVariableName변수 이름
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ ResetVariable() [2/2]

const CResult FLImaging::Foundation::CExpression::ResetVariable ( int32_t i32Index)

변수를 리셋합니다.

매개변수
[in]i32Index변수 인덱스 번호
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ SetExpression()

const CResult FLImaging::Foundation::CExpression::SetExpression ( const wchar_t * pWcsExpression)

수식 문자열을 설정합니다.

매개변수
[in]pWcsExpression설정할 수식 문자열
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult

◆ Solve() [1/2]

const CResult FLImaging::Foundation::CExpression::Solve ( const wchar_t * pWcsVariable,
Base::CFLArray< std::complex< double > > * pFlaResult,
Base::CFLArray< std::complex< double > > * pFlaDiscontinuous,
ECoefficientOrder eCoeffOrder = ECoefficientOrder_Ascending,
EAccuracy eAccuracy = EAccuracy_Bits64 )

수식의 1변수 방정식의 해를 계산합니다. 만약 분모에 변수가 존재한다면 분모를 0으로 하는 변수의 값 또한 반환합니다.

매개변수
[in]pWcsVariable미지수 기호
[out]pFlaResult방정식의 해
[out]pFlaDiscontinuous분모를 0으로 하는 변수의 값
[in]eCoeffOrder배열에서 계수를 늘어놓은 방식 지정
[in]eAccuracy계산 정도
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::ECoefficientOrder
FLImaging::Foundation::EAccuracy

◆ Solve() [2/2]

const CResult FLImaging::Foundation::CExpression::Solve ( const wchar_t * pWcsVariable,
Base::CFLArray< std::complex< double > > * pFlaResult,
ECoefficientOrder eCoeffOrder = ECoefficientOrder_Ascending,
EAccuracy eAccuracy = EAccuracy_Bits64 )

수식의 1변수 방정식의 해를 계산합니다.

매개변수
[in]pWcsVariable미지수 기호
[out]pFlaResult방정식의 해
[in]eCoeffOrder배열에서 계수를 늘어놓은 방식 지정
[in]eAccuracy계산 정도
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::ECoefficientOrder
FLImaging::Foundation::EAccuracy

◆ UnrollPower()

const CResult FLImaging::Foundation::CExpression::UnrollPower ( wchar_t ** ppWcsEvaluatorExpression = nullptr)

수식에 있는 제곱식을 곱셈 표현으로 전개합니다.

매개변수
[in]ppWcsEvaluatorExpression전개한 수식 문자열
반환값
constFLImaging::CResult 함수 실행 결과 (성공 시 EResult_OK 반환)
참고
FLImaging::CResult