HPropert 8h source 01

//******** 00356 class PLUGINEXPORT HPercentProperty : public HFloatProperty 00357 { 00358 public: 00359 static HPercentProperty New(); 00360 static HPercentProperty New( HPercentPropertyInfo propinfo ); 00361 }; 00362 00363 //******** 00364 // HIntPropertyInfo 00365 //******** 00366 class PLUGINEXPORT HIntPropertyInfo : public HPropertyInfo 00367 { 00368 public: 00369 static HIntPropertyInfo New( const char localizedname, const char matchname ); 00370 void SetDefaultValue( int val ); 00371 void SetMinValue( int val ); 00372 void SetMaxValue( int val ); 00373 00374 int GetDefaultValue() const; 00375 int GetMinValue() const; 00376 int GetMaxValue() const; 00377 }; 00378 00379 //******** 00380 // HIntProperty 00381 //******** 00382 class PLUGINEXPORT HIntProperty : public HProperty 00383 { 00384 public: 00385 static HIntProperty New(); 00386 static HIntProperty New( HIntPropertyInfo propinfo ); 00387 int GetValue() const; 00388 int GetValue( Time time ); 00389 void SetValue(int value); 00390 void StoreValue(Time time, int value, BOOL storeundo = TRUE); 00391 }; 00392 00393 //********* 00394 // HRotatePropertyInfo 00395 //******** 00396 class PLUGINEXPORT HRotatePropertyInfo : public HPropertyInfo 00397 { 00398 public: 00399 static HRotatePropertyInfo New( const char localizedname, const char matchname ); 00400 }; 00401 00402 //******** 00403 // HRotateProperty 00404 //******** 00405 class PLUGINEXPORT HRotateProperty : public HProperty 00406 { 00407 public: 00408 enum InterpolationMethod { VECTORINTERP, EULERINTERP, QUATINTERP }; 00409 00410 static HRotateProperty New(); 00411 static HRotateProperty New( HRotatePropertyInfo propinfo ); 00412
00413 InterpolationMethod GetDefaultObjectInterpolationMethod(); 00414 void SetDefaultObjectInterpolationMethod(InterpolationMethod method); 00415 InterpolationMethod GetDefaultBoneInterpolationMethod(); 00416 void SetDefaultBoneInterpolationMethod(InterpolationMethod method); 00417 InterpolationMethod GetDefaultRootBoneInterpolationMethod(); 00418 void SetDefaultRootBoneInterpolationMethod(InterpolationMethod method); 00419
00420 const Quaternion &GetValue() const; 00421 const Quaternion &GetValue( Time time ); 00422 void SetValue( const Quaternion &value ); 00423 void StoreValue( Time time, const Quaternion &value, BOOL storeroll=TRUE);// old for Backward compatibility, Defaults TRUE for StoreUndo 00424 void StoreValue( Time time, const Quaternion &value, BOOL storeroll, BOOL storeundo); 00425 }; 00426 00427 //
******** 00428 // HButtonPropertyInfo 00429 //******** 00430 class PLUGINEXPORT HButtonPropertyInfo : public HPropertyInfo 00431 { 00432 public: 00433 static HButtonPropertyInfo New( const char localizedname, const char matchname ); 00434
00435 void SetButtonText(const char ); 00436 const char GetButtonText() const; 00437 }; 00438 00439 //
********* 00440 // HButtonProperty 00441 //******** 00442 class PLUGINEXPORT HButtonProperty : public HProperty 00443 { 00444 public: 00445 static HButtonProperty New(); 00446 static HButtonProperty New( HButtonPropertyInfo propinfo ); 00447 00448 void SetButtonText(const char ); // Use this over the ones in ButtonPropertyInfo if you need to change the text on different instances of the property 00449 const char GetButtonText() const; 00450 void Press(); 00451 }; 00452 00453 //******** 00454 // HBiasPropertyInfo 00455 //******** 00456 class PLUGINEXPORT HBiasPropertyInfo : public HPropertyInfo 00457 { 00458 public: 00459 static HBiasPropertyInfo New( const char localizedname, const char matchname ); 00460
00461 HFloatPropertyInfo
GetAlphaPropertyInfo(); 00462 HFloatPropertyInfo GetGammaPropertyInfo(); 00463 HFloatPropertyInfo GetMagnitudePropertyInfo(); 00464 }; 00465 00466 //******** 00467 // HBiasProperty 00468 //******** 00469 class PLUGINEXPORT HBiasProperty : public HProperty 00470 { 00471 public: 00472 static HBiasProperty New(); 00473 static HBiasProperty New( HBiasPropertyInfo propinfo ); 00474 00475 float GetAlpha(); 00476 float GetGamma(); 00477 float GetMagnitude(); 00478 void SetAlpha( float num ); 00479 void SetGamma( float num ); 00480 void SetMagnitude( float num ); 00481 00482 const Vector &GetValue(); 00483 const Vector &GetValue(Time time); 00484 Vector GetFactoredValue(); 00485 00486 void SetFactoredValue( const Vector &value ); 00487 void SetValue( const Vector &value ); 00488 void StoreValue( Time time, const Vector &value, BOOL storeundo=TRUE ); 00489 }; 00490 00491 //******** 00492 // HStringPropertyInfo 00493 //******** 00494 class PLUGINEXPORT HStringPropertyInfo : public HPropertyInfo 00495 { 00496 public: 00497 static HStringPropertyInfo New( const char localizedname, const char matchname ); 00498 void SetDefaultValue( const char value ); 00499 void SetIllegalChars( const char value ); 00500 const char GetDefaultValue() const; 00501 const char GetIllegalChars() const; 00502 }; 00503 00504 //********* 00505 // HStringProperty 00506 //******** 00507 class PLUGINEXPORT HStringProperty : public HProperty 00508 { 00509 public: 00510 static HStringProperty New(); 00511 static HStringProperty New( HStringPropertyInfo propinfo ); 00512 const char GetValue() const; 00513 void SetValue( const char value ); 00514 void StoreValue(const char value, BOOL storeundo = TRUE); 00515 }; 00516 00517 //******** 00518 // HFilenamePropertyInfo 00519 //******** 00520 class PLUGINEXPORT HFilenamePropertyInfo : public HStringPropertyInfo 00521 { 00522 public: 00523 static HFilenamePropertyInfo New( const char localizedname, const char matchname ); 00524 void SetFileDialogTitle( const char value ); 00525 void SetFileDialogFilter( const char value ); 00526 void SetDefaultExtension( const char value ); 00527 void SetIsOpenDialog( BOOL isopendialog ); 00528 const char GetFileDialogTitle() const; 00529 const char GetFileDialogFilter() const; 00530 const char GetDefaultExtension() const; 00531 BOOL IsOpenDialog() const; 00532 BOOL IsPromptForMissingFileOnLoad(); 00533 void SetIsPromptForMissingFileOnLoad(BOOL state); 00534 }; 00535 00536 //********* 00537 // HFilenameProperty 00538 //******** 00539 class PLUGINEXPORT HFilenameProperty : public HStringProperty 00540 { 00541 public: 00542 static HFilenameProperty New(); 00543 static HFilenameProperty New( HFilenamePropertyInfo propinfo ); 00544 }; 00545 00546 //******** 00547 // HDirPropertyInfo 00548 //******** 00549 class PLUGINEXPORT HDirPropertyInfo : public HStringPropertyInfo 00550 { 00551 public: 00552 static HDirPropertyInfo New( const char localizedname, const char matchname ); 00553 void SetFileDialogTitle( const char value ); 00554 const char GetFileDialogTitle() const; 00555 }; 00556 00557 //******** 00558 // HDirProperty 00559 //******** 00560 class PLUGINEXPORT HDirProperty : public HStringProperty 00561 { 00562 public: 00563 static HDirProperty New(); 00564 static HDirProperty New( HDirPropertyInfo propinfo ); 00565 }; 00566 00567 //********* 00568 // HTimePropertyInfo 00569 //******** 00570 class PLUGINEXPORT HTimePropertyInfo : public HPropertyInfo 00571 { 00572 public: 00573 static HTimePropertyInfo New( const char localizedname, const char matchname ); 00574 void SetDefaultValue( Time val ); 00575 void SetMinValue( Time val ); 00576 void SetMaxValue( Time val ); 00577 00578 Time GetDefaultValue() const; 00579 Time GetMinValue() const; 00580 Time GetMaxValue() const; 00581 }; 00582 00583 //******** 00584 // HTimeProperty 00585 //******** 00586 class PLUGINEXPORT HTimeProperty : public HProperty 00587 { 00588 public: 00589 static HTimeProperty New(); 00590 static HTimeProperty New( HTimePropertyInfo propinfo ); 00591 Time GetValue() const; 00592 Time GetValue(Time time); 00593 void SetValue(Time value); 00594 void StoreValue(Time time, Time value, BOOL storeundo = TRUE); 00595 }; 00596 00597 //******** 00598 // HTimeRangePropertyInfo 00599 //******** 00600 class PLUGINEXPORT HTimeRangePropertyInfo : public HPropertyInfo 00601 { 00602 public: 00603 static HTimeRangePropertyInfo New( const char localizedname, const char matchname ); 00604 }; 00605 00606 //********* 00607 // HTimeRangeProperty 00608 //******** 00609 class PLUGINEXPORT HTimeRangeProperty : public HContainerProperty 00610 { 00611 public: 00612 static HTimeRangeProperty New(); 00613 static HTimeRangeProperty New( HTimeRangePropertyInfo propinfo ); 00614 HTimeProperty GetStart(); 00615 HTimeProperty GetEnd(); 00616 }; 00617 00618 //******** 00619 // HTransformPropertyInfo 00620 //******** 00621 class PLUGINEXPORT HTransformPropertyInfo : public HPropertyInfo 00622 { 00623 public: 00624 static HTransformPropertyInfo New( const char localizedname, const char matchname ); 00625 }; 00626 00627 class HTranslateProperty; 00628 class HScaleProperty; 00629 class HRotateProperty; 00630 //******** 00631 // HTransformProperty 00632 //******** 00633 class PLUGINEXPORT HTransformProperty : public HProperty 00634 { 00635 public: 00636 static HTransformProperty New(); 00637 static HTransformProperty New( HTransformPropertyInfo propinfo ); 00638 HTranslateProperty GetTranslate(); 00639 HScaleProperty GetScale(); 00640 HRotateProperty *GetRotate(); 00641 TSQ GetTSQ() const; 00642 }; 00643 00644 class HTypeInfo; 00645 //********* 00646 // TypeInfoArray 00647 //******** 00648 class PLUGINEXPORT TypeInfoArray 00649 { 00650 private: 00651 HTypeInfo m_typeinfoarray; 00652 int m_count; 00653 00654 void AllocArray(HTypeInfo array, int count); 00655 void DeleteArray(HTypeInfo array); 00656 HTypeInfo ElementAt(HTypeInfo array, int index); 00657 00658 public: 00659 TypeInfoArray() { 00660 m_typeinfoarray = NULL; 00661 m_count = 0; 00662 } 00663 ~TypeInfoArray() { 00664 DeleteArray(m_typeinfoarray); 00665 } 00666 void SetArraySize(int count) { 00667 DeleteArray(m_typeinfoarray); 00668 AllocArray(&m_typeinfoarray, count); 00669 m_count = count; 00670 } 00671 void DeleteArray() { 00672 DeleteArray(m_typeinfoarray); 00673 m_typeinfoarray = NULL; 00674 m_count = 0; 00675 } 00676 HTypeInfo operator [] ( int index ) { return ElementAt(m_typeinfoarray, index); } 00677 00678 // Internal use only 00679 HTypeInfo GetTypeInfoArrayData() { return m_typeinfoarray; } 00680 int GetCount() const { return m_count; } 00681 }; 00682 00683 //******** 00684 // HTypeInfo 00685 //******** 00686 class PLUGINEXPORT HTypeInfo 00687 { 00688 public: 00689 String GetMatchName() const; 00690 String GetLocalizedName() const; 00691 void SetMatchName(const String &name); 00692 void SetLocalizedName(const String &name); 00693 void SetMatchName(const char ); // Old for backward Compatibility with version 9.0o and older 00694 void SetLocalizedName(const char ); // Old for backward Compatibility with version 9.0o and older 00695 }; 00696 00697 //******** 00698 // HTypePropertyInfo 00699 //******** 00700 class PLUGINEXPORT HTypePropertyInfo : public HPropertyInfo 00701 { 00702 public: 00703 static HTypePropertyInfo New( const char localizedname, const char matchname, TypeInfoArray *typeinfoarray ); 00704
00705 void SetDefaultIndex(UINT index); 00706 UINT GetDefaultIndex() const;
00707 }; 00708 00709 //
********* 00710 // HTypeProperty 00711 //******** 00712 class PLUGINEXPORT HTypeProperty : public HProperty 00713 { 00714 public: 00715 static HTypeProperty New(); 00716 static HTypeProperty New( HTypePropertyInfo propinfo ); 00717
00718 UINT GetValue() const; 00719 UINT GetValue( Time time ); 00720 void SetValue( UINT value ); 00721 void StoreValue( Time time, UINT value, BOOL storeundo = TRUE); 00722 }; 00723 00724 //******** 00725 // HVectorPropertyInfo 00726 //******** 00727 class PLUGINEXPORT HVectorPropertyInfo : public HPropertyInfo 00728 { 00729 public: 00730 static HVectorPropertyInfo New( const char localizedname, const char matchname ); 00731
00732 HFloatPropertyInfo
GetX(); 00733 HFloatPropertyInfo *GetY(); 00734 HFloatProper