Photon Engine
2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
RigidTransform.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Math/Transform/Transform.h
"
4
5
namespace
ph::math
6
{
7
8
/*
9
An abstraction for transforms that enforce object rigidity during
10
the transformation process. Implementations should follow this
11
requirement strictly.
12
*/
13
class
RigidTransform
:
public
Transform
14
{
15
private
:
16
void
transformVector(
17
const
Vector3R
& vector,
18
const
Time
& time,
19
Vector3R
* out_vector)
const override
= 0;
20
21
void
transformOrientation(
22
const
Vector3R
& orientation,
23
const
Time
& time,
24
Vector3R
* out_orientation)
const override
= 0;
25
26
void
transformPoint(
27
const
Vector3R
& point,
28
const
Time
& time,
29
Vector3R
* out_point)
const override
= 0;
30
31
void
transformLineSegment(
32
const
Vector3R
& lineStartPos,
33
const
Vector3R
& lineDir,
34
real lineMinT,
35
real lineMaxT,
36
const
Time
& time,
37
Vector3R
* out_lineStartPos,
38
Vector3R
* out_lineDir,
39
real* out_lineMinT,
40
real* out_lineMaxT)
const override
= 0;
41
};
42
43
}
// end namespace ph::math
Transform.h
ph::Time
Definition
Time.h:9
ph::math::RigidTransform
Definition
RigidTransform.h:14
ph::math::TVector3< real >
ph::math::Transform
Definition
Transform.h:21
ph::math
Math functions and utilities.
Definition
TransformInfo.h:10
Source
Math
Transform
RigidTransform.h
Generated by
1.11.0