46 ,
const OUString& rObjectCID
51 , m_aReferenceRect(100,100,100,100)
53 , m_fInitialXAngleRad(0.0)
54 , m_fInitialYAngleRad(0.0)
55 , m_fInitialZAngleRad(0.0)
56 , m_fAdditionalXAngleRad(0.0)
57 , m_fAdditionalYAngleRad(0.0)
58 , m_fAdditionalZAngleRad(0.0)
59 , m_nInitialHorizontalAngleDegree(0)
60 , m_nInitialVerticalAngleDegree(0)
61 , m_nAdditionalHorizontalAngleDegree(0)
62 , m_nAdditionalVerticalAngleDegree(0)
63 , m_eRotationDirection(eRotationDirection)
64 , m_bRightAngledAxes(false)
79 xDiagram->getRotation(
82 xDiagram->getRotationAngle(
86 xDiagram->getChartTypeByIndex( 0 ) ) )
110 if( !
DragStat().CheckMinMoved(rPnt) )
116 double fX = M_PI_2 *
static_cast<double>(rPnt.
Y() -
m_aStartPos.
Y())
118 double fY = M_PI *
static_cast<double>(rPnt.
X() -
m_aStartPos.
X())
140 + atan((fCx - rPnt.
X())/(fCy-rPnt.
Y()));
164 xDiagram->setRotationAngle( fResultX, fResultY, fResultZ );
170 xDiagram->setRotation(
195 , fResultX, fResultY, fResultZ );
197 aCurrentTransform.
rotate( fResultX, fResultY, fResultZ );
202 aCurrentTransform.
shearXY(fResultY,-fResultX);
219 std::unique_ptr<sdr::overlay::OverlayPolyPolygonStripedAndFilled> pNew(
221 std::move(aPolyPolygon)));
basegfx::B3DPolyPolygon CreateWireframe() const
constexpr tools::Long Y() const
constexpr tools::Long X() const
void insertNewlyCreatedOverlayObjectForSdrDragMethod(std::unique_ptr< sdr::overlay::OverlayObject > pOverlayObject, const sdr::contact::ObjectContact &rObjectContact, sdr::overlay::OverlayManager &rOverlayManager)
void NextMove(const Point &rPnt)
const Point & GetStart() const
sdr::contact::ViewContact & GetViewContact() const
virtual const tools::Rectangle & GetLogicRect() const
void transform(const basegfx::B2DHomMatrix &rMatrix)
void shearXY(double fSx, double fSy)
void rotate(double fAngleX, double fAngleY, double fAngleZ)
void translate(double fX, double fY, double fZ)
static bool isSupportingRightAngledAxes(const rtl::Reference< ::chart::ChartType > &xChartType)
rtl::Reference<::chart::ChartModel > getChartModel() const
basegfx::B3DPolyPolygon m_aWireframePolyPolygon
sal_Int32 m_nInitialHorizontalAngleDegree
double m_fAdditionalZAngleRad
virtual OUString GetSdrDragComment() const override
double m_fInitialYAngleRad
virtual bool BeginSdrDrag() override
virtual bool EndSdrDrag(bool bCopy) override
double m_fAdditionalYAngleRad
RotationDirection m_eRotationDirection
sal_Int32 m_nAdditionalVerticalAngleDegree
sal_Int32 m_nInitialVerticalAngleDegree
double m_fAdditionalXAngleRad
virtual void MoveSdrDrag(const Point &rPnt) override
double m_fInitialZAngleRad
double m_fInitialXAngleRad
DragMethod_RotateDiagram(DrawViewWrapper &rDrawViewWrapper, const OUString &rObjectCID, const rtl::Reference<::chart::ChartModel > &xChartModel, RotationDirection eRotationDirection)
virtual void CreateOverlayGeometry(sdr::overlay::OverlayManager &rOverlayManager, const sdr::contact::ObjectContact &rObjectContact) override
virtual ~DragMethod_RotateDiagram() override
sal_Int32 m_nAdditionalHorizontalAngleDegree
tools::Rectangle m_aReferenceRect
SdrObject * getNamedSdrObject(const OUString &rName) const
SdrObject * getSelectedObject() const
static E3dScene * getSceneToRotate(SdrObject *pObj)
static void adaptRadAnglesForRightAngledAxes(double &rfXAngleRad, double &rfYAngleRad)
static void convertElevationRotationDegToXYZAngleRad(sal_Int32 nElevationDeg, sal_Int32 nRotationDeg, double &rfXAngleRad, double &rfYAngleRad, double &rfZAngleRad)
constexpr double FIXED_SIZE_FOR_3D_CHART_VOLUME
B2DPolyPolygon createB2DPolyPolygonFromB3DPolyPolygon(const B3DPolyPolygon &rCandidate, const B3DHomMatrix &rMat)
constexpr double rad2deg(double v)