123456789101112131415161718192021222324252627282930 |
- #include <Eigen/Core>
- #include <iostream>
- class MyVectorType : public Eigen::VectorXd
- {
- public:
- MyVectorType(void):Eigen::VectorXd() {}
- // This constructor allows you to construct MyVectorType from Eigen expressions
- template<typename OtherDerived>
- MyVectorType(const Eigen::MatrixBase<OtherDerived>& other)
- : Eigen::VectorXd(other)
- { }
- // This method allows you to assign Eigen expressions to MyVectorType
- template<typename OtherDerived>
- MyVectorType& operator=(const Eigen::MatrixBase <OtherDerived>& other)
- {
- this->Eigen::VectorXd::operator=(other);
- return *this;
- }
- };
- int main()
- {
- MyVectorType v = MyVectorType::Ones(4);
- v(2) += 10;
- v = 2 * v;
- std::cout << v.transpose() << std::endl;
- }
|