FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGeMatrix3d.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
20
21class AcGeLine3d;
22class AcGeMatrix2d;
23class AcGePlane;
24class AcGePoint3d;
25class AcGeTol;
26class AcGeVector3d;
27
29{
30public:
32 double entry[4][4];
33
34public:
38 bool isEqualTo( AcGeMatrix3d const &, AcGeTol const & = AcGeContext::gTol)const ;
39 bool operator!=( AcGeMatrix3d const &)const ;
40 bool operator==( AcGeMatrix3d const &)const ;
48 AcGeMatrix3d & setToAlignCoordSys( AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &);
64 AcGeMatrix3d inverse(void)const ;
68 double & operator()(unsigned int,unsigned int);
69 double det(void)const ;
70 double norm(void)const ;
71 double operator()(unsigned int,unsigned int)const ;
72 double scale(void)const ;
77 static AcGeMatrix3d __cdecl alignCoordSys( AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &);
91
92private:
93 int pivotIndex(int)const ;
94 void pivot(int, AcGeMatrix3d &);
95 void swapRows(int,int, AcGeMatrix3d &);
96};
#define ARX_API_STATIC
Definition FxARXAPI.h:25
AcGeMatrix3d(void)
AcGeMatrix3d inverse(AcGeTol const &) const
static AcGeMatrix3d __cdecl planeToWorld(AcGePlane const &)
AcGeMatrix3d & transposeIt(void)
Adesk::Boolean isUniScaledOrtho(AcGeTol const &=AcGeContext::gTol) const
bool isEqualTo(AcGeMatrix3d const &, AcGeTol const &=AcGeContext::gTol) const
static AcGeMatrix3d __cdecl mirroring(AcGePoint3d const &)
double operator()(unsigned int, unsigned int) const
AcGeMatrix3d & operator=(AcGeMatrix3d const &)
AcGeMatrix3d & setCoordSystem(AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &)
static AcGeMatrix3d __cdecl planeToWorld(AcGeVector3d const &)
AcGeMatrix3d & setToPlaneToWorld(AcGeVector3d const &)
void getCoordSystem(AcGePoint3d &, AcGeVector3d &, AcGeVector3d &, AcGeVector3d &) const
static AcGeMatrix3d __cdecl mirroring(AcGePlane const &)
AcGeMatrix3d & setToRotation(double, AcGeVector3d const &, AcGePoint3d const &=AcGePoint3d::kOrigin)
AcGeMatrix3d & setToWorldToPlane(AcGeVector3d const &)
Adesk::Boolean inverse(AcGeMatrix3d &, double) const
AcGeMatrix3d transpose(void) const
static ARX_API_STATIC AcGeMatrix3d const kIdentity
AcGeMatrix3d & setToMirroring(AcGeLine3d const &)
~AcGeMatrix3d(void)
static AcGeMatrix3d __cdecl rotation(double, AcGeVector3d const &, AcGePoint3d const &=AcGePoint3d::kOrigin)
AcGeMatrix3d & operator*=(AcGeMatrix3d const &)
AcGeMatrix3d & preMultBy(AcGeMatrix3d const &)
static AcGeMatrix3d __cdecl mirroring(AcGeLine3d const &)
AcGeMatrix3d & setToWorldToPlane(AcGePlane const &)
double & operator()(unsigned int, unsigned int)
Adesk::Boolean isSingular(AcGeTol const &=AcGeContext::gTol) const
AcGeMatrix3d & setToIdentity(void)
AcGeMatrix3d & invert(void)
AcGeMatrix3d operator*(AcGeMatrix3d const &) const
static AcGeMatrix3d __cdecl scaling(double, AcGePoint3d const &=AcGePoint3d::kOrigin)
AcGeVector3d translation(void) const
bool operator==(AcGeMatrix3d const &) const
AcGeMatrix3d & setToTranslation(AcGeVector3d const &)
AcGeMatrix2d convertToLocal(AcGeVector3d &, double &) const
double norm(void) const
AcGeMatrix3d & setTranslation(AcGeVector3d const &)
AcGeMatrix3d & setToMirroring(AcGePlane const &)
double det(void) const
static AcGeMatrix3d __cdecl translation(AcGeVector3d const &)
AcGeMatrix3d & setToPlaneToWorld(AcGePlane const &)
static AcGeMatrix3d __cdecl alignCoordSys(AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &)
AcGeMatrix3d & setToScaling(double, AcGePoint3d const &param_2=AcGePoint3d::kOrigin)
static AcGeMatrix3d __cdecl worldToPlane(AcGeVector3d const &)
AcGeMatrix3d & setToProjection(AcGePlane const &, AcGeVector3d const &)
bool operator!=(AcGeMatrix3d const &) const
AcGeMatrix3d inverse(void) const
AcGeMatrix3d & setToAlignCoordSys(AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, AcGeVector3d const &)
AcGeMatrix3d(AcGeMatrix3d const &)
double scale(void) const
AcGeMatrix3d & setToMirroring(AcGePoint3d const &)
AcGeMatrix3d & setToProduct(AcGeMatrix3d const &, AcGeMatrix3d const &)
Adesk::Boolean isScaledOrtho(AcGeTol const &=AcGeContext::gTol) const
static AcGeMatrix3d __cdecl worldToPlane(AcGePlane const &)
static AcGeMatrix3d __cdecl projection(AcGePlane const &, AcGeVector3d const &)
AcGeMatrix3d & postMultBy(AcGeMatrix3d const &)
static ARX_API_STATIC AcGePoint3d const kOrigin
Definition AcGePoint3d.h:29
static ARX_API_STATIC AcGeTol gTol
Definition AcGeContext.h:24