7 #ifndef CNOID_UTIL_DAE_NODE_H_INCLUDED 8 #define CNOID_UTIL_DAE_NODE_H_INCLUDED 11 #include <cnoid/EigenTypes> 12 #include <boost/shared_ptr.hpp> 43 DaeTexture(std::string targetName) : fileName_(targetName) {}
62 center (
Vector3(0.0, 0.0, 0.0)),
69 if (affine)
delete affine;
70 if (matrix)
delete matrix;
82 #ifdef _INVALID_VERSION 99 emission (
Vector3(0.0, 0.0, 0.0)),
101 diffuse (
Vector3(1.0, 1.0, 1.0)),
102 specular (
Vector3(0.0, 0.0, 0.0)),
208 typedef std::map<std::string, DaeNodePtr>
DaeNodes;
209 typedef std::vector< std::pair<std::string, DaeNodePtr> >
DaeNodeStack;
237 void addChild(DaeNodePtr node);
283 return (box.presence || sphere.presence || cylinder.presence || cone.presence || polygon.presence);
289 box.halfExtents = ext;
293 sphere.presence =
true;
294 sphere.radius = radius;
298 cylinder.presence =
true;
299 cylinder.height = height;
300 cylinder.radius = radius;
304 cone.presence =
true;
305 cone.height = height;
306 cone.radius1 = radius1;
307 cone.radius2 = radius2;
311 polygon.presence =
true;
312 polygon.geometry = geometry;
315 box.presence =
false;
316 sphere.presence =
false;
317 cylinder.presence =
false;
318 cone.presence =
false;
319 polygon.presence =
false;
353 inertia(
Vector3(0.0, 0.0, 0.0)) {}
398 nominalVoltage (0.0),
401 speedTorqueGradient(0.0),
402 startingCurrent (0.0),
403 terminalResistance (0.0),
404 torqueConstant (1.0) {}
431 intrinsic (VectorXd::Zero(6)),
432 imageDimensions(VectorXd::Zero(3)),
433 measurementTime(0.0) {}
496 typedef std::map<std::string, DaeLinkPtr>
DaeLinks;
std::vector< Vector3 > Vector3s
Definition: DaeNode.h:52
std::map< std::string, DaeNodePtr > DaeNodes
Definition: DaeNode.h:208
std::string refName
Definition: DaeNode.h:225
Sphere sphere
Definition: DaeNode.h:325
bool presence
Definition: DaeNode.h:277
Eigen::AngleAxisd AngleAxis
Definition: EigenTypes.h:66
Definition: DaeNode.h:252
Cylinder cylinder
Definition: DaeNode.h:326
double height
Definition: DaeNode.h:265
DaeRevolute()
Definition: DaeNode.h:371
boost::shared_ptr< DaeResultSensors > DaeResultSensorsPtr
Definition: DaeNode.h:444
ref_ptr< DaeActuator > DaeActuatorPtr
Definition: DaeNode.h:418
It will hold the information of SgMaterial for 3D shape model.
Definition: DaeNode.h:125
Cone cone
Definition: DaeNode.h:327
std::string refMaterialId
Definition: DaeNode.h:199
ref_ptr< DaeTransform > DaeTransformPtr
Definition: DaeNode.h:88
ref_ptr< DaeTexture > DaeTexturePtr
Definition: DaeNode.h:50
DaeSensor()
Definition: DaeNode.h:429
double terminalResistance
Definition: DaeNode.h:415
std::map< std::string, DaeEffectPtr > DaeEffects
Definition: DaeNode.h:119
DaeVectorXArrayPtr vcount
Definition: DaeNode.h:173
std::vector< std::string > DaeJointChildren
Definition: DaeNode.h:385
DaeLink()
Definition: DaeNode.h:484
It will hold the information of SgTexture for 3D shape model.
Definition: DaeNode.h:40
It will hold the information for Kinematics.
Definition: DaeNode.h:426
Eigen::Matrix4d Matrix4
Definition: EigenTypes.h:60
double transparency
Definition: DaeNode.h:116
ref_ptr< DaeShape > DaeShapePtr
Definition: DaeNode.h:332
std::string refImageId
Definition: DaeNode.h:108
double focalLength
Definition: DaeNode.h:436
std::string name
Definition: DaeNode.h:486
This is the base class of the dae parser. (In order to share a pointer for all bjects) ...
Definition: DaeNode.h:26
double torqueConstant
Definition: DaeNode.h:416
DaeVectorXArrayPtr normals
Definition: DaeNode.h:176
Polygon polygon
Definition: DaeNode.h:328
DaeNodes children
Definition: DaeNode.h:231
std::string bindActuator
Definition: DaeNode.h:458
Vector3 specular
Definition: DaeNode.h:114
ref_ptr< DaeRigid > DaeRigidPtr
Definition: DaeNode.h:361
ref_ptr< DaeNode > DaeNodePtr
Definition: DaeNode.h:206
It will hold the information of SgGeometry for 3D shape model.
Definition: DaeNode.h:192
DaeMaterial()
Definition: DaeNode.h:128
bool presence
Definition: DaeNode.h:264
int type
Definition: DaeNode.h:232
ref_ptr< DaeLink > DaeLinkPtr
Definition: DaeNode.h:495
void setPolygon(DaeGeometryPtr geometry)
Definition: DaeNode.h:309
std::string geometryId
Definition: DaeNode.h:198
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Definition: DaeNode.h:247
Definition: DaeNode.h:262
void format()
Definition: DaeNode.h:314
ref_ptr< DaeJoint > DaeJointPtr
Definition: DaeNode.h:520
DaeMesh()
Definition: DaeNode.h:145
std::string refEffectId
Definition: DaeNode.h:132
Eigen::Affine3d Affine3
Definition: EigenTypes.h:64
DaeNodeStack stack
Definition: DaeNode.h:230
ref_ptr< DaeGeometry > DaeGeometryPtr
Definition: DaeNode.h:203
std::string fileName_
Definition: DaeNode.h:47
It will hold the information for Kinematics.
Definition: DaeNode.h:466
std::map< std::string, std::string > DaeActuatorRelations
Definition: DaeNode.h:420
Definition: Referenced.h:67
Box box
Definition: DaeNode.h:324
bool presence
Definition: DaeNode.h:254
DaeTexture(std::string targetName)
Definition: DaeNode.h:43
double nominalVoltage
Definition: DaeNode.h:410
Vector3 inertia
Definition: DaeNode.h:356
std::map< std::string, DaeRevolutePtr > DaeRevolutes
Definition: DaeNode.h:381
It will hold the information of primitive figure for physics.
Definition: DaeNode.h:339
std::string name
Definition: DaeNode.h:223
double mass
Definition: DaeNode.h:355
ref_ptr< DaeMaterial > DaeMaterialPtr
Definition: DaeNode.h:134
double measurementTime
Definition: DaeNode.h:439
std::map< std::string, DaeSensorPtr > DaeSensors
Definition: DaeNode.h:442
DaeVectorXArrayPtr texcoords
Definition: DaeNode.h:178
It will hold the information for Kinematics.
Definition: DaeNode.h:451
boost::shared_ptr< DaeVectorXArray > DaeVectorXArrayPtr
Definition: DaeNode.h:20
void setCone(double height, const Vector2 &radius1, const Vector2 &radius2)
Definition: DaeNode.h:302
std::string fileName()
Definition: DaeNode.h:44
DaeAttachSensor()
Definition: DaeNode.h:469
std::map< std::string, std::string > DaeRigidRelations
Definition: DaeNode.h:363
Definition: Referenced.h:128
std::vector< DaeRevolutePtr > DaeRevoluteChildren
Definition: DaeNode.h:382
VectorXd intrinsic
Definition: DaeNode.h:437
DaeVectorXArrayPtr colorsIndexes
Definition: DaeNode.h:182
std::map< std::string, std::string > DaeMaterialRef
Definition: DaeNode.h:136
It will hold the information of primitive figure for physics.
Definition: DaeNode.h:244
It will hold the information for Kinematics.
Definition: DaeNode.h:369
DaeVectorXArrayPtr normalsIndexes
Definition: DaeNode.h:181
Vector2 radius1
Definition: DaeNode.h:272
It will hold the information for Kinematics.
Definition: DaeNode.h:391
DaeShape()
Definition: DaeNode.h:249
DaeGeometry()
Definition: DaeNode.h:195
std::map< std::string, DaeMaterialPtr > DaeMaterials
Definition: DaeNode.h:135
ref_ptr< DaeMesh > DaeMeshPtr
Definition: DaeNode.h:185
DaeRevoluteChildren revolutes
Definition: DaeNode.h:517
double nominalTorque
Definition: DaeNode.h:409
double radius
Definition: DaeNode.h:266
DaeRigid()
Definition: DaeNode.h:352
std::vector< std::pair< std::string, std::string > > DaeSensorRelations
Definition: DaeNode.h:445
DaeNodePtr parent
Definition: DaeNode.h:227
std::vector< DaeShapePtr > DaeShapes
Definition: DaeNode.h:333
double speedTorqueGradient
Definition: DaeNode.h:413
Vector3 diffuse
Definition: DaeNode.h:113
DaeVectorXArrayPtr texcoordsIndexes
Definition: DaeNode.h:183
std::string refColorId
Definition: DaeNode.h:169
std::string effectId
Definition: DaeNode.h:110
std::string materialId
Definition: DaeNode.h:131
std::vector< std::pair< std::string, DaeNodePtr > > DaeNodeStack
Definition: DaeNode.h:209
std::map< std::string, DaeRigidPtr > DaeRigids
Definition: DaeNode.h:362
std::vector< DaeSensor * > DaeResultSensors
Definition: DaeNode.h:443
std::string refVerticesId
Definition: DaeNode.h:167
std::map< std::string, DaeJointPtr > DaeJoints
Definition: DaeNode.h:521
bool isPresence()
Definition: DaeNode.h:281
DaeVectorXArrayPtr colors
Definition: DaeNode.h:177
DaeMeshes meshes
Definition: DaeNode.h:201
std::vector< double > DaeVectorXArray
Definition: DaeNode.h:19
std::string frameOrigin
Definition: DaeNode.h:473
Dae()
Definition: DaeNode.h:29
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
bool presence
Definition: DaeNode.h:270
ref_ptr< DaeRevolute > DaeRevolutePtr
Definition: DaeNode.h:380
ref_ptr< DaeAttachActuator > DaeAttachActuatorPtr
Definition: DaeNode.h:460
DaeVectorXArrayPtr verticesIndexes
Definition: DaeNode.h:180
ref_ptr< DaeMassFrame > DaeMassFramePtr
Definition: DaeNode.h:343
std::string type
Definition: DaeNode.h:435
Vector3 imageDimensions
Definition: DaeNode.h:438
double shininess
Definition: DaeNode.h:115
double maxSpeed
Definition: DaeNode.h:407
Vector3 axis
Definition: DaeNode.h:375
double limitMin
Definition: DaeNode.h:376
DaeGeometries geometries
Definition: DaeNode.h:229
This is the base class of the dae parser.
Definition: DaeNode.h:215
Definition: DaeNode.h:275
DaeEffect()
Definition: DaeNode.h:97
double speedConstant
Definition: DaeNode.h:412
std::string instanceSensor
Definition: DaeNode.h:472
Eigen::Vector2d Vector2
Definition: EigenTypes.h:56
double height
Definition: DaeNode.h:271
std::string instanceActuator
Definition: DaeNode.h:457
DaeJointChildren children
Definition: DaeNode.h:518
Vector3 halfExtents
Definition: DaeNode.h:255
double ambient
Definition: DaeNode.h:112
ref_ptr< DaeSensor > DaeSensorPtr
Definition: DaeNode.h:441
double noLoadSpeed
Definition: DaeNode.h:408
std::string refMaterialId
Definition: DaeNode.h:171
double assignedPowerRating
Definition: DaeNode.h:406
std::map< std::string, DaeActuatorPtr > DaeActuators
Definition: DaeNode.h:419
std::vector< DaeMeshPtr > DaeMeshes
Definition: DaeNode.h:186
std::string refMaterialId
Definition: DaeNode.h:330
std::string refTexcoordId
Definition: DaeNode.h:170
std::vector< std::string > DaeLinkChildren
Definition: DaeNode.h:384
std::map< std::string, DaeVectorXArrayPtr > DaeVectorMap
Definition: DaeNode.h:21
DaeAttachActuator()
Definition: DaeNode.h:454
It will hold the information of SgMaterial for 3D shape model.
Definition: DaeNode.h:94
Eigen::Vector3d Vector3
Definition: EigenTypes.h:58
DaeActuator()
Definition: DaeNode.h:394
It will hold the information of SgGeometry for 3D shape model.
Definition: DaeNode.h:142
It will hold the information of primitive figure for physics.
Definition: DaeNode.h:349
It will hold the information for Kinematics.
Definition: DaeNode.h:502
std::string refNodeId
Definition: DaeNode.h:224
void setCylinder(double height, double radius)
Definition: DaeNode.h:296
DaeJointChildren children
Definition: DaeNode.h:493
DaeTransform transform
Definition: DaeNode.h:228
It will hold the information for Kinematics.
Definition: DaeNode.h:481
std::map< std::string, DaeTexturePtr > DaeTextures
Definition: DaeNode.h:51
void setBox(Vector3 ext)
Definition: DaeNode.h:286
DaeJoint()
Definition: DaeNode.h:505
DaeTransformPtr transform
Definition: DaeNode.h:516
double radius
Definition: DaeNode.h:260
DaeVectorXArrayPtr vertices
Definition: DaeNode.h:175
DaeNode()
Definition: DaeNode.h:218
double limitMax
Definition: DaeNode.h:377
std::string refNormalsId
Definition: DaeNode.h:168
double rotorInertia
Definition: DaeNode.h:411
Vector2 radius2
Definition: DaeNode.h:273
std::string name
Definition: DaeNode.h:512
Definition: DaeNode.h:268
DaeTransform transform
Definition: DaeNode.h:490
DaeMassFramePtr massFrame
Definition: DaeNode.h:359
ref_ptr< DaeEffect > DaeEffectPtr
Definition: DaeNode.h:118
std::map< std::string, DaeLinkPtr > DaeLinks
Definition: DaeNode.h:496
DaeGeometryPtr geometry
Definition: DaeNode.h:278
ref_ptr< DaeAttachSensor > DaeAttachSensorPtr
Definition: DaeNode.h:475
std::map< std::string, DaeGeometryPtr > DaeGeometries
Definition: DaeNode.h:204
double startingCurrent
Definition: DaeNode.h:414
Vector3 emission
Definition: DaeNode.h:111
std::string id
Definition: DaeNode.h:33
DaeShapes shapes
Definition: DaeNode.h:358
bool presence
Definition: DaeNode.h:259
Definition: DaeNode.h:257
void setSphere(double radius)
Definition: DaeNode.h:291