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
TS_Ellipsoid.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* NAME: TS_Ellipsoid (C++)
7
*
8
* COMMENTS:
9
*
10
*/
11
12
#ifndef _TS_Ellipsoid_h_
13
#define _TS_Ellipsoid_h_
14
15
#include "
TS_API.h
"
16
#include <
UT/UT_Interval.h
>
17
#include "
TS_Primitive.h
"
18
19
class
TS_API
TS_MetaEllipsoid
:
public
TS_MetaPrimitive
20
{
21
public
:
22
TS_MetaEllipsoid
();
23
TS_MetaEllipsoid
(
const
TS_MetaEllipsoid
*);
24
~
TS_MetaEllipsoid
()
override
;
25
26
float
density
(
const
UT_Vector3
&p)
const override
;
27
UT_Interval
density
(
const
UT_BoundingBox
&p)
const override
;
28
float
grad
(
const
UT_Vector3
&point,
29
UT_Vector3
&grad)
const override
;
30
int
setRay
(
const
TS_Ray
&ray)
override
;
31
float
rayDensity
(
float
t
)
const override
;
32
UT_Interval
rayDensity
(
const
UT_Interval
&t)
const override
;
33
void
transform
(
const
UT_Matrix4
&)
override
;
34
35
// Get the matrix of this ellipsoid's quadric.
36
void
getQuadricMatrix4(
UT_Matrix4
&m)
const
;
37
38
TS_MetaExpression
*
duplicate
()
const override
;
39
void
init
()
override
;
40
void
reset
()
override
;
41
/// Compute memory usage (includes all shared memory)
42
/// NOTE: Must add in TS_MetaExpression::getMemoryUsage(false).
43
int64
getMemoryUsage
(
bool
inclusive)
const override
;
44
45
private
:
46
TS_Quadric
myQ;
47
fpreal64
myT2, myT1, myT0;
// computed data for ray tracing
48
};
49
50
#endif
TS_API
#define TS_API
Definition:
TS_API.h:10
UT_Matrix4T< float >
TS_MetaEllipsoid
Definition:
TS_Ellipsoid.h:19
UT_BoundingBoxT< float >
TS_MetaExpression::setRay
virtual int setRay(const TS_Ray &ray)=0
TS_MetaExpression::density
virtual float density(const UT_Vector3 &p) const =0
UT_Vector3T< float >
TS_API.h
fpreal64
double fpreal64
Definition:
SYS_Types.h:201
TS_Ray
Definition:
TS_Ray.h:21
TS_Quadric
Definition:
TS_Quadric.h:33
TS_MetaExpression
Definition:
TS_Expression.h:76
TS_Primitive.h
int64
long long int64
Definition:
SYS_Types.h:116
TS_MetaExpression::rayDensity
virtual float rayDensity(float t) const =0
TS_MetaExpression::duplicate
virtual TS_MetaExpression * duplicate() const =0
t
GLdouble t
Definition:
glad.h:2397
TS_MetaExpression::grad
virtual float grad(const UT_Vector3 &point, UT_Vector3 &grad) const =0
UT_Interval.h
TS_MetaPrimitive::transform
virtual void transform(const UT_Matrix4 &)=0
TS_MetaPrimitive::getMemoryUsage
int64 getMemoryUsage(bool inclusive) const override=0
TS_MetaPrimitive::reset
virtual void reset()
TS_MetaPrimitive
Definition:
TS_Primitive.h:22
TS_MetaPrimitive::init
virtual void init()=0
UT_IntervalT< float >
TS
TS_Ellipsoid.h
Generated on Sun May 12 2024 03:18:04 for HDK by
1.8.6