blender/intern/itasc/UncontrolledObject.hpp
Campbell Barton 1b462e5a51 Pass EvaluationContext instead of bContext
2.8x branch added bContext arg in many places,
pass eval-context instead since its not simple to reason about what
what nested functions do when they can access and change almost anything.

Also use const to prevent unexpected modifications.

This fixes crash loading files with shadows,
since off-screen buffers use a NULL context for rendering.
2017-08-16 12:46:04 +10:00

41 lines
919 B
C++

/*
* UncontrolledObject.h
*
* Created on: Jan 5, 2009
* Author: rubensmits
*/
#ifndef UNCONTROLLEDOBJECT_HPP_
#define UNCONTROLLEDOBJECT_HPP_
#include "eigen_types.hpp"
#include "Object.hpp"
struct EvaluationContext;
namespace iTaSC{
class UncontrolledObject: public Object {
protected:
unsigned int m_nu, m_nf;
e_vector m_xudot;
std::vector<e_matrix> m_JuArray;
public:
UncontrolledObject();
virtual ~UncontrolledObject();
virtual void initialize(unsigned int _nu, unsigned int _nf);
virtual const e_matrix& getJu(unsigned int frameIndex) const;
virtual const e_vector& getXudot() const {return m_xudot;}
virtual void updateCoordinates(const struct EvaluationContext *eval_ctx, const Timestamp& timestamp)=0;
virtual const unsigned int getNrOfCoordinates(){return m_nu;};
virtual const unsigned int getNrOfFrames(){return m_nf;};
};
}
#endif /* UNCONTROLLEDOBJECT_H_ */