FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGeVector3d.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
19#include "..\acge17\AcGe.h"
21#include "..\acge17\AcGeTol.h"
22#include "..\AcNonRTTIObject.h"
23#include "..\frx.h"
24
25class AcGeMatrix3d;
26class AcGePlanarEnt;
27class AcGeTol;
28class AcGeVector2d;
29
31{
32public:
37 double x;
38 double y;
39 double z;
40
41public:
44 AcGeVector3d(double,double,double);
47 operator AcGeMatrix3d(void)const ;
48 bool isEqualTo( AcGeVector3d const &, AcGeTol const & = AcGeContext::gTol)const ;
49 bool operator!=( AcGeVector3d const &)const ;
50 bool operator==( AcGeVector3d const &)const ;
64 AcGeVector3d & set(double,double,double);
71 AcGeVector3d operator*(double)const ;
75 AcGeVector3d operator/(double)const ;
81 double & operator[](unsigned int);
82 double angleOnPlane( AcGePlanarEnt const &)const ;
83 double angleTo( AcGeVector3d const &)const ;
84 double angleTo( AcGeVector3d const &, AcGeVector3d const &)const ;
85 double dotProduct( AcGeVector3d const &)const ;
86 double length(void)const ;
87 double lengthSqrd(void)const ;
88 double operator[](unsigned int)const ;
97 unsigned int largestElement(void)const ;
98};
#define ARX_API_STATIC
Definition FxARXAPI.h:25
static ARX_API_STATIC AcGeTol gTol
Definition AcGeTol.h:24
double angleTo(AcGeVector3d const &, AcGeVector3d const &) const
AcGeVector3d & rotateBy(double, AcGeVector3d const &)
Frx::Boolean isCodirectionalTo(AcGeVector3d const &, AcGeTol const &, AcGe::ErrorCondition &) const
AcGeVector3d & operator*=(double)
AcGeVector3d operator-(AcGeVector3d const &) const
AcGeVector3d(AcGePlanarEnt const &, AcGeVector2d const &)
AcGeVector3d & normalize(AcGeTol const &=AcGeTol::gTol)
double operator[](unsigned int) const
AcGeVector3d & operator-=(AcGeVector3d const &)
AcGeMatrix3d rotateTo(AcGeVector3d const &, AcGeVector3d const &=AcGeVector3d::kIdentity) const
AcGeVector3d & setToSum(AcGeVector3d const &, AcGeVector3d const &)
Frx::Boolean isPerpendicularTo(AcGeVector3d const &, AcGeTol const &, AcGe::ErrorCondition &) const
AcGeVector3d & set(AcGePlanarEnt const &, AcGeVector2d const &)
AcGeVector3d & negate(void)
double & operator[](unsigned int)
AcGeVector3d & set(double, double, double)
AcGeVector3d operator-(void) const
unsigned int largestElement(void) const
double length(void) const
~AcGeVector3d(void)
AcGeVector3d operator+(AcGeVector3d const &) const
AcGeVector3d(AcGeVector3d const &)
Frx::Boolean isCodirectionalTo(AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGeVector3d(double, double, double)
AcGeVector3d & mirror(AcGeVector3d const &)
Frx::Boolean isPerpendicularTo(AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGeVector3d & operator=(AcGeVector3d const &)
AcGeVector3d & normalize(AcGeTol const &, AcGe::ErrorCondition &)
double angleTo(AcGeVector3d const &) const
Frx::Boolean isParallelTo(AcGeVector3d const &, AcGeTol const &, AcGe::ErrorCondition &) const
AcGeVector3d operator/(double) const
AcGeVector3d & operator+=(AcGeVector3d const &)
AcGeVector3d project(AcGeVector3d const &, AcGeVector3d const &) const
static ARX_API_STATIC AcGeVector3d const kIdentity
AcGeVector3d operator*(double) const
Frx::Boolean isZeroLength(AcGeTol const &=AcGeContext::gTol) const
AcGeVector3d orthoProject(AcGeVector3d const &, AcGeTol const &, AcGe::ErrorCondition &) const
AcGeVector3d perpVector(void) const
Frx::Boolean isParallelTo(AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
double angleOnPlane(AcGePlanarEnt const &) const
double dotProduct(AcGeVector3d const &) const
AcGeVector3d(void)
double lengthSqrd(void) const
Frx::Boolean isUnitLength(AcGeTol const &=AcGeContext::gTol) const
AcGeVector3d project(AcGeVector3d const &, AcGeVector3d const &, AcGeTol const &, AcGe::ErrorCondition &) const
AcGeVector3d & operator/=(double)
bool isEqualTo(AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
static ARX_API_STATIC AcGeVector3d const kZAxis
bool operator==(AcGeVector3d const &) const
AcGeVector3d & transformBy(AcGeMatrix3d const &)
static ARX_API_STATIC AcGeVector3d const kXAxis
AcGeVector3d & setToProduct(AcGeMatrix3d const &, AcGeVector3d const &)
AcGeVector3d orthoProject(AcGeVector3d const &) const
AcGeVector2d convert2d(AcGePlanarEnt const &) const
AcGeVector3d & setToProduct(AcGeVector3d const &, double)
AcGeVector3d crossProduct(AcGeVector3d const &) const
static ARX_API_STATIC AcGeVector3d const kYAxis
AcGeVector3d normal(AcGeTol const &=AcGeTol::gTol) const
bool operator!=(AcGeVector3d const &) const
static ARX_API_STATIC AcGeTol gTol
Definition AcGeContext.h:24
ErrorCondition
Definition AcGe.h:168