36 #define HFileInputResult HFileIOResult 37 #define InputOK HIO_OK 38 #define InputVersionMismatch HIO_VersionMismatch 39 #define InputFail HIO_Fail 40 #define InputNotHandled HIO_NotHandled 41 #define InputBadFileName HIO_BadFileName 42 #define InputBadOptions HIO_BadOptions 43 #define InputBadLicense HIO_BadLicense 44 #define InputLibraryNotFound HIO_LibraryNotFound 47 #define HFileOutputResult HFileIOResult 48 #define OutputOK HIO_OK 49 #define OutputVersionMismatch HIO_VersionMismatch 50 #define OutputFail HIO_Fail 51 #define OutputNotHandled HIO_NotHandled 52 #define OutputBadFileName HIO_BadFileName 53 #define OutputBadOptions HIO_BadOptions 54 #define OutputBadLicense HIO_BadLicense 55 #define OutputLibraryNotFound HIO_LibraryNotFound 60 #define LAST_HFileInputResult InputBadOptions 64 #define LAST_HFileOutputResult OutputBadOptions 86 #define LAST_HSignal HSignalClash 113 #define LAST_HShadowMode HShadowHard 132 HPoint(
float X,
float Y,
float Z=0.0f) : x(X), y(Y), z(Z) {};
141 void Set(
float X,
float Y,
float Z=0.0f) { x=X; y=Y; z=Z; };
160 void Add(
float X,
float Y,
float Z=0.0){ x+=X; y+=Y; z+=Z; };
172 HPoint const operator *(
float const rhs)
const 174 return HPoint(x*rhs, y*rhs, z*rhs);
177 HPoint const operator /(
float const rhs)
const 179 return HPoint(x/rhs, y/rhs, z/rhs);
198 HPoint const & operator *= (
float const rhs)
206 HPoint const & operator /= (
float const rhs)
214 bool operator ==(
HPoint const & rhs)
const 219 bool operator !=(
HPoint const & rhs)
const 228 #define HPOINT_EPSILON (1e-5f) 233 return (x - p->
x < epsi) && (x - p->
x > -epsi)
234 && (y - p->
y < epsi) && (y - p->
y > -epsi)
235 && (z - p->
z < epsi) && (z - p->
z > -epsi);
240 return Equal(&p, epsi);
266 bool operator < (
HPointKey const & rhs)
const 281 bool operator > (
HPointKey const & rhs)
const 283 return !(*
this < rhs);
286 bool operator <= (
HPointKey const & rhs)
const 291 else if( (*
this) == rhs ){
297 bool operator >= (
HPointKey const & rhs)
const 302 else if( (*
this) == rhs ){
344 HPlane(
float const A = 0,
float const B = 1,
float const C = 0,
float const D = 0) :
345 m_a(A), m_b(B), m_c(C), m_d(D){
349 m_a(normal.x), m_b(normal.y), m_c(normal.z), m_d(D){
353 m_a(p.a()), m_b(p.b()), m_c(p.c()), m_d(p.d()){
357 inline void Set(
float A,
float B,
float C,
float D) { a(A); b(B); c(C); d(D); }
369 normal.
Set(a(), b(), c());
370 HC_Compute_Normalized_Vector(&normal, &normal);
375 return (m_a - p->m_a < epsi1) && (m_a - p->m_a > -epsi1)
376 && (m_b - p->m_b < epsi1) && (m_b - p->m_b > -epsi1)
377 && (m_c - p->m_c < epsi1) && (m_c - p->m_c > -epsi1)
378 && (m_d - p->m_d < epsi2) && (m_d - p->m_d > -epsi2);
382 inline float a()
const {
return m_a;};
383 inline float b()
const {
return m_b;};
384 inline float c()
const {
return m_c;};
385 inline float d()
const {
return m_d;};
387 inline void a(
float A) {m_a = A;};
388 inline void b(
float B) {m_b = B;};
389 inline void c(
float C) {m_c = C;};
390 inline void d(
float D) {m_d = D;};
400 HPlaneKey(
float const A = 0,
float const B = 1,
float const C = 0,
float const D = 0) :
410 bool operator < (
HPlane const & rhs)
const {
421 else if(p1.a() == p2.a()){
424 else if(p1.b() == p2.b()){
427 else if(p1.c() == p2.c()){
436 bool operator == (
HPlane const & rhs)
const {
445 if( p1.a() == p2.a() &&
454 bool operator >= (
HPlane const & rhs)
const {
455 return !(*
this < rhs);
458 bool operator > (
HPlane const & rhs)
const {
459 return !(*
this < rhs) && !(*
this == rhs);
462 bool operator <= (
HPlane const & rhs)
const {
463 return *
this < rhs || *
this == rhs;
466 bool operator != (
HPlane const & rhs)
const {
467 return !(*
this == rhs);
481 HPixelRGB(
unsigned char R = 0,
unsigned char G = 0,
unsigned char B = 0) : m_r(R), m_g(G), m_b(B) {
487 inline unsigned char r()
const {
return m_r;};
488 inline unsigned char g()
const {
return m_g;};
489 inline unsigned char b()
const {
return m_b;};
491 inline void r(
unsigned char const R) {m_r = R;};
492 inline void g(
unsigned char const G) {m_g = G;};
493 inline void b(
unsigned char const B) {m_b = B;};
496 inline void Set(
unsigned char R,
unsigned char G,
unsigned char B){
503 inline void Setf(
float R,
float G,
float B){
504 r((
unsigned char)(R*255.99f));
505 g((
unsigned char)(G*255.99f));
506 b((
unsigned char)(B*255.99f));
518 unsigned char const R = 0,
519 unsigned char const G = 0,
520 unsigned char const B = 0,
521 unsigned char const A = 0)
528 inline void Set(
unsigned char R,
unsigned char G,
unsigned char B,
unsigned char A=0){
534 inline void Setf(
float R,
float G,
float B,
float A=0.0f){
536 a((
unsigned char)(A*255.99f));
539 inline unsigned char a()
const {
return m_a;};
540 inline void a(
unsigned char const A) {m_a = A;};
570 enum HRegionFaceHighlightMode
self-explantory
Definition: HGlobals.h:79
self-explanatory
Definition: HGlobals.h:33
The HPlaneKey class is the data type of a plane that can be used as a key in STL containers.
Definition: HGlobals.h:397
The HPixelRGB class is the data type of a rgb pixel.
Definition: HGlobals.h:473
bool Equal(HPoint const &p, float epsi=HPOINT_EPSILON) const
Definition: HGlobals.h:239
void Setf(float R, float G, float B, float A=0.0f)
Definition: HGlobals.h:534
color the selected item and make the rest of the model transparent.
Definition: HGlobals.h:553
HPoint(HPoint const *p)
Definition: HGlobals.h:135
self-explanatory
Definition: HGlobals.h:31
float z
The z-coordinate of a 3-dimensional point.
Definition: HGlobals.h:126
void CalculateNormal(HPoint &normal) const
Definition: HGlobals.h:367
Faces will be visible for cut geometry.
Definition: HGlobals.h:105
#define HPOINT_EPSILON
HPOINT_EPSILON.
Definition: HGlobals.h:228
void Set(HPoint *p)
Definition: HGlobals.h:144
a paint (screen update) has occurred; signal_data is pointer to HRectangle containing window size ...
Definition: HGlobals.h:77
self-explanatory
Definition: HGlobals.h:27
objects have clashed; signal_data is pointer to StencilProbe object that detected a clash; StencilPro...
Definition: HGlobals.h:78
HPointKey(HPoint const *p)
Definition: HGlobals.h:260
void Set(HPoint &p)
Definition: HGlobals.h:150
void Set(HPoint const *p)
Definition: HGlobals.h:147
HRefSelType
Definition: HGlobals.h:579
HPointKey(float X, float Y, float Z=0.0f)
Definition: HGlobals.h:257
The HPixelRGBA class is the data type of a rgba pixel.
Definition: HGlobals.h:511
No cut geometry will be visible.
Definition: HGlobals.h:104
float x
The x-coordinate of a 3-dimensional point.
Definition: HGlobals.h:124
HSelectionHighlightMode
Definition: HGlobals.h:549
Definition: HGlobals.h:312
self-explantory
Definition: HGlobals.h:74
self-explantory
Definition: HGlobals.h:75
self-explanatory
Definition: HGlobals.h:28
soft shadow
Definition: HGlobals.h:95
class HPoint HVector
The HVector class is the data type of a three-dimensional vector.
Definition: HGlobals.h:328
hard shadow
Definition: HGlobals.h:96
HPointKey(HPoint const &p)
Definition: HGlobals.h:263
HRegionEdgeHighlightMode
Definition: HGlobals.h:563
void Set(float A, float B, float C, float D)
Definition: HGlobals.h:357
use default conditional highlighting
Definition: HGlobals.h:550
bool Equal(HPoint const *p, float epsi=HPOINT_EPSILON) const
Definition: HGlobals.h:232
void Setf(float R, float G, float B)
Definition: HGlobals.h:503
do not use quick moves for reference selection
Definition: HGlobals.h:583
HCutGeometryVisibility
Definition: HGlobals.h:102
void Set(unsigned char R, unsigned char G, unsigned char B)
Definition: HGlobals.h:496
self-explantory
Definition: HGlobals.h:73
void Set(unsigned char R, unsigned char G, unsigned char B, unsigned char A=0)
Definition: HGlobals.h:528
no shadow
Definition: HGlobals.h:94
self-explanatory
Definition: HGlobals.h:29
use quick move reference highlighting
Definition: HGlobals.h:551
HPoint()
Definition: HGlobals.h:129
HPointKey()
Definition: HGlobals.h:254
float y
The y-coordinate of a 3-dimensional point.
Definition: HGlobals.h:125
self-explanatory
Definition: HGlobals.h:30
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
Edges will be visible for cut geometry.
Definition: HGlobals.h:106
int right
The right position.
Definition: HGlobals.h:316
HPoint(HPoint const &p)
Definition: HGlobals.h:138
self-explantory
Definition: HGlobals.h:80
double ClassifyPoint(HPoint const &p) const
Definition: HGlobals.h:362
HPoint(float X, float Y, float Z=0.0f)
Definition: HGlobals.h:132
int left
The left position.
Definition: HGlobals.h:315
do nothing to the selected item, but make the rest of the model transparent.
Definition: HGlobals.h:552
self-explantory
Definition: HGlobals.h:76
Definition: HGlobals.h:250
bool Equal(HPlane const *p, float epsi1=HPOINT_EPSILON, float epsi2=HPOINT_EPSILON) const
Definition: HGlobals.h:374
self-explanatory
Definition: HGlobals.h:32
HShadowMode
Definition: HGlobals.h:92
use whatever the current quick moves preference is
Definition: HGlobals.h:582
void Add(float X, float Y, float Z=0.0)
Definition: HGlobals.h:160
int bottom
The bottom position.
Definition: HGlobals.h:317
use spriting for reference selection
Definition: HGlobals.h:581
The HPlane class is the data type of a plane.
Definition: HGlobals.h:335
void Set(const HPoint &p)
Definition: HGlobals.h:153
self-explantory
Definition: HGlobals.h:72
void Set(float X, float Y, float Z=0.0f)
Definition: HGlobals.h:141
HSignal
Definition: HGlobals.h:70
self-explanatory
Definition: HGlobals.h:26
int top
The top position.
Definition: HGlobals.h:318
Both Faces and Edges will be visible.
Definition: HGlobals.h:107
HFileIOResult
Definition: HGlobals.h:24