blender/intern/itasc/FixedObject.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

46 lines
1010 B
C++

/*
* FixedObject.h
*
* Created on: Feb 10, 2009
* Author: benoitbolsee
*/
#ifndef FIXEDOBJECT_HPP_
#define FIXEDOBJECT_HPP_
#include "UncontrolledObject.hpp"
#include <vector>
namespace iTaSC{
class FixedObject: public UncontrolledObject {
public:
FixedObject();
virtual ~FixedObject();
int addFrame(const std::string& name, const Frame& frame);
virtual void updateCoordinates(const struct EvaluationContext *eval_ctx, const Timestamp& timestamp) {};
virtual int addEndEffector(const std::string& name);
virtual bool finalize();
virtual const Frame& getPose(const unsigned int frameIndex);
virtual void updateKinematics(const Timestamp& timestamp) {};
virtual void pushCache(const Timestamp& timestamp) {};
virtual void initCache(Cache *_cache) {};
protected:
virtual void updateJacobian() {}
private:
typedef std::vector<std::pair<std::string, Frame> > FrameList;
bool m_finalized;
unsigned int m_nframe;
FrameList m_frameArray;
};
}
#endif /* FIXEDOBJECT_H_ */