HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
EUC_Object.C
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2024
3
* Side Effects Software Inc. All rights reserved.
4
*
5
* Redistribution and use of Houdini Development Kit samples in source and
6
* binary forms, with or without modification, are permitted provided that the
7
* following conditions are met:
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* 2. The name of Side Effects Software may not be used to endorse or
11
* promote products derived from this software without specific prior
12
* written permission.
13
*
14
* THIS SOFTWARE IS PROVIDED BY SIDE EFFECTS SOFTWARE `AS IS' AND ANY EXPRESS
15
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
17
* NO EVENT SHALL SIDE EFFECTS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
18
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
20
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
*
25
*----------------------------------------------------------------------------
26
* Defines the atomic objects defined in euclidean geometry,
27
* the circle, the line, and the point
28
*/
29
30
#include "
EUC_Object.h
"
31
32
using namespace
HDK_Sample;
33
34
//
35
// EUC_Object
36
//
37
EUC_Object::EUC_Object
()
38
{
39
myCd
= 1;
40
myVisible
=
true
;
41
}
42
43
EUC_Object::~EUC_Object
()
44
{
45
}
46
47
void
48
EUC_Object::setLook
(
bool
visible,
const
UT_Vector3
&cd)
49
{
50
myVisible
= visible;
51
myCd
= cd;
52
}
53
54
//
55
// EUC_Point
56
//
57
EUC_Point::EUC_Point
() :
EUC_Object
()
58
{
59
myPos
= 0;
60
}
61
62
EUC_Point::EUC_Point
(
const
UT_Vector2
&pos) :
EUC_Object
()
63
{
64
myPos
= pos;
65
}
66
67
EUC_Point::~EUC_Point
()
68
{
69
}
70
71
//
72
// EUC_Line
73
//
74
EUC_Line::EUC_Line
() :
EUC_Object
()
75
{
76
myPts
[0] = 0;
77
myPts
[1] = 0;
78
}
79
80
EUC_Line::~EUC_Line
()
81
{
82
}
83
84
//
85
// EUC_Circle
86
//
87
EUC_Circle::EUC_Circle
() :
EUC_Line
()
88
{
89
}
90
91
EUC_Circle::~EUC_Circle
()
92
{
93
}
94
95
float
96
EUC_Circle::getRadius
()
const
97
{
98
UT_Vector2
diff;
99
100
diff =
myPts
[0] -
myPts
[1];
101
return
diff.
length
();
102
}
HDK_Sample::EUC_Line::myPts
UT_Vector2 myPts[2]
Definition:
EUC_Object.h:89
HDK_Sample::EUC_Point::EUC_Point
EUC_Point()
Definition:
EUC_Object.C:57
HDK_Sample::EUC_Circle::getRadius
float getRadius() const
Definition:
EUC_Object.C:96
HDK_Sample::EUC_Object
Definition:
EUC_Object.h:45
HDK_Sample::EUC_Point::myPos
UT_Vector2 myPos
Definition:
EUC_Object.h:74
UT_Vector3T< float >
UT_Vector2T< float >
HDK_Sample::EUC_Line::~EUC_Line
~EUC_Line() override
Definition:
EUC_Object.C:80
UT_Vector2T::length
constexpr SYS_FORCE_INLINE T length() const noexcept
Definition:
UT_Vector2.h:294
HDK_Sample::EUC_Point::~EUC_Point
~EUC_Point() override
Definition:
EUC_Object.C:67
HDK_Sample::EUC_Line::EUC_Line
EUC_Line()
Definition:
EUC_Object.C:74
HDK_Sample::EUC_Object::EUC_Object
EUC_Object()
Definition:
EUC_Object.C:37
HDK_Sample::EUC_Object::~EUC_Object
virtual ~EUC_Object()
Definition:
EUC_Object.C:43
HDK_Sample::EUC_Object::myVisible
bool myVisible
Definition:
EUC_Object.h:57
HDK_Sample::EUC_Circle::EUC_Circle
EUC_Circle()
Definition:
EUC_Object.C:87
HDK_Sample::EUC_Object::setLook
void setLook(bool visible, const UT_Vector3 &cd)
Definition:
EUC_Object.C:48
EUC_Object.h
HDK_Sample::EUC_Line
Definition:
EUC_Object.h:77
HDK_Sample::EUC_Object::myCd
UT_Vector3 myCd
Definition:
EUC_Object.h:58
HDK_Sample::EUC_Circle::~EUC_Circle
~EUC_Circle() override
Definition:
EUC_Object.C:91
samples
euclid
EUC_Object.C
Generated on Tue Dec 24 2024 02:43:34 for HDK by
1.8.6