|
| | RtOutput () |
| | Default constructor.
|
| |
| RtOutput & | add (Field field) |
| | Add new field.
|
| |
| template<Field... field> |
| void | build () |
| | Add one or more fields, build a matching data structure.
|
| |
| bool | contains (Field field) const |
| |
| const BinaryOutputBuffer & | getData () override |
| | Synchronizes the data before returning if new data is available.
|
| |
| BinaryOutputBuffer & | getDataUnsafe () |
| | Unsafe data buffer access, use only this if you know the call is being made in context of raytrace and data synchronization.
|
| |
| size_t | getElementSize () const override |
| | "Element size" is the summed data size of the currently added fields.
|
| |
| const std::vector< Field > & | getFields () const |
| |
| size_t | getOffset (Field field) const |
| | Offset in bytes of field in the pack of fields.
|
| |
| const BinaryOutputBuffer & | getSynchronizedData () |
| | Synchronizes the data before returning if new data is available.
|
| |
| bool | hasUnreadData (bool markAsRead=true) override |
| |
| template<typename T > |
| BinaryOutputView< T > | viewUnsafe () const |
| | Similar to view() but without data synchronization, this is the current data available.
|
| |
| virtual | ~RtSystemNode ()=default |
| |
| virtual bool | addNotification () override |
| | Called when this system node has been added to a sensor environment.
|
| |
| virtual void | cleanup () override |
| | The sensor environment is being put down, clean everything.
|
| |
| template<typename T > |
| RtSystemNode * | findChildProxyFor () const |
| |
| RtNode * | getNode () const |
| |
| RtNode * | getOrCreateNode () |
| | Called when the node is required.
|
| |
| virtual void | onChildAdded (SystemNode &child) override |
| | Called when child has been added to this parent.
|
| |
| virtual void | onChildRemoved (SystemNode &child) override |
| | Called when child has been removed from this parent.
|
| |
| virtual void | onParentConnect (RtSystemNode &parent) |
| | Called when getOrCreateNode() returns nullptr when this node is being added as child to parent.
|
| |
| virtual void | onParentDisconnect (RtSystemNode &parent) |
| | Called when getNode() returns nullptr when this node is being removed from its parent.
|
| |
| | SystemNode (const SystemNode &)=delete |
| | Disallow direct copying of nodes.
|
| |
| virtual | ~SystemNode ()=default |
| |
| bool | addChild (SystemNode *child) |
| | Add unique child to this node.
|
| |
| virtual bool | addNotification () |
| | Called when this system node has been added to a sensor environment.
|
| |
| bool | appendChild (SystemNode *child) |
| | Append child to vector of children, silently.
|
| |
| virtual void | cleanup ()=0 |
| | The sensor environment is being put down, clean everything.
|
| |
| virtual void | complete () |
| | Complete the execution of this system, finishing the integration forward in time.
|
| |
| bool | detachChild (SystemNode *child) |
| | Detach/erase child from vector of children, silently.
|
| |
| virtual bool | eraseAndConnect () |
| | Erase this node from the tree and connect its children to the current parent of this node.
|
| |
| virtual void | execute (const CallbackData &data) |
| | Execute this system, integrating it data.dt forward in time.
|
| |
| template<typename T > |
| T * | findChild (bool recurse=true) const |
| | Find child of given type.
|
| |
| template<typename PredicateT > |
| SystemNode * | findChild (PredicateT pred, bool recurse=true) const |
| | Find child given predicate pred.
|
| |
| template<typename T > |
| T * | findParent () const |
| |
| template<typename PredicateT > |
| SystemNode * | findParent (PredicateT pred) const |
| | Find parent given predicate.
|
| |
| template<typename T > |
| T * | getChild () const |
| | Searches children for a node of given type.
|
| |
| SystemNode * | getChild (size_t index) const |
| |
| bool | getEnable () const |
| |
| Environment * | getEnvironment () const |
| |
| const agx::Name & | getName () const |
| |
| size_t | getNumChildren () const |
| |
| SystemNode * | getParent () const |
| |
| SystemNode * | getRoot () const |
| |
| bool | hasChild (const SystemNode *child, bool recurse=true) const |
| |
| virtual bool | insertParent (SystemNode &parent) |
| | Inserts new parent to this node.
|
| |
| virtual bool | onAdd (agx::Referenced &instance) |
| | Called when an object has been added to the sensor environment.
|
| |
| virtual void | onChildAdded (SystemNode &child) |
| | Called when child has been added to this parent.
|
| |
| virtual void | onChildRemoved (SystemNode &child) |
| | Called when child has been removed from this parent.
|
| |
| virtual bool | onRemove (agx::Referenced &instance) |
| | Called when an object has been removed from the sensor environment.
|
| |
| bool | removeChild (SystemNode *child) |
| | Remove child from this node.
|
| |
| virtual void | removeNotification () |
| | Called when this system node is being removed from a sensor environment.
|
| |
| virtual void | result (const CallbackData &data) |
| | If necessary assemble, and fetch results related to this system node after a step by data.dt has been completed.
|
| |
| void | setEnable (bool enable) |
| | Enable/disable this node.
|
| |
| void | setName (const agx::Name &name) |
| | Assign name to this node.
|
| |
| virtual void | synchronize (const CallbackData &data) |
| | Synchronization from the main thread.
|
| |
| template<typename VisitorT > |
| SystemNode * | visitBf (VisitorT visitor) const |
| | Visit the tree from, including, this node until callback returns true - using breadth first traversal.
|
| |
| template<typename VisitorT > |
| void | visitChildren (VisitorT visitor, bool recurse=true) const |
| | Visit all children with func as void( const SystemNode& child ).
|
| |
| template<typename VisitorT > |
| SystemNode * | visitChildrenBf (VisitorT visitor) const |
| | Visit the tree from the children of this node until callback returns true - using breadth first traversal.
|
| |
| template<typename VisitorT > |
| SystemNode * | visitChildrenDf (VisitorT visitor) const |
| | Visit the tree from the children of this node until callback returns true - using depth first traversal.
|
| |
| template<typename T , typename VisitorT > |
| void | visitChildrenOfType (VisitorT visitor, bool recurse=true) const |
| | Visit all children with func as void( const T& child ).
|
| |
| template<typename VisitorT > |
| SystemNode * | visitDf (VisitorT visitor) const |
| | Visit the tree from, including, this node until callback returns true - using depth first traversal.
|
| |
| | Referenced () |
| | Default constructor.
|
| |
| | Referenced (const Referenced &) |
| |
| template<typename T > |
| T * | as () |
| | Subclass casting.
|
| |
| template<typename T > |
| const T * | as () const |
| |
| template<typename T > |
| T * | asSafe () |
| | Safe subclass casting, return nullptr if template type does not match.
|
| |
| template<typename T > |
| const T * | asSafe () const |
| |
| int | getReferenceCount () const |
| |
| template<typename T > |
| bool | is () const |
| | Subclass test.
|
| |
| Referenced & | operator= (const Referenced &) |
| | Assignment operator. Will increment the number of references to the referenced object.
|
| |
| void | reference (void *ptr=nullptr) const |
| | Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
|
| |
| void | unreference (void *ptr=nullptr) const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| void | unreference_nodelete () const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| virtual | ~Serializable () |
| | Destructor for normal C++ use but hidden from SWIG bindings.
|
| |
| virtual const char * | getClassName () const |
| |
| bool | getEnableSerialization () const |
| |
| bool | getEnableUuidGeneration () |
| |
| agx::UInt32 | getIndex () const |
| | This index is given at creation of this object.
|
| |
| virtual StorageAgent * | getStorageAgent () const =0 |
| |
| agx::Uuid | getUuid () const |
| |
| bool | isFinished () const |
| |
| void | setEnableSerialization (bool flag) |
| | Set to false to disable serialization of this object.
|
| |
| void | setFinished () |
| | Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
|
| |
| void | setUuid (const agx::Uuid &uuid) |
| | Explicitly set a Uuid on a serializable object.
|
| |
| | ISensorOutput ()=default |
| | Default constructor.
|
| |
| virtual const BinaryOutputBuffer & | getData ()=0 |
| | Returns access to the sensor output data.
|
| |
| virtual size_t | getElementSize () const =0 |
| | "Element size" is the summed data size of the currently added sensor output fields.
|
| |
| virtual bool | hasUnreadData (bool markAsRead=true)=0 |
| |
| template<typename T > |
| BinaryOutputView< T > | view () |
| | View over data.
|
| |
Raytrace output data where RtOutput::Field defines the data available.
It's possible to pack data into a custom type, e.g.,
struct RayPointAndDistance : agx::Vec4f { agx::Vec3f getPosition() const { First three elements is the point. return { (*this)[ 0 ], (*this)[ 1 ], (*this)[ 2 ] }; }
float getDistance() const { Fourth element is the distance. return (*this)[ 3 ]; } };
RtOutputRef pointAndDistanceOutput = new RtOutput(); pointAndDistanceOutput->build<RtOutput::XYZ_VEC3_F32, RtOutput::DISTANCE_F32>();
Equivalent but using the output handler in a lidar. Using the output handler verifies the size of your struct vs fields.
auto pointAndDistanceOutput = lidar->getOutputHandler()->add<RayPointAndDistance,
RtOutput::XYZ_VEC3_F32,
RtOutput::DISTANCE_F32>();
perform raytrace auto view = pointAndDistanceOutput->view<RayPointAndDistance>(); for ( const auto& pointAndDistance : view ) ...
Definition at line 64 of file RaytraceOutput.h.