Atoms Crowd
7.0.0
ParticleOperator.h
1
#pragma once
2
// ===========================================================================
3
// Copyright (c) 2015 Toolchefs Ltd. All rights reserved.
4
//
5
// Use of this software is subject to the terms of the Toolchefs license
6
// agreement provided at the time of installation or download, or which
7
// otherwise accompanies this software in either electronic or hard copy form.
8
// ===========================================================================
9
10
#include <AtomsGraph/Ports.h>
11
12
#include <Atoms/Globals.h>
13
#include <Atoms/Graph/Operator.h>
14
#include <AtomsUtils/Mesh.h>
15
16
namespace
Atoms
17
{
18
class
ATOMS_EXPORT
ParticleOperator
:
public
Operator
19
{
20
public
:
21
22
NODE_STANDARD_MEMBERS
23
24
ParticleOperator
();
25
26
virtual
~
ParticleOperator
();
27
28
bool
compute
(
const
AtomsGraph::ComputeData
* computeData);
29
30
void
reset
();
31
32
private
:
33
/*
34
AtomsGraph::PosePort* m_inPose;
35
AtomsGraph::BooleanPort* m_useDirectionFromMetadataPort;
36
AtomsGraph::BooleanPort* m_projectOnUpVectorPlane;
37
AtomsGraph::VectorPort* m_directionPort;
38
39
AtomsCore::Vector3 m_pelvisPreRotation;
40
AtomsCore::Vector3 m_pelvisPostRotation;
41
42
bool m_first;
43
*/
44
45
AtomsGraph::PosePort
* m_inPose;
46
AtomsGraph::BooleanPort
* m_useDirectionFromMetadataPort;
47
AtomsGraph::BooleanPort
* m_useOnlyPositionPort;
48
AtomsGraph::VectorPort
* m_directionPort;
49
50
AtomsCore::Vector3
m_pelvisCacheTranslation;
51
AtomsCore::Vector3
m_pelvisCacheVelocity;
52
AtomsCore::Quaternion
m_pelvisCacheRotation;
53
AtomsCore::Vector3
m_cacheUpVector;
54
AtomsCore::Vector3
m_cacheDirectionVector;
55
56
AtomsCore::Quaternion
m_upDirRotation;
57
AtomsCore::Vector3
m_previousDirection;
58
59
bool
m_first;
60
61
public
:
62
63
static
const
std::string particleOpCacheDirKey;
64
static
const
std::string particleOpCacheUpKey;
65
};
66
}
Atoms::Operator
Operator node.
Definition:
Operator.h:26
Atoms::ParticleOperator
Definition:
ParticleOperator.h:19
Atoms::ParticleOperator::compute
bool compute(const AtomsGraph::ComputeData *computeData)
Compute function.
Atoms::ParticleOperator::reset
void reset()
Operator reset function.
AtomsGraph::ComputeData
Definition:
Node.h:21
AtomsGraph::PortTemplate
Generic node port class.
Definition:
PortTemplate.h:24
AtomsCore::Quaternion
AtomsMath::Quaternion Quaternion
Quaternion class.
Definition:
AtomsMath.h:67
AtomsCore::Vector3
AtomsMath::Vector3 Vector3
Vector3 class.
Definition:
AtomsMath.h:57
Atoms
Atoms namespace.
Definition:
Agent.h:29
Atoms
Public
Atoms
Graph
Operators
ParticleOperator.h