HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_VopNode Member List

This is the complete list of members for HOM_VopNode, including all inherited members.

__creationTime()=0HOM_OpNodepure virtual
__hash__() override=0HOM_OpNodepure virtual
__modificationTime()=0HOM_OpNodepure virtual
__repr__() override=0HOM_OpNodepure virtual
__str__()=0HOM_Nodepure virtual
_asVoidPointer()=0HOM_OpNodepure virtual
_cookNoInterruptInternal(bool force=false, const std::vector< double > frame_range=std::vector< double >())=0HOM_OpNodepure virtual
_getArgumentAutoComplete(const char *method_name, const char *arguments, bool meta_info_only=false)=0HOM_OpNodepure virtual
_loadParmClip(std::string file_name, double sample_rate=0, double start=HOM_MIN_NEGATIVE_DOUBLE)=0HOM_OpNodepure virtual
_parmClipData(double start, double end, bool binary=true, bool use_blosc_compression=true, double sample_rate=0, bool scoped_only=false)=0HOM_OpNodepure virtual
_saveParmClip(std::string file_name, double start, double end, double sample_rate=0, bool scoped_only=false)=0HOM_OpNodepure virtual
_setParmClipData(HOM_BinaryString data, bool binary=true, bool blosc_compressed=true, double sample_rate=0, double start=HOM_MIN_NEGATIVE_DOUBLE)=0HOM_OpNodepure virtual
addError(const char *message=0, const HOM_EnumValue &severity=HOM_severityType::Error)=0HOM_OpNodepure virtual
addMessage(const char *message=0)=0HOM_OpNodepure virtual
addNodeGroup(const char *name=NULL)=0HOM_OpNodepure virtual
addOpaqueEventCallback(const std::vector< HOM_EnumValue * > &event_types, void *py_callback)=0HOM_OpNodepure virtual
addOpaqueParmCallback(void *py_callback, const std::vector< std::string > &names)=0HOM_OpNodepure virtual
addWarning(const char *message=0)=0HOM_OpNodepure virtual
allItems()=0HOM_Nodepure virtual
allowEditingOfContents(bool propagate=false)=0HOM_OpNodepure virtual
allSubChildren(bool top_down=true, bool recurse_in_locked_nodes=true, bool sync_delayed_definition=false)=0HOM_Nodepure virtual
allSubItems(bool top_down=true, bool recurse_in_locked_nodes=true, bool sync_delayed_definition=false)=0HOM_Nodepure virtual
appendComment(const char *comment)=0HOM_Nodepure virtual
asCode(bool brief=false, bool recurse=false, bool save_channels_only=false, bool save_creation_commands=true, bool save_keys_in_frames=false, bool save_outgoing_wires=false, bool save_parm_values_only=false, bool save_spare_parms=true, bool save_box_membership=true, const char *function_name=NULL)=0HOM_OpNodepure virtual
boostAnyUserData(const char *name)=0HOM_Nodepure virtual
bypass(bool on)=0HOM_VopNodepure virtual
cachedUserDataDict()=0HOM_OpNodepure virtual
canCreateDigitalAsset()=0HOM_Nodepure virtual
canGenerateCookCode(bool check_parent=false, bool check_auto_shader=true)=0HOM_OpNodepure virtual
changeNodeType(const char *new_node_type, bool keep_name=true, bool keep_parms=true, bool keep_network_contents=true, bool force_change_on_node_type_match=false)=0HOM_OpNodepure virtual
children()=0HOM_Nodepure virtual
childTypeCategory()=0HOM_Nodepure virtual
clearCachedUserDataDict()=0HOM_OpNodepure virtual
clearParmAliases()=0HOM_OpNodepure virtual
clearUserDataDict()=0HOM_Nodepure virtual
code()=0HOM_VopNodepure virtual
collapseIntoSubnet(const std::vector< HOM_NetworkMovableItem * > &child_items, const char *subnet_name=NULL, const char *subnet_type=NULL)=0HOM_Nodepure virtual
color()=0HOM_NetworkMovableItempure virtual
comment()=0HOM_Nodepure virtual
cook(bool force=false, const std::vector< double > frame_range=std::vector< double >())=0HOM_OpNodepure virtual
cookCodeGeneratorNode()=0HOM_OpNodepure virtual
cookCodeLanguage()=0HOM_OpNodepure virtual
cookCount()=0HOM_OpNodepure virtual
cookPathNodes()=0HOM_OpNodepure virtual
copyItems(const std::vector< HOM_NetworkMovableItem * > &items, bool channel_reference_originals=false, bool relative_references=true, bool connect_outputs_to_multi_inputs=false)=0HOM_Nodepure virtual
copyItemsToClipboard(const std::vector< HOM_NetworkMovableItem * > &items=std::vector< HOM_NetworkMovableItem * >())=0HOM_Nodepure virtual
copyNetworkBox(HOM_NetworkBox &network_box_to_copy, const char *new_name=NULL, bool channel_reference_original=false)=0HOM_Nodepure virtual
copyStickyNote(HOM_StickyNote &sticky_note_to_copy, const char *new_name=NULL)=0HOM_Nodepure virtual
coshaderNodes(const char *parm_name)=0HOM_VopNodepure virtual
coshaderNodesOutputNames(const char *parm_name)=0HOM_VopNodepure virtual
createCompiledDigitalAsset(const char *name=NULL, const char *hda_file_name=NULL, const char *description=NULL)=0HOM_OpNodepure virtual
createDigitalAsset(const char *name=NULL, const char *hda_file_name=NULL, const char *description=NULL, int min_num_inputs=0, int max_num_inputs=0, bool compress_contents=false, const char *comment=NULL, const char *version=NULL, bool save_as_embedded=false, bool ignore_external_references=false, bool compile_asset=false, bool change_node_type=true, bool create_backup=true, const char *install_path=NULL)=0HOM_OpNodepure virtual
createNetworkBox(const char *name=NULL)=0HOM_Nodepure virtual
createNetworkDot()=0HOM_Nodepure virtual
createNode(const char *node_type_name, const char *node_name=NULL, bool run_init_scripts=true, bool load_contents=true, bool exact_type_name=false, bool force_valid_node_name=false)=0HOM_Nodepure virtual
createOrMoveVisualizer(int output_index)=0HOM_OpNodepure virtual
createStickyNote(const char *name=NULL)=0HOM_Nodepure virtual
creator()=0HOM_Nodepure virtual
creatorState()=0HOM_OpNodepure virtual
currentSignatureName()=0HOM_VopNodepure virtual
dataBlock(const char *key)=0HOM_OpNodepure virtual
dataBlockKeys(const char *blocktype=nullptr)=0HOM_OpNodepure virtual
dataBlockType(const char *key)=0HOM_OpNodepure virtual
deleteIndependentInputNodes(int input_index)=0HOM_VopNodepure virtual
deleteItems(const std::vector< HOM_NetworkMovableItem * > &items=std::vector< HOM_NetworkMovableItem * >(), bool disable_safety_checks=false)=0HOM_Nodepure virtual
deleteScript()=0HOM_OpNodepure virtual
dependents(bool include_children=true)=0HOM_OpNodepure virtual
dependsOnlyOn(HOM_VopNode *other_node, int max_connections, bool recurse)=0HOM_VopNodepure virtual
deselectWorkItem()=0HOM_OpNodepure virtual
destroy(bool disable_safety_checks=false)=0HOM_Nodepure virtual
destroyCachedUserData(const char *name, bool must_exist=true)=0HOM_OpNodepure virtual
destroyUserData(const char *name, bool must_exist=true)=0HOM_Nodepure virtual
digitsInName()=0HOM_NetworkMovableItempure virtual
editableInputString(int input_index, const char *key)=0HOM_Nodepure virtual
editableInputStrings(int input_index)=0HOM_Nodepure virtual
errors()=0HOM_Nodepure virtual
expressionLanguage()=0HOM_OpNodepure virtual
extraBindings()=0HOM_VopNodepure virtual
extractAndDelete()=0HOM_Nodepure virtual
fileReferences(bool recurse=true, const char *project_dir_variable="HIP", bool include_all_refs=true)=0HOM_OpNodepure virtual
findBypassInputName(const char *output_name)=0HOM_VopNodepure virtual
findNetworkBox(const char *name)=0HOM_Nodepure virtual
findNetworkBoxes(const char *pattern)=0HOM_Nodepure virtual
findNodesThatProcessedObject(HOM_DopObject &dop_object)=0HOM_OpNodepure virtual
findOrCreateMotionEffectsNetwork(bool create=true)=0HOM_OpNodepure virtual
findStickyNote(const char *name)=0HOM_Nodepure virtual
findStickyNotes(const char *pattern)=0HOM_Nodepure virtual
getUniqueId()=0HOM_OpNodepure virtual
glob(const char *pattern, bool ignore_case=false)=0HOM_Nodepure virtual
globParms(const char *pattern, bool ignore_case=false, bool search_label=false, bool single_pattern=false)=0HOM_OpNodepure virtual
hdaModule()=0HOM_OpNodepure virtual
hdaViewerHandleModule()=0HOM_OpNodepure virtual
hdaViewerStateModule()=0HOM_OpNodepure virtual
hide(bool on)=0HOM_Nodepure virtual
hm()HOM_OpNodeinlinevirtual
HOM_NetworkItem(HOM_EnumValue &network_item_type)HOM_NetworkIteminline
HOM_NetworkItem(const HOM_NetworkItem &src)HOM_NetworkIteminline
HOM_NetworkMovableItem(HOM_EnumValue &network_item_type)HOM_NetworkMovableIteminline
HOM_NetworkMovableItem(const HOM_NetworkMovableItem &src)HOM_NetworkMovableIteminline
HOM_Node()HOM_Nodeinline
HOM_Node(const HOM_Node &node)HOM_Nodeinline
HOM_OpNode()HOM_OpNodeinline
HOM_OpNode(const HOM_OpNode &node)HOM_OpNodeinline
HOM_VopNode()HOM_VopNodeinline
HOM_VopNode(const HOM_VopNode &vop_node)HOM_VopNodeinline
indirectInputs()=0HOM_Nodepure virtual
infoTree(bool verbose=false, bool debug=false, int output_index=0, bool force_cook=false)=0HOM_OpNodepure virtual
input(int input_index)=0HOM_Nodepure virtual
inputAncestors(bool include_ref_inputs=true, bool follow_subnets=false, bool only_used_inputs=false)=0HOM_Nodepure virtual
inputConnections()=0HOM_Nodepure virtual
inputConnectors()=0HOM_Nodepure virtual
inputDataTypes()=0HOM_VopNodepure virtual
inputFollowingOutputs(int input_index)=0HOM_Nodepure virtual
inputGroupNames()=0HOM_VopNodepure virtual
inputIndex(const char *input_name)=0HOM_Nodepure virtual
inputIndexOrder()=0HOM_VopNodepure virtual
inputLabels()=0HOM_Nodepure virtual
inputNames()=0HOM_Nodepure virtual
inputParmTypes()=0HOM_VopNodepure virtual
inputs()=0HOM_Nodepure virtual
inputsInGroup(const char *group)=0HOM_VopNodepure virtual
insertInput(int input_index, HOM_NetworkMovableItem *item_to_become_input, int output_index=0)=0HOM_Nodepure virtual
insertParmGenerator(const char *input_name, HOM_EnumValue &parm_gen_type, bool reference_input_defaults)=0HOM_VopNodepure virtual
insertParmGeneratorsForAllInputs(HOM_EnumValue &parm_gen_type, bool reference_input_defaults)=0HOM_VopNodepure virtual
isBuiltExplicitly()=0HOM_OpNodepure virtual
isBypassed()=0HOM_VopNodepure virtual
isCompiled()=0HOM_OpNodepure virtual
isCompressFlagSet()=0HOM_VopNodepure virtual
isCurrent()=0HOM_Nodepure virtual
isDebugFlagSet()=0HOM_VopNodepure virtual
isDelayedDefinition()=0HOM_OpNodepure virtual
isDetailHighFlagSet()=0HOM_VopNodepure virtual
isDetailLowFlagSet()=0HOM_VopNodepure virtual
isDetailMediumFlagSet()=0HOM_VopNodepure virtual
isDisplayDescriptiveNameFlagSet()=0HOM_Nodepure virtual
isEditable()=0HOM_Nodepure virtual
isEditableInsideLockedHDA()=0HOM_OpNodepure virtual
isFlagReadable(HOM_EnumValue &flag)=0HOM_Nodepure virtual
isFlagWritable(HOM_EnumValue &flag)=0HOM_Nodepure virtual
isGenericFlagSet(HOM_EnumValue &flag)=0HOM_Nodepure virtual
isHidden()=0HOM_Nodepure virtual
isInputCompatible(int idx, HOM_VopNode &other, int other_idx, bool allow_conversions=false)=0HOM_VopNodepure virtual
isInputGroupExpanded(const char *group)=0HOM_VopNodepure virtual
isInputVisible(const char *input_name)=0HOM_VopNodepure virtual
isInsideLockedHDA()=0HOM_OpNodepure virtual
isLockedHDA()=0HOM_OpNodepure virtual
isMaterialFlagSet()=0HOM_VopNodepure virtual
isMaterialManager()=0HOM_OpNodepure virtual
isNetwork()=0HOM_Nodepure virtual
isSelected()=0HOM_NetworkMovableItempure virtual
isSubNetwork()=0HOM_Nodepure virtual
isTimeDependent()=0HOM_OpNodepure virtual
item(const char *item_path)=0HOM_Nodepure virtual
items(const std::vector< std::string > &item_paths)=0HOM_Nodepure virtual
iterNetworkBoxes()=0HOM_Nodepure virtual
iterStickyNotes()=0HOM_Nodepure virtual
lastCookContextOptions(bool only_used_options=false)=0HOM_OpNodepure virtual
lastCookTime()=0HOM_OpNodepure virtual
layoutChildren(const std::vector< HOM_NetworkMovableItem * > &items=std::vector< HOM_NetworkMovableItem * >(), double horizontal_spacing=-1, double vertical_spacing=-1)=0HOM_Nodepure virtual
loadItemsFromFile(const char *file_name, bool ignore_load_warnings=false)=0HOM_OpNodepure virtual
localAttributes()=0HOM_OpNodepure virtual
localVariables()=0HOM_OpNodepure virtual
matchCurrentDefinition()=0HOM_OpNodepure virtual
matchesCurrentDefinition()=0HOM_OpNodepure virtual
messages()=0HOM_Nodepure virtual
motionEffectsNetworkPath()=0HOM_OpNodepure virtual
move(const std::vector< double > &amount)=0HOM_NetworkMovableItempure virtual
moveToGoodPosition(bool relative_to_inputs=true, bool move_inputs=true, bool move_outputs=true, bool move_unconnected=true)=0HOM_Nodepure virtual
name()=0HOM_NetworkMovableItempure virtual
needsToCook()=0HOM_OpNodepure virtual
needsToCook(double time)=0HOM_OpNodepure virtual
networkBoxes()=0HOM_Nodepure virtual
networkDots()=0HOM_Nodepure virtual
networkItemType()HOM_NetworkIteminline
node(const char *node_path)=0HOM_Nodepure virtual
nodeGroup(const char *name)=0HOM_OpNodepure virtual
nodeGroups()=0HOM_OpNodepure virtual
nodes(const std::vector< std::string > &node_paths)=0HOM_Nodepure virtual
numItems(HOM_EnumValue *item_type=NULL, bool selected_only=false, bool include_hidden=false)=0HOM_Nodepure virtual
numOrderedInputs()=0HOM_Nodepure virtual
objTypeAsInt()=0HOM_OpNodepure virtual
opaqueCachedUserData(const char *name)=0HOM_OpNodepure virtual
opaqueEventCallbacks()=0HOM_OpNodepure virtual
operator!=(HOM_PtrOrNull< HOM_Node > node)=0HOM_Nodepure virtual
operator==(HOM_PtrOrNull< HOM_Node > node)=0HOM_Nodepure virtual
opTypeIdAsInt()=0HOM_OpNodepure virtual
outerCode()=0HOM_VopNodepure virtual
outputConnections()=0HOM_Nodepure virtual
outputConnectors()=0HOM_Nodepure virtual
outputDataTypes()=0HOM_VopNodepure virtual
outputForViewFlag()=0HOM_OpNodepure virtual
outputIndex(const char *output_name)=0HOM_Nodepure virtual
outputLabels()=0HOM_Nodepure virtual
outputNames()=0HOM_Nodepure virtual
outputs()=0HOM_Nodepure virtual
parent()=0HOM_NetworkMovableItempure virtual
parentNetworkBox()=0HOM_NetworkMovableItempure virtual
parm(const char *parm_path)=0HOM_OpNodepure virtual
parmAliases(bool recurse=false)=0HOM_OpNodepure virtual
parmDefinerNode()=0HOM_VopNodepure virtual
parms()=0HOM_OpNodepure virtual
parmsInFolder(const std::vector< std::string > &folder_names)=0HOM_OpNodepure virtual
parmsReferencingThis()=0HOM_OpNodepure virtual
parmTemplateGroup()=0HOM_OpNodepure virtual
parmTuple(const char *parm_path)=0HOM_OpNodepure virtual
parmTuples()=0HOM_OpNodepure virtual
parmTuplesInFolder(const std::vector< std::string > &folder_names)=0HOM_OpNodepure virtual
pasteItemsFromClipboard(HOM_Vector2 *position=NULL)=0HOM_Nodepure virtual
path()=0HOM_NetworkMovableItempure virtual
position()=0HOM_NetworkMovableItempure virtual
recursiveGlob(const char *pattern, HOM_EnumValue &filter=HOM_nodeTypeFilter::NoFilter, bool include_subnets=true)=0HOM_Nodepure virtual
references(bool include_children=true)=0HOM_OpNodepure virtual
relativePathTo(HOM_NetworkMovableItem &base_item)=0HOM_NetworkMovableItempure virtual
removeAllEventCallbacks()=0HOM_OpNodepure virtual
removeDataBlock(const char *key)=0HOM_OpNodepure virtual
removeOpaqueEventCallback(const std::vector< HOM_EnumValue * > &event_types, void *py_callback)=0HOM_OpNodepure virtual
removeSpareParms()=0HOM_OpNodepure virtual
renderMask()=0HOM_VopNodepure virtual
runInitScripts()=0HOM_OpNodepure virtual
saveCodeToFile(const char *file_name, bool skip_header=false, const char *context_name=NULL)HOM_OpNodeinline
saveCompiledCookCodeToFile(const char *file_name, const char *context_name=NULL)=0HOM_OpNodepure virtual
saveCookCodeToFile(const char *file_name, bool skip_header=false, const char *context_name=NULL)=0HOM_OpNodepure virtual
saveItemsToFile(const std::vector< HOM_NetworkMovableItem * > &items, const char *file_name, bool save_hda_fallbacks=false)=0HOM_OpNodepure virtual
saveToCompiledVexFile(const char *file_name, const char *context_name=NULL)HOM_OpNodeinline
selectedChildren(bool include_hidden=false, bool include_hidden_support_nodes=false)=0HOM_Nodepure virtual
selectedItems(bool include_hidden=false, bool include_hidden_support_nodes=false)=0HOM_Nodepure virtual
selectNextVisibleWorkItem()=0HOM_OpNodepure virtual
selectPreviousVisibleWorkItem()=0HOM_OpNodepure virtual
sessionId()=0HOM_NetworkMovableItempure virtual
setBuiltExplicitly(bool built_explicitly)=0HOM_OpNodepure virtual
setColor(HOM_Color &color)=0HOM_NetworkMovableItempure virtual
setComment(const char *comment)=0HOM_Nodepure virtual
setCompressFlag(bool on)=0HOM_VopNodepure virtual
setCreatorState(const char *state)=0HOM_OpNodepure virtual
setCurrent(bool on, bool clear_all_selected=false)=0HOM_Nodepure virtual
setCurrentTOPPage(int page)=0HOM_OpNodepure virtual
setDataBlock(const char *key, HOM_BinaryString data, const char *block_type=nullptr)=0HOM_OpNodepure virtual
setDebugFlag(bool on)=0HOM_VopNodepure virtual
setDeleteScript(const std::string &script_text, HOM_EnumValue &language=HOM_scriptLanguage::Python)=0HOM_OpNodepure virtual
setDetailHighFlag(bool on)=0HOM_VopNodepure virtual
setDetailLowFlag(bool on)=0HOM_VopNodepure virtual
setDetailMediumFlag(bool on)=0HOM_VopNodepure virtual
setDisplayDescriptiveNameFlag(bool on)=0HOM_Nodepure virtual
setEditableInputString(int input_index, const char *key, const char *value)=0HOM_Nodepure virtual
setExpressionLanguage(HOM_EnumValue &language)=0HOM_OpNodepure virtual
setFirstInput(HOM_NetworkMovableItem *item_to_become_input, int output_index=0)=0HOM_Nodepure virtual
setGenericFlag(HOM_EnumValue &flag, bool value)=0HOM_Nodepure virtual
setInput(int input_index, HOM_NetworkMovableItem *item_to_become_input, int output_index=0)=0HOM_Nodepure virtual
setInputGroupExpanded(const char *group, bool expanded)=0HOM_VopNodepure virtual
setIsInputVisible(const char *input_name, bool is_visible)=0HOM_VopNodepure virtual
setMaterialFlag(bool on)=0HOM_VopNodepure virtual
setName(const char *name, bool unique_name=false)=0HOM_NetworkMovableItempure virtual
setNamedInput(const char *input_name, HOM_NetworkMovableItem *item_to_become_input, const char *output_name)=0HOM_Nodepure virtual
setNamedInput(const char *input_name, HOM_NetworkMovableItem *item_to_become_input, int output_index)=0HOM_Nodepure virtual
setNextInput(HOM_NetworkMovableItem *item_to_become_input, int output_index=0, bool unordered_only=false)=0HOM_Nodepure virtual
setOpaqueCachedUserData(const char *name, void *opaque_py_object)=0HOM_OpNodepure virtual
setOutputForViewFlag(int output)=0HOM_OpNodepure virtual
setParmTemplateGroup(HOM_ParmTemplateGroup &parm_template_group, bool rename_conflicting_parms=false)=0HOM_OpNodepure virtual
setPosition(const std::vector< double > &position)=0HOM_NetworkMovableItempure virtual
setSelected(bool on, bool clear_all_selected=false, bool show_asset_if_selected=false)=0HOM_NetworkMovableItempure virtual
setShaderLanguageName(const char *language_name)=0HOM_VopNodepure virtual
setUserData(const char *name, const std::string &value)=0HOM_Nodepure virtual
shaderCode(HOM_EnumValue &shader_type=HOM_shaderType::Surface)=0HOM_VopNodepure virtual
shaderLanguageName()=0HOM_VopNodepure virtual
shaderName(bool as_otl_path=true, const char *shader_type_name=nullptr)=0HOM_VopNodepure virtual
shaderNameForSignature(const char *signature=nullptr)=0HOM_VopNodepure virtual
shaderString(const char *render_type=NULL, HOM_EnumValue &interpret_type=HOM_shaderType::Surface, bool as_encapsulated=false)=0HOM_VopNodepure virtual
shaderType()=0HOM_VopNodepure virtual
simulation()=0HOM_OpNodepure virtual
size()=0HOM_NetworkMovableItempure virtual
spareParms()=0HOM_OpNodepure virtual
stampValue(const char *name, double default_value)=0HOM_OpNodepure virtual
stampValue(const char *name, const char *default_value)=0HOM_OpNodepure virtual
stickyNotes()=0HOM_Nodepure virtual
subnetOutputs()=0HOM_Nodepure virtual
subnetTerminalChild(const char *subnet_output_name)=0HOM_VopNodepure virtual
supportsMultiCookCodeContexts()=0HOM_OpNodepure virtual
SWIGOUT(%kwargs createCompiledDigitalAsset)HOM_OpNode
SWIGOUT(%kwargs createDigitalAsset)HOM_OpNode
SWIGOUT(%kwargs changeNodeType)HOM_OpNode
syncDelayedDefinition()=0HOM_OpNodepure virtual
syncNodeVersionIfNeeded(const std::string &from_version)=0HOM_OpNodepure virtual
type()=0HOM_Nodepure virtual
updateParmStates()=0HOM_OpNodepure virtual
usdPreviewShaderParms()=0HOM_VopNodepure virtual
usdShaderParms(bool force_parms_at_default=false)=0HOM_VopNodepure virtual
userDataDict()=0HOM_Nodepure virtual
warnings()=0HOM_Nodepure virtual
~HOM_NetworkItem()HOM_NetworkIteminlinevirtual
~HOM_NetworkMovableItem() overrideHOM_NetworkMovableIteminline
~HOM_Node() overrideHOM_Nodeinline
~HOM_OpNode() overrideHOM_OpNodeinline
~HOM_VopNode() overrideHOM_VopNodeinline