Skip to content
Snippets Groups Projects
Commit 0d7a383a authored by Mathieu Geisert (old)'s avatar Mathieu Geisert (old)
Browse files

add LeafNodeFace.

parent d3d69fb6
No related branches found
No related tags found
No related merge requests found
......@@ -42,7 +42,10 @@ typedef double Color [4];
//boolean addSphere(in string sphereName, in float radius) ;
boolean addSphere(in string sphereName, in float radius, in Color RGBAcolor) ;
boolean addLine(in string lineName, in Position pos1, in Position pos2, in Color RGBAColor) ;
boolean addLine(in string lineName, in Position pos1, in Position pos2, in Color RGBAcolor) ;
boolean addSquareFace(in string faceName, in Position pos1, in Position pos2, in Position pos3, in Position pos4, in Color RGBAcolor) ;
boolean addTriangleFace(in string faceName, in Position pos1, in Position pos2, in Position pos3, in Color RGBAcolor) ;
boolean addURDF(in string urdfName, in string urdfPath, in string urdfPackage) ;
......
......@@ -423,6 +423,43 @@ bool GraphicalInterface::addLine(const char* lineNameCorba, const double* posCor
}
}
bool GraphicalInterface::addTriangleFace(const char* faceNameCorba, const double* posCorba1, const double* posCorba2, const double* posCorba3, const double* colorCorba)
{
std::string faceName(faceNameCorba);
if (nodes_.find(faceName) != nodes_.end()) {
std::cout << "You need to chose an other name, \"" << faceName << "\" already exist." << std::endl;
return false;
}
else {
osgVector3 pos1(posCorba1[0], posCorba1[1], posCorba1[2]);
osgVector3 pos2(posCorba2[0], posCorba2[1], posCorba2[2]);
osgVector3 pos3(posCorba3[0], posCorba3[1], posCorba3[2]);
LeafNodeFacePtr_t face = LeafNodeFace::create(faceName, pos1, pos2, pos3, getColor(colorCorba));
GraphicalInterface::initParent(faceName, face);
addNode(faceName, face);
return true;
}
}
bool GraphicalInterface::addSquareFace(const char* faceNameCorba, const double* posCorba1, const double* posCorba2, const double* posCorba3, const double* posCorba4, const double* colorCorba)
{
std::string faceName(faceNameCorba);
if (nodes_.find(faceName) != nodes_.end()) {
std::cout << "You need to chose an other name, \"" << faceName << "\" already exist." << std::endl;
return false;
}
else {
osgVector3 pos1(posCorba1[0], posCorba1[1], posCorba1[2]);
osgVector3 pos2(posCorba2[0], posCorba2[1], posCorba2[2]);
osgVector3 pos3(posCorba3[0], posCorba3[1], posCorba3[2]);
osgVector3 pos4(posCorba4[0], posCorba4[1], posCorba4[2]);
LeafNodeFacePtr_t face = LeafNodeFace::create(faceName, pos1, pos2, pos3, pos3, getColor(colorCorba));
GraphicalInterface::initParent(faceName, face);
addNode(faceName, face);
return true;
}
}
void GraphicalInterface::getNodeList()
{
std::cout << "List of Nodes :" << std::endl;
......
......@@ -21,6 +21,7 @@
#include <Graphics/LeafNodeCone.h>
#include <Graphics/LeafNodeCylinder.h>
#include <Graphics/LeafNodeLine.h>
#include <Graphics/LeafNodeFace.h>
#include <Graphics/LeafNodeSphere.h>
#include <Graphics/macros.h>
#include <Graphics/config.h>
......@@ -106,6 +107,9 @@ public:
virtual bool addLine(const char* lineName, const double* pos1, const double* pos2, const double* color);
virtual bool addSquareFace(const char* faceName, const double* pos1, const double* pos2, const double* pos3, const double* pos4, const double* color);
virtual bool addTriangleFace(const char* faceName, const double* pos1, const double* pos2, const double* pos3, const double* color);
virtual bool addURDF(const char* urdfNameCorba, const char* urdfPathCorba, const char* urdfPackagePathCorba);
virtual bool createGroup(const char* groupNameCorba) ;
......
......@@ -164,6 +164,16 @@ bool ClientCpp::addLine(const char* lineName, const double* pos1, const double*
return manager_->addLine(lineName, pos1, pos2, color);
}
bool ClientCpp::addTriangleFace(const char* faceName, const double* pos1, const double* pos2, const double* pos3, const double* color)
{
return manager_->addTriangleFace(faceName, pos1, pos2, pos3, color);
}
bool ClientCpp::addSquareFace(const char* faceName, const double* pos1, const double* pos2, const double* pos3, const double* pos4, const double* color)
{
return manager_->addSquareFace(faceName, pos1, pos2, pos3, pos4, color);
}
bool ClientCpp::addURDF(const char* urdfName, const char* urdfPath, const char* urdfPackagePath)
{
return manager_->addURDF(urdfName, urdfPath, urdfPackagePath);
......
......@@ -69,6 +69,9 @@ public:
bool addLine(const char* lineName, const double* pos1, const double* pos2, const double* color);
bool addTriangleFace(const char* lineName, const double* pos1, const double* pos2, const double* pos3, const double* color);
bool addSquareFace(const char* lineName, const double* pos1, const double* pos2, const double* pos3, const double* pos4, const double* color);
bool addURDF(const char* urdfName, const char* urdfPath, const char* urdfPackagePath);
bool createGroup(const char* groupName) ;
......
......@@ -27,6 +27,16 @@ int main(int argc, const char * argv[])
client.addSceneToWindow("scene1","window1");
client.addURDF("scene1/hrp2", "/local/mgeisert/devel/src/hrp2/hrp2_14_description/urdf/hrp2_14_capsule.urdf", "/local/mgeisert/devel/src/hrp2/");
sleep(5);
//vector<double> tri01 (3);
double pos1[3]= {1.,0.,0.};
double pos2[3] = {0.,1.,0.};
double pos3[3]= {0.,1.,1.};
double color[4] = {1.,1.,1.,1.};
client.addTriangleFace("scene1/triangle", pos1, pos2, pos3, color);
sleep(15);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment