How do I get the configuration of another node in Nvidia Isaac?

38 views Asked by At

https://docs.nvidia.com/isaac/isaac/doc/doc/component_api.html#isaac-map-map states:

This component is used to mark a node as a map and gives convenient access to the various map layers and also some cross-layer functionality.

But it is not documented anywhere how to do that. In my case, I just want to know the defined waypoints in the WaypointMapLayer.

How do I do this specifically and in general? The documentation seems to be really missing a lot of such details or examples still.

1

There are 1 answers

0
Christian Fritz On

After a long search, mostly through existing header files in the SDK, I found my way up through Codelet, Component::Node, to Application. The Application class has methods for finding arbitrary nodes in the application graph, specifically one can use:

getNodeByName(const std::string& name) const;

In my case, I was able to call this in my components start method:

// get the map node:
isaac::alice::Node* map = node()->app()->getNodeByName("map");
// within that node, get the WaypointMapLayer component:
isaac::map::WaypointMapLayer* comp = map->getComponent<isaac::map::WaypointMapLayer>();
// get the configuration parameter we want:
waypoints = comp->get_waypoints();