ACF $AcfVersion:0$
CObject2dBase.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
7#include <i2d/IObject2d.h>
8
9
10namespace i2d
11{
12
13
18class CObject2dBase: virtual public IObject2d
19{
20public:
22 CObject2dBase(const CObject2dBase& object2d);
24
27
28 // reimplemented (i2d::ICalibrationProvider)
29 virtual const ICalibration2d* GetCalibration() const override;
30
31 // reimplemented (i2d::IObject2d)
32 virtual void SetCalibration(const ICalibration2d* calibrationPtr, bool releaseFlag = false) override;
33 virtual bool Transform(
34 const ITransformation2d& transformation,
36 double* errorFactorPtr = NULL) override;
37 virtual bool InvTransform(
38 const ITransformation2d& transformation,
40 double* errorFactorPtr = NULL) override;
41 virtual bool GetTransformed(
42 const ITransformation2d& transformation,
43 IObject2d& result,
45 double* errorFactorPtr = NULL) const override;
46 virtual bool GetInvTransformed(
47 const ITransformation2d& transformation,
48 IObject2d& result,
50 double* errorFactorPtr = NULL) const override;
51
52 // reimplemented (istd::IChangeable)
53 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
54 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
55
56protected:
59
60private:
62};
63
64
65} // namespace i2d
66
67
Base class for 2D-objects implementing interface i2d::IObject2d.
CObject2dBase(const CObject2dBase &object2d)
CObject2dBase(CObject2dBase &&object2d)
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS) override
Reset data to its default state.
virtual void SetCalibration(const ICalibration2d *calibrationPtr, bool releaseFlag=false) override
Set calibration of this object.
virtual bool InvTransform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override
Do inverse transformation of this object.
static const ChangeSet s_objectModifiedChange
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy this object from another one.
CObject2dBase & operator=(CObject2dBase &&object2d)
virtual bool GetInvTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override
Calulate inverse transformation of the object into second one.
CObject2dBase & operator=(const CObject2dBase &object2d)
static const ChangeSet s_objectMovedChange
virtual bool GetTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override
Calulate transformation of the object into second one.
virtual bool Transform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override
Transform this object using some transformation.
virtual const ICalibration2d * GetCalibration() const override
Get access to transformation object, which transforms a local logical coordinate system to global one...
Interface for 2D calibration and coordinate transformation with unit information.
Common interface for describing the 2D-objects.
Definition IObject2d.h:26
Common interface for all calibration objects.
@ EM_NONE
There are no preferences, should be automatically selected.
Set of change flags (its IDs).
Definition IChangeable.h:36
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
A wrapper for managed and unmanaged interface pointers.
#define NULL
Definition istd.h:74
Contains the 2D objects.
Definition CAffine2d.h:11