VR-Engage  2.2
Loading...
Searching...
No Matches
vreDiGuyIntrinsicAnimationMap.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreDiGuyIntrinsicAnimationMap.h
7//! \ingroup vreVrfobjcore
8//! \brief Enhanced DiGuy intrinsic animation mapping for VREngage
9//!
10//! This file defines the DtVreDiGuyIntrinsicAnimationMap class, which extends
11//! the base DiGuy animation map to provide improved animation selection logic,
12//! particularly for locomotion animations.
13
14#pragma once
16#include <vrfDiGuy/diGuyIntrinsicAnimationMap.h>
17
18namespace makVre
19{
20//! \brief Enhanced DiGuy intrinsic animation mapping for VREngage
21//!
22//! This class extends the DtDiGuyIntrinsicAnimationMap to prefer locomotion
23//! animations when selecting the best possible match for a given speed, posture,
24//! and demeanor set. It provides improved animation selection logic that results
25//! in more consistent character animations, particularly during movement.
26class VREVRFOBJCORE_DLL DtVreDiGuyIntrinsicAnimationMap : public DtDiGuyIntrinsicAnimationMap
27{
28public:
29 //! \brief Default constructor
30 //!
31 //! Creates a new animation map with default settings.
33
34 //! \brief Constructor with filename
35 //! \param name The filename of the animation data to load
36 //!
37 //! Creates a new animation map and loads animation data from the specified file.
38 DtVreDiGuyIntrinsicAnimationMap(const DtFilename& name);
39
40 //! \brief Copy constructor
41 //! \param orig The source animation map to copy from
42 //!
43 //! Creates a new animation map as a copy of the provided original map.
45
46 //! \brief Assignment operator
47 //! \param orig The source animation map to copy from
48 //! \return Reference to this animation map after assignment
49 //!
50 //! Assigns the contents of the provided animation map to this map.
52
53 //! \brief Virtual destructor
54 //!
55 //! Cleans up resources used by the animation map.
57
58 //! \brief Commented-out override for animation selection logic
59 //!
60 //! This section contains commented-out code that would implement simpler logic
61 //! for matching animations with more consistent matching of posture and less
62 //! emphasis on animation variants. This would address the issue tracked in
63 //! https://jira.mak.com/browse/VRE-3283.
64 //!
65 //! \note This implementation is not currently active because the fix was deemed
66 //! not important enough to risk potential unknown issues from changing the base
67 //! VRF behavior. The code is kept for reference and possible future implementation.
68 //
69 // const DtDiGuyAnimation * findClosestAnimation(DtLifeformStaticPosture posture,
70 // const DtString & demeanor, double speed) const override;
71 //
72 // virtual double findAnimationSpeedScore(double targetSpeed, DtDiGuyAnimationSharedPtr animation) const;
73
74 //! \brief Creates a new instance of the enhanced animation map
75 //! \return Pointer to a newly created DtDiGuyIntrinsicAnimationMap instance
76 //!
77 //! Factory method that creates and returns a new DtVreDiGuyIntrinsicAnimationMap instance.
78 //! This method provides a way to create the VREngage-specific animation map through
79 //! the base class interface.
80 //!
81 //! \note The caller is responsible for deleting the returned object when finished with it.
82 static DtDiGuyIntrinsicAnimationMap* create();
83};
84} // namespace makVre
static DtDiGuyIntrinsicAnimationMap * create()
Commented-out override for animation selection logic.
virtual ~DtVreDiGuyIntrinsicAnimationMap() override
Virtual destructor.
DtVreDiGuyIntrinsicAnimationMap(const DtFilename &name)
Constructor with filename.
DtVreDiGuyIntrinsicAnimationMap()
Default constructor.
DtVreDiGuyIntrinsicAnimationMap(const DtVreDiGuyIntrinsicAnimationMap &orig)
Copy constructor.
DtVreDiGuyIntrinsicAnimationMap & operator=(const DtVreDiGuyIntrinsicAnimationMap &orig)
Assignment operator.
Export macros for the VREngage Object Core library.
#define VREVRFOBJCORE_DLL
Platform-specific DLL export/import declaration.
Definition export.h:27
Include export definitions for this library.
Definition glsVreMessageUtil.h:49