docs: add doxygen comments for GeometryOpDef.h
This commit is contained in:
@@ -13,17 +13,58 @@ namespace enzo::nt
|
|||||||
{
|
{
|
||||||
class NetworkManager;
|
class NetworkManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Abstract class used to create new operators.
|
||||||
|
*
|
||||||
|
* The operator definition is a base class from which new geometry operators
|
||||||
|
* are inherited from. It provides and abstracted interface, to read and
|
||||||
|
* write data about itself and the context it is being computed.
|
||||||
|
*
|
||||||
|
* The class exposes utility functions for setting outputs and reading information
|
||||||
|
* about itself like the number of inputs.
|
||||||
|
*
|
||||||
|
* The most important part of this node is the virtual cookOp member function.
|
||||||
|
* This must be overridden to implement the node's logic when being cooked.
|
||||||
|
* When a node is cooked it takes the optional input geometry from the context
|
||||||
|
* class and outputs new geometry based on the purpose of that operator.
|
||||||
|
*/
|
||||||
class BOOST_SYMBOL_EXPORT GeometryOpDef
|
class BOOST_SYMBOL_EXPORT GeometryOpDef
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
* @brief Sets up internal state
|
||||||
|
*/
|
||||||
GeometryOpDef(nt::NetworkManager* network, op::OpInfo opInfo);
|
GeometryOpDef(nt::NetworkManager* network, op::OpInfo opInfo);
|
||||||
|
/**
|
||||||
|
* @brief This function is called at runtime to create the output geometry
|
||||||
|
*
|
||||||
|
* @post When overriding, this function must call setOutputGeo(n) at
|
||||||
|
* the end of a successful cook. Any outputs that are not set will output
|
||||||
|
* an emtpy geometry object.
|
||||||
|
*/
|
||||||
virtual void cookOp(op::Context context) = 0;
|
virtual void cookOp(op::Context context) = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns the current output geometry.
|
||||||
|
*
|
||||||
|
* For use by the runtime Node
|
||||||
|
* Does not force a cook.
|
||||||
|
*
|
||||||
|
* @todo move to friend class Node
|
||||||
|
*/
|
||||||
geo::Geometry& getOutputGeo(unsigned outputIndex);
|
geo::Geometry& getOutputGeo(unsigned outputIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Stops the cook and displays an error. Use inside the #cookOp function.
|
||||||
|
* @todo Add visual error to GUI
|
||||||
|
*/
|
||||||
void throwError(std::string error);
|
void throwError(std::string error);
|
||||||
|
|
||||||
|
/// @brief Returns the minimum number of input connections for the node to function required. Set by op::OpInfo when registering the operator.
|
||||||
unsigned int getMinInputs() const;
|
unsigned int getMinInputs() const;
|
||||||
|
/// @brief Returns the maximum number of input connections accepted by the node. Set by op::OpInfo when registering the operator.
|
||||||
unsigned int getMaxInputs() const;
|
unsigned int getMaxInputs() const;
|
||||||
|
/// @brief Returns the number of available outputs the node provides. Set by op::OpInfo when registering the operator.
|
||||||
unsigned int getMaxOutputs() const;
|
unsigned int getMaxOutputs() const;
|
||||||
private:
|
private:
|
||||||
std::vector<enzo::geo::Geometry> outputGeometry_;
|
std::vector<enzo::geo::Geometry> outputGeometry_;
|
||||||
|
|||||||
Reference in New Issue
Block a user