Files
fs2open.github.com/code/particle/hosts/EffectHostVector.h
BMagnu 23dc22e172 Unify Particle Attachment (#6571)
* Fix incorrect ship legacy particle curve assignment

* Setup trigger radius

* Properly attach particle sources to objects and subobjects

* Add trigger velocity for weapon impacts

* Onetime particle source timing fix

* Warnings

* Allow global_to_local to work with no submodel

* Allow global_to_local to work with no submodel, again
2025-02-03 22:14:19 +01:00

29 lines
834 B
C++

#pragma once
#include "particle/EffectHost.h"
#include "math/vecmat.h"
#include <optional>
class EffectHostVector : public EffectHost {
vec3d m_position;
matrix m_orientation;
vec3d m_velocity;
std::optional<float> m_velocityMagnitudeOverride;
std::optional<float> m_radius;
public:
EffectHostVector(vec3d position, matrix orientation, vec3d velocity, matrix orientationOverride = vmd_identity_matrix, bool orientationOverrideRelative = true);
std::pair<vec3d, matrix> getPositionAndOrientation(bool relativeToParent, float interp, const std::optional<vec3d>& tabled_offset) const override;
vec3d getVelocity() const override;
float getVelocityMagnitude() const override;
float getHostRadius() const override;
void setVelocityMagnitudeOverride(float velocityMagnitudeOverride);
void setRadius(float radius);
};