Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aspects, States, and Properties #659

Merged
merged 78 commits into from
Apr 22, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
09feabf
moved SoftBodyNode properties into an Addon
mxgrey Mar 18, 2016
4d4f84c
working on making sure that auto-updating works correctly for SoftBod…
mxgrey Mar 18, 2016
c341b97
corrected the way states and properties are managed for SoftBodyNode
mxgrey Mar 21, 2016
f9bce3b
Successfully recording SoftBodyNode states via Configuration plus Add…
mxgrey Mar 21, 2016
b392be2
Merge branch 'grey/multidofjointaddon' into grey/states
mxgrey Mar 28, 2016
733f219
Renamed Addon to Aspect and AddonManager to Composite
mxgrey Mar 28, 2016
7b5abbb
more renaming
mxgrey Mar 28, 2016
96cf10f
renamed testAddon.cpp to testAspect.cpp
mxgrey Mar 28, 2016
c7bf610
renamed Composite member function names
mxgrey Mar 28, 2016
29c7d68
renamed mgr to comp to reflect change of class names
mxgrey Mar 28, 2016
8e7cd2d
beginning implementation of EmbeddedAspect
mxgrey Mar 28, 2016
fb05138
update name of CollisionAddon
mxgrey Mar 28, 2016
aa068c0
continuing EmbeddedAspect implementation
mxgrey Mar 28, 2016
bfc05a6
Merged default argument change
mxgrey Mar 28, 2016
f5a1a0b
implementing EmbeddedAspects -- need to fix template error
mxgrey Mar 29, 2016
0c11c9b
finished implementation of embedded aspects -- needs testing
mxgrey Mar 29, 2016
233454e
finished implementation of embedded aspects and created tests
mxgrey Mar 29, 2016
b7c20dc
implemented embedded aspect inheritance and created tests for it
mxgrey Mar 29, 2016
9da9949
using embedded aspect for Joint properties
mxgrey Mar 30, 2016
2a30fde
fixed bug in sub_ptr implementation
mxgrey Mar 30, 2016
75dff54
finished integrating embedded Aspects into all SingleDofJoints
mxgrey Mar 30, 2016
b6cd782
creating tests to ensure structural updates happen correctly
mxgrey Mar 30, 2016
8cff9c0
finished embedding aspect into MultiDofJoint
mxgrey Mar 30, 2016
b63c8ff
finished embedding aspects into all MultiDofJoint types
mxgrey Mar 30, 2016
2c387fa
greatly improved constructor flexibility for EmbeddedAspects
mxgrey Apr 1, 2016
83947d3
complying with clang standards
mxgrey Apr 1, 2016
d7d2363
embedding Soft Properties and State -- clang is erroring
mxgrey Apr 1, 2016
3ab4477
identified and fixed the issue that clang was having
mxgrey Apr 1, 2016
275c07b
using embedded aspect state for BodyNode
mxgrey Apr 2, 2016
6343eb3
renaming Extensible to Cloneable
mxgrey Apr 2, 2016
402f8f4
refactoring name out of Entity
mxgrey Apr 2, 2016
2566ff8
adding proxy aspects for Nodes
mxgrey Apr 4, 2016
c9ed074
finished implementing node proxy aspects -- needs testing
mxgrey Apr 4, 2016
7b60b84
converting all objects to be compositions of Aspects
mxgrey Apr 5, 2016
bcec8af
eliminating duplication of code
mxgrey Apr 6, 2016
02d1ba5
cleaned up implementations of Nodes
mxgrey Apr 6, 2016
c5d9375
embedded state aspect into MultiDofJoint
mxgrey Apr 6, 2016
62c2a35
renamed headers for consistency
mxgrey Apr 6, 2016
14c89d5
enhancing features of Composite State and Properties
mxgrey Apr 6, 2016
6be4124
made Composite States and Properties more accessible to the user
mxgrey Apr 7, 2016
870337c
Merge branch 'grey/aspects' of https://github.com/dartsim/dart into g…
mxgrey Apr 7, 2016
b44d428
final structural changes for major release
mxgrey Apr 8, 2016
d60ce30
Merging in latest master
mxgrey Apr 8, 2016
16eec96
add Eigen alignment and virtual destructors wherever they are missing
mxgrey Apr 10, 2016
11b85b3
rename header file for consistency
mxgrey Apr 10, 2016
118a723
Add Eigen alignment to VisualAspect
jslee02 Apr 11, 2016
5b1d82d
merged in collision changes
mxgrey Apr 13, 2016
1114b10
merged component repackaging and fixed ipopt issue
mxgrey Apr 13, 2016
e174114
rename osgDart --> gui::osg
mxgrey Apr 13, 2016
a405a0d
Merge branch 'bugfix/clone_collision_detector' into grey/merge/aspects
mxgrey Apr 13, 2016
5c0c0f8
Merge branch 'ik_description' into grey/merge/aspects
mxgrey Apr 13, 2016
b3c131f
Change manager --> composite
jslee02 Apr 14, 2016
e621f51
Change extensible --> cloneable
jslee02 Apr 15, 2016
fe60a44
Fix compilation error due to the last commit
jslee02 Apr 15, 2016
a4af75c
renamed eraseAspect --> removeAspect and moved type<T> to Specialized…
mxgrey Apr 15, 2016
281785a
merged in latest packaging/components
mxgrey Apr 15, 2016
863e0c5
merged in latest CollisionResult changes
mxgrey Apr 15, 2016
ec1b27a
making mIsColliding deprecated again
mxgrey Apr 15, 2016
33db6c2
removed outdated header inclusions
mxgrey Apr 15, 2016
81a3451
Merge branch 'ik_description' into grey/merge/aspects
mxgrey Apr 16, 2016
1f487a6
Merge branch 'master' into grey/merge/aspects
mxgrey Apr 16, 2016
a97e6dd
merged in all remaining pull requests
mxgrey Apr 16, 2016
23ae8b8
Merge branch 'grey/merge/aspects' into grey/aspects
mxgrey Apr 16, 2016
2c7b24b
Merge remote-tracking branch 'origin/master' into grey/aspects
jslee02 Apr 16, 2016
eb189a8
Replace static_if_else with std::conditional
mxgrey Apr 18, 2016
401bd26
Changed enumeration tag convention from *_t to *Tag
mxgrey Apr 18, 2016
93436e8
Update testAspect.cpp
jslee02 Apr 21, 2016
5189938
Made changes based on Reviewable discussion
mxgrey Apr 21, 2016
89843ec
Merge branch 'grey/aspects' of https://github.com/dartsim/dart into g…
mxgrey Apr 21, 2016
2e5f422
Mark oldComposite as unused to suppress warnings
mxgrey Apr 21, 2016
e00ffec
Making header guards match file names
mxgrey Apr 21, 2016
a15b9c3
Bring back transform verification
mxgrey Apr 21, 2016
6acb693
Moved detail-classes into the detail directory
mxgrey Apr 21, 2016
e5e808a
Code quality cleanup based on Reviewable comments
mxgrey Apr 21, 2016
1f3ddc2
Fix headerguard of JointAspect.h
jslee02 Apr 21, 2016
eb63515
Move detail-typedef into the detail directory
jslee02 Apr 21, 2016
628a273
Remove unnecessary empty line
jslee02 Apr 21, 2016
3f8c8ad
Removing embarrassing hardcoded path names
mxgrey Apr 22, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions apps/addDeleteSkels/MyWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,10 @@ void MyWindow::spawnCube(const Eigen::Vector3d& _position,
= newCubeSkeleton->createJointAndBodyNodePair<dart::dynamics::FreeJoint>(
nullptr, joint, body);
auto shapeNode = pair.second->createShapeNodeWith<
dart::dynamics::VisualAddon,
dart::dynamics::CollisionAddon,
dart::dynamics::DynamicsAddon>(newBoxShape);
shapeNode->getVisualAddon()->setColor(dart::math::randomVector<3>(0.0, 1.0));
dart::dynamics::VisualAspect,
dart::dynamics::CollisionAspect,
dart::dynamics::DynamicsAspect>(newBoxShape);
shapeNode->getVisualAspect()->setColor(dart::math::randomVector<3>(0.0, 1.0));

mWorld->addSkeleton(newCubeSkeleton);
}
5 changes: 3 additions & 2 deletions apps/atlasSimbicon/Controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ Controller::Controller(SkeletonPtr _atlasRobot,
// harnessLeftFoot();
// harnessRightFoot();

mInitialState = mAtlasRobot->getState();
mInitialState = mAtlasRobot->getConfiguration(
Skeleton::CONFIG_POSITIONS | Skeleton::CONFIG_VELOCITIES);
}

//==============================================================================
Expand Down Expand Up @@ -304,7 +305,7 @@ void Controller::unharnessRightFoot()
//==============================================================================
void Controller::resetRobot()
{
mAtlasRobot->setState(mInitialState);
mAtlasRobot->setConfiguration(mInitialState);

dtmsg << "Robot is reset." << std::endl;
}
Expand Down
2 changes: 1 addition & 1 deletion apps/atlasSimbicon/Controller.h
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ class Controller
dart::constraint::WeldJointConstraintPtr mWeldJointConstraintRightFoot;

/// \brief Initial state of the robot
Eigen::VectorXd mInitialState;
dart::dynamics::Skeleton::Configuration mInitialState;
};

#endif // APPS_ATLASROBOT_CONTROLLER_H_
18 changes: 9 additions & 9 deletions apps/hardcodedDesign/Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ int main(int argc, char* argv[]) {
LeftLegSkel->createJointAndBodyNodePair<dart::dynamics::RevoluteJoint>(
nullptr, joint, body);
pair.second->createShapeNodeWith<
dart::dynamics::VisualAddon,
dart::dynamics::CollisionAddon,
dart::dynamics::DynamicsAddon>(shape);
dart::dynamics::VisualAspect,
dart::dynamics::CollisionAspect,
dart::dynamics::DynamicsAspect>(shape);
dart::dynamics::BodyNode* parent = pair.second;

// BodyNode 2: Left Hip Roll (LHR) whose parent is: LHY
Expand All @@ -93,9 +93,9 @@ int main(int argc, char* argv[]) {
parent, joint, body);
pair1.first->setAxis(Eigen::Vector3d(1.0, 0.0, 0.0));
auto shapeNode1 = pair1.second->createShapeNodeWith<
dart::dynamics::VisualAddon,
dart::dynamics::CollisionAddon,
dart::dynamics::DynamicsAddon>(shape);
dart::dynamics::VisualAspect,
dart::dynamics::CollisionAspect,
dart::dynamics::DynamicsAspect>(shape);
shapeNode1->setRelativeTranslation(Eigen::Vector3d(0.0, 0.0, 0.5));
pair1.second->setLocalCOM(shapeNode1->getRelativeTranslation());
pair1.second->setMass(mass);
Expand All @@ -115,9 +115,9 @@ int main(int argc, char* argv[]) {
LeftLegSkel->createJointAndBodyNodePair<dart::dynamics::RevoluteJoint>(
LeftLegSkel->getBodyNode(1), joint, body);
auto shapeNode2 = pair2.second->createShapeNodeWith<
dart::dynamics::VisualAddon,
dart::dynamics::CollisionAddon,
dart::dynamics::DynamicsAddon>(shape);
dart::dynamics::VisualAspect,
dart::dynamics::CollisionAspect,
dart::dynamics::DynamicsAspect>(shape);
shapeNode2->setRelativeTranslation(Eigen::Vector3d(0.0, 0.0, 0.5));
pair2.second->setLocalCOM(shapeNode2->getRelativeTranslation());
pair2.second->setMass(mass);
Expand Down
4 changes: 2 additions & 2 deletions apps/rigidLoop/Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ int main(int argc, char* argv[])
// create a ball joint constraint
BodyNode* bd1 = myWorld->getSkeleton(0)->getBodyNode("link 6");
BodyNode* bd2 = myWorld->getSkeleton(0)->getBodyNode("link 10");
bd1->getShapeNode(0)->getVisualAddon()->setColor(Eigen::Vector3d(1.0, 0.0, 0.0));
bd2->getShapeNode(0)->getVisualAddon()->setColor(Eigen::Vector3d(1.0, 0.0, 0.0));
bd1->getShapeNode(0)->getVisualAspect()->setColor(Eigen::Vector3d(1.0, 0.0, 0.0));
bd2->getShapeNode(0)->getVisualAspect()->setColor(Eigen::Vector3d(1.0, 0.0, 0.0));
Eigen::Vector3d offset(0.0, 0.025, 0.0);
Eigen::Vector3d jointPos = bd1->getTransform() * offset;
BallJointConstraintPtr cl =
Expand Down
24 changes: 12 additions & 12 deletions apps/rigidShapes/MyWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,10 @@ void MyWindow::spawnBox(const Eigen::Isometry3d& _T,
auto pair = newSkeleton->createJointAndBodyNodePair<dynamics::FreeJoint>(
nullptr, jointProp, bodyProp);
auto shapeNode = pair.second->createShapeNodeWith<
dynamics::VisualAddon,
dynamics::CollisionAddon,
dynamics::DynamicsAddon>(newShape);
shapeNode->getVisualAddon()->setColor(math::randomVector<3>(0.0, 1.0));
dynamics::VisualAspect,
dynamics::CollisionAspect,
dynamics::DynamicsAspect>(newShape);
shapeNode->getVisualAspect()->setColor(math::randomVector<3>(0.0, 1.0));

mWorld->addSkeleton(newSkeleton);
}
Expand All @@ -215,10 +215,10 @@ void MyWindow::spawnEllipsoid(const Eigen::Isometry3d& _T,
auto pair = newSkeleton->createJointAndBodyNodePair<dynamics::FreeJoint>(
nullptr, jointProp, bodyProp);
auto shapeNode = pair.second->createShapeNodeWith<
dynamics::VisualAddon,
dynamics::CollisionAddon,
dynamics::DynamicsAddon>(newShape);
shapeNode->getVisualAddon()->setColor(math::randomVector<3>(0.0, 1.0));
dynamics::VisualAspect,
dynamics::CollisionAspect,
dynamics::DynamicsAspect>(newShape);
shapeNode->getVisualAspect()->setColor(math::randomVector<3>(0.0, 1.0));

mWorld->addSkeleton(newSkeleton);
}
Expand All @@ -244,10 +244,10 @@ void MyWindow::spawnCylinder(const Eigen::Isometry3d& _T,
auto pair = newSkeleton->createJointAndBodyNodePair<dynamics::FreeJoint>(
nullptr, jointProp, bodyProp);
auto shapeNode = pair.second->createShapeNodeWith<
dynamics::VisualAddon,
dynamics::CollisionAddon,
dynamics::DynamicsAddon>(newShape);
shapeNode->getVisualAddon()->setColor(math::randomVector<3>(0.0, 1.0));
dynamics::VisualAspect,
dynamics::CollisionAspect,
dynamics::DynamicsAspect>(newShape);
shapeNode->getVisualAspect()->setColor(math::randomVector<3>(0.0, 1.0));

mWorld->addSkeleton(newSkeleton);
}
Expand Down
4 changes: 2 additions & 2 deletions apps/softBodies/Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ int main(int argc, char* argv[])
{
dart::dynamics::BodyNode* bn = skel->getBodyNode(j);
Eigen::Vector3d color = dart::Color::Random();
auto shapeNodes = bn->getShapeNodesWith<dart::dynamics::VisualAddon>();
auto shapeNodes = bn->getShapeNodesWith<dart::dynamics::VisualAspect>();
for(auto shapeNode : shapeNodes)
shapeNode->getVisualAddon(true)->setColor(color);
shapeNode->getVisualAspect(true)->setColor(color);
}
}

Expand Down
4 changes: 2 additions & 2 deletions dart/collision/detail/CollisionGroup.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ void CollisionGroup::addShapeFramesOf(
assert(bodyNode);

auto collisionShapeNodes
= bodyNode->getShapeNodesWith<dynamics::CollisionAddon>();
= bodyNode->getShapeNodesWith<dynamics::CollisionAspect>();

for (auto& shapeNode : collisionShapeNodes)
addShapeFrame(shapeNode);
Expand Down Expand Up @@ -163,7 +163,7 @@ void CollisionGroup::removeShapeFramesOf(
assert(bodyNode);

auto collisionShapeNodes
= bodyNode->getShapeNodesWith<dynamics::CollisionAddon>();
= bodyNode->getShapeNodesWith<dynamics::CollisionAspect>();

for (auto& shapeNode : collisionShapeNodes)
removeShapeFrame(shapeNode);
Expand Down
Loading