Class represents transformation matrix. More...

Inherits System::Object.

Public Member Functions

ASPOSE_PDF_SHARED_API double get_A ()
 A member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_A (double value)
 A member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_B ()
 B member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_B (double value)
 B member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_C ()
 C member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_C (double value)
 C member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_D ()
 D member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_D (double value)
 D member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_E ()
 E member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_E (double value)
 E member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_F ()
 F member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_F (double value)
 F member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_G ()
 G member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_G (double value)
 G member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_H ()
 H member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_H (double value)
 H member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_I ()
 I member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_I (double value)
 I member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_Tx ()
 Tx member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_Tx (double value)
 Tx member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_Ty ()
 Ty member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_Ty (double value)
 Ty member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API double get_Tz ()
 Tz member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API void set_Tz (double value)
 Tz member of the transformation matrix. More...
 
ASPOSE_PDF_SHARED_API Matrix3D ()
 Constructor creates standard 1 to 1 matrix: [ A B C D E F G H I Tx Ty Tz] = [ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 , 0] More...
 
ASPOSE_PDF_SHARED_API Matrix3D (System::ArrayPtr< double > matrix3DArray)
 Constructor accepts a matrix with following array representation: [ A B C D E F G H I Tx Ty Tz] More...
 
ASPOSE_PDF_SHARED_API Matrix3D (System::SharedPtr< Matrix3D > matrix)
 Constructor accepts a matrix to create a copy More...
 
ASPOSE_PDF_SHARED_API bool Equals (System::SharedPtr< System::Object > obj) override
 Compares matrix against other object. More...
 
ASPOSE_PDF_SHARED_API System::SharedPtr< Matrix3DAdd (System::SharedPtr< Matrix3D > other)
 Multiplies the matrix by other matrix. More...
 
ASPOSE_PDF_SHARED_API Matrix3D (double a, double b, double c, double d, double e, double f, double g, double h, double i, double tx, double ty, double tz)
 Transforms point using this matrix. More...
 
ASPOSE_PDF_SHARED_API int32_t GetHashCode () const override
 Calculates reverse matrix. More...
 
ASPOSE_PDF_SHARED_API System::String ToString () const override
 Returns text representation of the matrix. More...
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Static Public Member Functions

static ASPOSE_PDF_SHARED_API double GetAngle (Rotation rotation)
 Creates matrix for given rotation angle. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 

Protected Member Functions

System::SharedPtr< Engine::Data::IPdfArray > getMatrix3D (System::SharedPtr< Engine::Data::ITrailerable > trailer)
 Translates matrix into PDF array obect. More...
 
System::SharedPtr< Engine::Data::IPdfArray > ToPdfArray (System::SharedPtr< Engine::Data::ITrailerable > trailerable)
 
 Matrix3D (System::SharedPtr< Engine::Data::IPdfArray > data)
 
 MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION (Matrix3D, CODEPORTING_ARGS(System::SharedPtr< Engine::Data::IPdfArray > data))
 

Additional Inherited Members

- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 

Detailed Description

Class represents transformation matrix.

Constructor & Destructor Documentation

◆ Matrix3D() [1/5]

ASPOSE_PDF_SHARED_API Aspose::Pdf::Matrix3D::Matrix3D ( )

Constructor creates standard 1 to 1 matrix: [ A B C D E F G H I Tx Ty Tz] = [ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 , 0]

◆ Matrix3D() [2/5]

ASPOSE_PDF_SHARED_API Aspose::Pdf::Matrix3D::Matrix3D ( System::ArrayPtr< double >  matrix3DArray)

Constructor accepts a matrix with following array representation: [ A B C D E F G H I Tx Ty Tz]

Parameters
matrix3DArrayMatrix data array.

◆ Matrix3D() [3/5]

ASPOSE_PDF_SHARED_API Aspose::Pdf::Matrix3D::Matrix3D ( System::SharedPtr< Matrix3D matrix)

Constructor accepts a matrix to create a copy

Parameters
matrixMatrix3D object.

◆ Matrix3D() [4/5]

ASPOSE_PDF_SHARED_API Aspose::Pdf::Matrix3D::Matrix3D ( double  a,
double  b,
double  c,
double  d,
double  e,
double  f,
double  g,
double  h,
double  i,
double  tx,
double  ty,
double  tz 
)

Transforms point using this matrix.

Parameters
pPoint which will be transformed.
Returns
Transformation result.

Transformes rectangle. If angle is not 90 * N degrees then bounding rectangle is returned.

Parameters
rectRectangle to be transformed.
Returns
Transformed rectangle.

Initializes transformation matrix with specified coefficients.

Parameters
aA matrix value.
bB matrix value.
cC matrix value.
dD matrix value.
eE matrix value.
fF matrix value.
gG matrix value.
hH matrix value.
iI matrix value.
txTX matrix value.
tyTY matrix value.
tzTZ matrix value.

◆ Matrix3D() [5/5]

Aspose::Pdf::Matrix3D::Matrix3D ( System::SharedPtr< Engine::Data::IPdfArray >  data)
protected

Member Function Documentation

◆ Add()

ASPOSE_PDF_SHARED_API System::SharedPtr<Matrix3D> Aspose::Pdf::Matrix3D::Add ( System::SharedPtr< Matrix3D other)

Multiplies the matrix by other matrix.

Parameters
otherMultiplier matrix.
Returns
Result of multiplication.

Adds matrix to other matrix.

Parameters
otherMatrix to be added.
Returns
Result of matrix add.

◆ Equals()

ASPOSE_PDF_SHARED_API bool Aspose::Pdf::Matrix3D::Equals ( System::SharedPtr< System::Object obj)
override

Compares matrix against other object.

Parameters
objObject to compare.
Returns
Returns true is other object is Matrix3D and all matrix members are equal to corresponding members of the matrix

◆ get_A()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_A ( )

A member of the transformation matrix.

◆ get_B()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_B ( )

B member of the transformation matrix.

◆ get_C()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_C ( )

C member of the transformation matrix.

◆ get_D()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_D ( )

D member of the transformation matrix.

◆ get_E()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_E ( )

E member of the transformation matrix.

◆ get_F()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_F ( )

F member of the transformation matrix.

◆ get_G()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_G ( )

G member of the transformation matrix.

◆ get_H()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_H ( )

H member of the transformation matrix.

◆ get_I()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_I ( )

I member of the transformation matrix.

◆ get_Tx()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_Tx ( )

Tx member of the transformation matrix.

◆ get_Ty()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_Ty ( )

Ty member of the transformation matrix.

◆ get_Tz()

ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::get_Tz ( )

Tz member of the transformation matrix.

◆ GetAngle()

static ASPOSE_PDF_SHARED_API double Aspose::Pdf::Matrix3D::GetAngle ( Rotation  rotation)
static

Creates matrix for given rotation angle.

Parameters
alphaRotation angle in radians.
Returns
Transformation matrix.

Creates matrix for given rotation angle.

Parameters
alphaSkew x angle in radians.
betaSkew y angle in radians.
Returns
Transformation matrix.

Creates matrix for given scale.

Parameters
xScale x.
yScale y.
Returns
Transformation matrix.

Transaltes rotation into angle (degrees)

Parameters
rotationRotation value.
Returns
Angle value.

◆ GetHashCode()

ASPOSE_PDF_SHARED_API int32_t Aspose::Pdf::Matrix3D::GetHashCode ( ) const
overridevirtual

Calculates reverse matrix.

Returns
Reverse matrix.

Hash-code for object.

Returns
Hash-code.

Reimplemented from System::Object.

◆ getMatrix3D()

System::SharedPtr<Engine::Data::IPdfArray> Aspose::Pdf::Matrix3D::getMatrix3D ( System::SharedPtr< Engine::Data::ITrailerable >  trailer)
protected

Translates matrix into PDF array obect.

Parameters
trailerTrailerable object
Returns
Result of converting

◆ MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION()

Aspose::Pdf::Matrix3D::MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION ( Matrix3D  ,
CODEPORTING_ARGS(System::SharedPtr< Engine::Data::IPdfArray > data)   
)
protected

◆ set_A()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_A ( double  value)

A member of the transformation matrix.

◆ set_B()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_B ( double  value)

B member of the transformation matrix.

◆ set_C()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_C ( double  value)

C member of the transformation matrix.

◆ set_D()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_D ( double  value)

D member of the transformation matrix.

◆ set_E()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_E ( double  value)

E member of the transformation matrix.

◆ set_F()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_F ( double  value)

F member of the transformation matrix.

◆ set_G()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_G ( double  value)

G member of the transformation matrix.

◆ set_H()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_H ( double  value)

H member of the transformation matrix.

◆ set_I()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_I ( double  value)

I member of the transformation matrix.

◆ set_Tx()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_Tx ( double  value)

Tx member of the transformation matrix.

◆ set_Ty()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_Ty ( double  value)

Ty member of the transformation matrix.

◆ set_Tz()

ASPOSE_PDF_SHARED_API void Aspose::Pdf::Matrix3D::set_Tz ( double  value)

Tz member of the transformation matrix.

◆ ToPdfArray()

System::SharedPtr<Engine::Data::IPdfArray> Aspose::Pdf::Matrix3D::ToPdfArray ( System::SharedPtr< Engine::Data::ITrailerable >  trailerable)
protected

◆ ToString()

ASPOSE_PDF_SHARED_API System::String Aspose::Pdf::Matrix3D::ToString ( ) const
overridevirtual

Returns text representation of the matrix.

Returns
String representation for the matrix

Reimplemented from System::Object.