27 #ifndef JACOBIAN_WORKSPACE_H 28 #define JACOBIAN_WORKSPACE_H 31 #include <Eigen/StdVector> 40 struct OptimizableGraph;
53 typedef std::vector<Eigen::VectorXd, Eigen::aligned_allocator<Eigen::VectorXd> >
WorkspaceVector;
77 void updateSize(
int numVertices,
int dimension);
84 assert(vertexIndex >= 0 && (
size_t)vertexIndex <
_workspace.size() &&
"Index out of bounds");
int _maxDimension
the maximum dimension (number of elements) for a Jacobian
double * workspaceForVertex(int vertexIndex)
void updateSize(const HyperGraph::Edge *e)
WorkspaceVector _workspace
the memory pre-allocated for computing the Jacobians
std::vector< Eigen::VectorXd, Eigen::aligned_allocator< Eigen::VectorXd > > WorkspaceVector
int _maxNumVertices
the maximum number of vertices connected by a hyper-edge
provide memory workspace for computing the Jacobians