ACF $AcfVersion:0$
IObject2d.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
6#include <iser/IObject.h>
9
10
11namespace i2d
12{
13
14
15class CVector2d;
16class CRectangle;
17class CPolygon;
18
19
24 virtual public iser::IObject,
25 virtual public ICalibrationProvider
26{
27public:
29 {
30 CF_OBJECT_POSITION = 0x6ba340
31 };
32
36 virtual CVector2d GetCenter() const = 0;
37
41 virtual void MoveCenterTo(const CVector2d& position) = 0;
42
47 virtual CRectangle GetBoundingBox() const = 0;
48
53 virtual void SetCalibration(const ICalibration2d* calibrationPtr, bool releaseFlag = false) = 0;
54
63 virtual bool Transform(
64 const ITransformation2d& transformation,
66 double* errorFactorPtr = NULL) = 0;
67
76 virtual bool InvTransform(
77 const ITransformation2d& transformation,
79 double* errorFactorPtr = NULL) = 0;
80
90 virtual bool GetTransformed(
91 const ITransformation2d& transformation,
92 IObject2d& result,
94 double* errorFactorPtr = NULL) const = 0;
95
105 virtual bool GetInvTransformed(
106 const ITransformation2d& transformation,
107 IObject2d& result,
109 double* errorFactorPtr = NULL) const = 0;
110};
111
112
113} // namespace i2d
114
115
116
Definition of rectangle area orthogonal to axis of coordination system.
Definition CRectangle.h:27
Definition of position or mathematical vector on 2D plane.
Definition CVector2d.h:29
Interface for 2D calibration and coordinate transformation with unit information.
Common interface for an object, which delivers a 2D-calibration.
Common interface for describing the 2D-objects.
Definition IObject2d.h:26
virtual void SetCalibration(const ICalibration2d *calibrationPtr, bool releaseFlag=false)=0
Set calibration of this object.
virtual void MoveCenterTo(const CVector2d &position)=0
Move object to position position.
virtual bool Transform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)=0
Transform this object using some transformation.
virtual CVector2d GetCenter() const =0
Returns center of this 2D-object.
virtual bool GetTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const =0
Calulate transformation of the object into second one.
virtual CRectangle GetBoundingBox() const =0
Get bounding box of this shape.
virtual bool GetInvTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const =0
Calulate inverse transformation of the object into second one.
virtual bool InvTransform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)=0
Do inverse transformation of this object.
Common interface for all calibration objects.
@ EM_NONE
There are no preferences, should be automatically selected.
Common interface for factorisable model objects.
Definition IObject.h:23
#define NULL
Definition istd.h:74
Contains the 2D objects.
Definition CAffine2d.h:11