FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
Transf3d.h
Go to the documentation of this file.
1//
2// (C) Copyright 2005-2024 by Graebert GmbH.
3//
4// Permission to use, copy, modify, and distribute this software in
5// object code form for any purpose and without fee is hereby granted,
6// provided that the above copyright notice appears in all copies and
7// that both that copyright notice and the limited warranty and
8// restricted rights notice below appear in all supporting
9// documentation.
10//
11// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15// UNINTERRUPTED OR ERROR FREE.
16
17#pragma once
18
19#include "Plane.h"
21#include "Point3d.h"
22
23class Point3d;
24class Line3d;
26
28{
29public:
31 {
32 };
33 enum Type
34 {
35 };
36public:
37 static bool isError;
38 static Transf3d const kBackView;
39 static Transf3d const kBottomView;
40 static Transf3d const kDimetricView;
41 static Transf3d const kFrontView;
42 static Transf3d const kIdentity;
44 static Transf3d const kLeftView;
45 static Transf3d const kRightView;
46 static Transf3d const kTopView;
47
48public:
49 Transf3d( Line3d const & ) ;
50 Transf3d( Point3d const & ) ;
51 Transf3d( Point3d const & , Vector3d const & , Vector3d const & ) ;
52 Transf3d( Point3d const & , Vector3d const & , Vector3d const & , Vector3d const & ) ;
54 Transf3d( ProjectionType, Point3d const & , Point3d const & , Vector3d const & ) ;
55 Transf3d(void) ;
56 Transf3d( Transf3d const& );
57 // operator AcGeMatrix3d & (void) ;
58// operator AcGeMatrix3d const & (void)const ;
59 bool isEqualScalingOrthogonal(void)const ;
60 bool isIdentity(void)const ;
61 bool isMirror(void)const ;
62 bool isOrthogonal(void)const ;
63 bool isPerspective(void)const ;
64 bool isValid(void)const ;
65 Line3d operator*( Line3d const & )const ;
66 Point3d operator*( Point3d const & )const ;
67 Point3d origin(void)const ;
68 Point3d project( Point3d const & )const ;
71 Transf3d invert(bool)const ;
72 Transf3d operator*( Transf3d const & )const ;
73 Vector3d operator*( Vector3d const & )const ;
75 Vector3d xDir(void)const ;
76 Vector3d yDir(void)const ;
77 Vector3d zDir(void)const ;
78 double & operator()(int,int) ;
79 double operator()(int,int)const ;
80 static Transf3d & cast( AcGeMatrix3d & );
81 static Transf3d align( Point3d const & , Point3d const & , Point3d const & , Point3d const & , Point3d const & , Point3d const & );
82 static Transf3d align( Point3d const & , Vector3d const & , Point3d const & , Vector3d const & );
83 static Transf3d align( Point3d const & , Vector3d const & , Vector3d const & , Point3d const & , Vector3d const & , Vector3d const & );
84 static Transf3d mirroring( Plane const & );
85 static Transf3d projectOn( Plane const & , Vector3d const & );
86 static Transf3d rotation( Line3d const & ,double);
87 static Transf3d scaling( Point3d const & , Vector3d const & );
88 static Transf3d scaling( Point3d const & ,double);
89 static Transf3d stretching( Line3d const & );
90 static Transf3d translation( Vector3d const & );
91 void getCoordSystem( Point3d & , Vector3d & , Vector3d & , Vector3d & )const ;
93 void save( SaveRestoreCallback * )const ;
94};
Definition Plane.h:25
Transf3d(Line3d const &)
Vector3d zDir(void) const
void restore(SaveRestoreCallback *)
void getCoordSystem(Point3d &, Vector3d &, Vector3d &, Vector3d &) const
Transf3d(void)
static Transf3d mirroring(Plane const &)
Vector3d xDir(void) const
static Transf3d const kIsometricView
Definition Transf3d.h:43
Transf3d invert(bool) const
static Transf3d & cast(AcGeMatrix3d &)
Transf3d & operator=(Transf3d &&)
static Transf3d align(Point3d const &, Point3d const &, Point3d const &, Point3d const &, Point3d const &, Point3d const &)
Transf3d(Point3d const &, Vector3d const &, Vector3d const &, Vector3d const &)
bool isIdentity(void) const
Vector3d stretchVector(void) const
static bool isError
Definition Transf3d.h:37
double operator()(int, int) const
void save(SaveRestoreCallback *) const
Vector3d operator*(Vector3d const &) const
Transf3d(ProjectionType, Point3d const &, Point3d const &, Vector3d const &)
static Transf3d align(Point3d const &, Vector3d const &, Point3d const &, Vector3d const &)
bool isEqualScalingOrthogonal(void) const
static Transf3d const kTopView
Definition Transf3d.h:46
static Transf3d translation(Vector3d const &)
Point3d project(Point3d const &) const
static Transf3d const kBottomView
Definition Transf3d.h:39
bool isPerspective(void) const
ProjectionType
Definition Transf3d.h:31
Transf3d(AcGeMatrix3d const &)
double & operator()(int, int)
Transf3d & operator=(Transf3d const &)
static Transf3d const kLeftView
Definition Transf3d.h:44
Transf3d operator*(Transf3d const &) const
Transf3d(Point3d const &)
bool isMirror(void) const
Vector3d yDir(void) const
static Transf3d const kDimetricView
Definition Transf3d.h:40
static Transf3d const kBackView
Definition Transf3d.h:38
Transf3d(Point3d const &, Vector3d const &, Vector3d const &)
bool isOrthogonal(void) const
static Transf3d const kRightView
Definition Transf3d.h:45
static Transf3d const kFrontView
Definition Transf3d.h:41
Line3d operator*(Line3d const &) const
static Transf3d stretching(Line3d const &)
static Transf3d projectOn(Plane const &, Vector3d const &)
bool isValid(void) const
static Transf3d scaling(Point3d const &, double)
static Transf3d align(Point3d const &, Vector3d const &, Vector3d const &, Point3d const &, Vector3d const &, Vector3d const &)
Point3d origin(void) const
static Transf3d scaling(Point3d const &, Vector3d const &)
static Transf3d rotation(Line3d const &, double)
static Transf3d const kIdentity
Definition Transf3d.h:42
Transf3d(Transf3d const &)
Point3d operator*(Point3d const &) const