39 #if defined(HX_INTERNAL_CLASS_WARN) 40 #undef HX_INTERNAL_CLASS_WARN 41 #define HX_INTERNAL_CLASS_WARN_HXCOMPMODULE 44 #pragma warning(disable:4996) 48 #ifndef _HX_COMP_MODULE_ 49 #define _HX_COMP_MODULE_ 51 #include <hxcore/HxBatchModule.h> 52 #include <hxcore/HxData.h> 53 #include <mclib/McHandle.h> 55 class HxMasterConnection;
91 void setNameOfResultSlot(
int id,
const char* name);
112 void setResult(
int id, HxData* result,
unsigned int mask=0xffffffff);
124 void insertResult(
int pos, HxData* result,
unsigned int mask=0xffffffff);
132 void removeResult(
int pos);
142 void setResult(HxData* result,
unsigned int mask=0xffffffff);
153 void setResult(
const char* name, HxData* result,
unsigned int mask=0xffffffff);
162 HxData* getResult(
int id=0)
const;
172 HxData* getResult(
const char* name)
const;
184 int getTouchTime(
int id=0)
const;
202 virtual int checkResult(
int&
id, HxData* result);
211 virtual void resultChanged(
int id);
226 virtual void fire(
int shouldCompute=1);
234 virtual McColor getIconColor();
244 virtual int parse(Tcl_Interp* interpreter,
int argc,
char **argv);
252 virtual void saveUpdate(FILE* fp);
259 int getNumResultSlots()
const;
266 int getNewResultSlotID()
const;
273 void setApplyTransfOfSourceToResult(
bool apply);
280 bool getApplyTransfOfSourceToResult();
285 void applyTransformToResult();
290 virtual void update();
299 virtual bool canCreateData(HxData* data, QString &createCmd);
307 HxCompModule(
const McTypeInfo* dataType, McInterfaceOwner* owner = 0, QxObjectNotifier* notifier = 0);
322 virtual HxData* createResult(
const QString & name);
327 HxINTERNAL
int resultTouchTime;
328 HxINTERNAL
int blockNotify;
331 HxINTERNAL McDArray<ResultSlot*> resultSlots;
339 HxINTERNAL ResultSlot* findResultSlot(
int id)
const;
347 HxINTERNAL ResultSlot* findResultSlotFromString(
const char* str)
const;
355 HxINTERNAL ResultSlot* findResultSlotFromData(HxData * data)
const;
357 HxINTERNAL
bool m_applyTransfOfSourceToResult;
367 HxINTERNAL
void recordNewResultInHistoryLog(
int id, HxData* res );
374 HxINTERNAL
void recordInputUpdateInHistoryLog(
HxConnection* inputPort );
382 HxINTERNAL
void customizeApplyCommandInHistoryLog( HxData* resultData, QString customApplyCommand );
389 HxINTERNAL
void updateInputStateCommandInHistoryLog(
HxConnection* inputPort );
396 HxINTERNAL
int getModuleTouchTime();
398 friend class HxMasterConnection;
405 bool isRangeCalibrationCopyEnabled()
const;
411 void enableRangeCalibrationCopy(
bool enable );
426 virtual void copyRangeCalibration(
const HxData* input, HxData* output,
float scale = 1.0f,
float offset = 0.0f )
const;
432 bool isMaterialBundlesCopyEnabled()
const;
438 void enableMaterialBundlesCopy(
bool isEnabled );
444 void copyMaterialBundles( HxData* output )
const;
447 bool m_isRangeCalibrationCopyEnabled;
450 bool m_isMaterialBundlesCopyEnabled;
452 HxINTERNAL
int touchTime;
461 #if defined(HX_INTERNAL_CLASS_WARN_HXCOMPMODULE) 462 #undef HX_INTERNAL_CLASS_WARN_HXCOMPMODULE 463 #define HX_INTERNAL_CLASS_WARN Port representing inter-object connections.
Definition: HxConnection.h:78
Base class for compute modules.
Definition: HxCompModule.h:77