3DCoat
3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
|
Classes | |
struct | Example1 |
example of data to be serialized. This structure IS NOT derived from the BaseClass More... | |
class | MyClassTest |
...and this one derived! In this case serialization is almost trivial, just need to register properly. More... | |
struct | PartiallyStored |
the simple structure-consists of simple data types without inner pointers More... | |
struct | SimpleStructure |
the simple structure-consists of simple data types without inner pointers More... | |
Public Member Functions | |
virtual int | GetNumSaveChunks () |
return 1 there if need to insert something into the 3B scene More... | |
virtual DWORD | GetSaveMagic (int ChunkIdx) |
return your own unique magic code there More... | |
virtual void | LoadData (int ChunkIdx, BinStream &BS) |
Load data from 3D-file. More... | |
virtual void | SaveData (int ChunkIdx, BinStream &BS) |
Store data to the 3B file using Bin stream. More... | |
void | SwitchTo () |
Please use this function to activate the tool. More... | |
virtual const char * | GetID () |
Define Textual ID in tools list. More... | |
virtual bool | PresentInVoxelTools () |
Returns true if the tool is present in voxel toolset. More... | |
virtual bool | PresentInSurfaceTools () |
Returns true if the tool is present in voxel surface toolset. More... | |
virtual bool | CreateToolset () |
Create toolset on the top line. More... | |
virtual bool | CreateInterface (BaseWidget *Where) |
Creates parameters plate of this tool. More... | |
virtual void | Process () |
Called once per frame. More... | |
virtual bool | OnWheel (int step) |
step in 1 or -1 in dependence on direction More... | |
virtual bool | OnKey (char KeyCode) |
KeyCode is Windows virtual keyboard codes like VK_xxxx . More... | |
virtual bool | CanDrawInFreeSpace () |
virtual void | OnActivate () |
Called when user activates tool. More... | |
virtual void | OnDeActivate () |
Called when user chooses other tool but this. More... | |
virtual bool | IsToolsAction () |
For tool actions! Return false if it is the tool, return true if it is just button without the need of the tool activation. In this case only OnActivate() will be called when user presses the button. More... | |
virtual void | OnClear () |
Called when user selects "New scene". More... | |
virtual void | ClearMyToolPreset () |
call it in Clear() if New should reset tool to the default state More... | |
virtual bool | DisableRadiusVariation () |
Returns true if you don't want radius to be dependent on pen pressure. More... | |
virtual bool | DrawOnPlane () |
Returns true if you want to draw starting from initial pick point in free space. More... | |
virtual bool | OnRectSelectionEnd (Rct R) |
Called when user ends rectagular/curve selection, returns true if don't need further handling. More... | |
virtual bool | AllowRectSelection () |
Returns false if don't need rect selection capability. More... | |
virtual bool | AllowOnlyRectSelection () |
Returns true if need only rect selection capability. More... | |
virtual bool | AllowDrag () |
Acts like Move tool. More... | |
virtual void | OnDraw () |
Called when you are trying to draw by some brush. More... | |
virtual int | NeedTrajectory () |
virtual bool | NeedFirstPoint () |
Returns true if need at least one point per trajectoty chunk. More... | |
virtual bool | NeedGlobalIndexing () |
Returns true if you need to use VolumeCell::LocalMeshPtr . More... | |
virtual bool | PickOnlyFirstPoint () |
!!!false More... | |
virtual int | AllowSplineStroke () |
0 - disable, 1 - allow, 2 - in 2D mode More... | |
virtual int | AllowAutoPick () |
1 - Auto pick, 2 - pick by click, 0 - don't pick More... | |
virtual float | OverridePositionalSamplingRadius () |
return 0 if you don't need sampling radius More... | |
virtual int | RequiresExtraTopLine () |
Returns nonzero if top line with params required similar to Primitives set. More... | |
virtual bool | AllowShiftSmooth () |
You may disable smoothing with shift. More... | |
virtual void | OnPresetActivation (OnePreset *PS) |
Called when preset activated regardless if tool active or not. More... | |
virtual void | OnCreatePreset (OnePreset *PS) |
Called when preset created manually by user. More... | |
virtual void | OnProcessNode (VoxTreeBranch *tb, cList< VORenderQueue > &RQ) |
called to add transformed proxy objects into scene More... | |
virtual void | TransformInRetopo (const Matrix4D &m) |
called when geometry transformed in retopo room More... | |
virtual bool | OnSelectModelInPalette (const char *ModelName, const char *RootPath, bool InCurrentTool) |
Called when user chosen model in models palette, return true if model used and action captured. More... | |
virtual void | BeforeSave (const char *filename) |
BeforeSave called each time before saving scene. More... | |
virtual bool | onApply () |
Perform action by ENTER key and return true if tool does not allow default ENTER action. More... | |
virtual float | GetBottomOffset () |
For supports tool. More... | |
virtual bool | CheckDirectCasting () const override |
BaseClass corresponds to some other data type. For example _int correctonds to int, etc... In this case you can't cast pointer to data to BaseClass*. But in some cases BaseClass may be directlt castable, for example if it has registered members, or it is ClassArray. This function is to define if class is directly castable. More... | |
virtual bool | IgnoreFieldInTopPanel (const char *FieldName) |
Possible fields: Buildup, NrmSampling, NormalsSampling,. More... | |
virtual void | OnCreateNewCurve (OneCurveObject *cu) |
called in curve editor to correct the curve alias and placement More... | |
virtual void | OnSelectItem (const char *Category) |
notify when pen/strip/material/Shader etc selected. Set breakpoint and select to get valid category. Currently available: Pen, MASK, Shaders, STRIPS, Materials More... | |
BaseClass * | GetRoot () |
BaseClass is like a tree, and you always can get the root of the tree using this function. More... | |
virtual DWORD | GetClassMask () |
Masking elements of class. Each member has mask. Element is serializable/visible only if (it's_mask & hosting_class_mask) != 0. More... | |
virtual void | reset_class (void *DataPtr=nullptr) |
Clearing all registered content of the class. If DataPtr is nullptr, this class will be cleared. More... | |
virtual void | CountObjects (int &required_index, int *counter, HashSummator *hash, BaseClassElement *result, const std::function< bool(BaseClassElement *)> *ForEachElem=nullptr, bool OnlyPointersMode=false) |
This is the main function used for the access to class members. Each class that has SERIALIZE section creates this function automatically. It may count members, return hash, give element-wise access to any member. Instead of keeping registered fields that routine gives fast dynamic access to any member. If you making own container, you should create this function as well, othervice your class will not be serialized correctly even if you will make GetElement(...) function. More... | |
void | ForEach (const std::function< bool(BaseClassElement *el)> &fn, bool OnlyPointsers=false) |
Calls function for each class member. This function used in _EACH ... _EACH_END cycle. More... | |
virtual bool | CopyBaseClass (BaseClass *Dest, bool Add=false) |
Copy base class to other class uning names correspondence. More... | |
virtual void | Save (TagsList &xml, void *ClassPtr, void *Extra=NULL) |
Save class to the XML structure. More... | |
virtual bool | Load (TagsList &xml, void *ClassPtr, void *Extra=NULL) |
Load the class from the XML structure. More... | |
virtual bool | FullCopy (const void *SrcData, const void *SrcDataExtra, BaseClass *Dest, void *DestData, void *DstDataExtra, CECopyContext *C) |
Fast copy from one BaseClass to another. Names and types correspondence used to copy. More... | |
virtual void | SaveBin (void *Data, void *Extra, BinStream *Out, Enumerator *ExDictionary, Enumerator *SkipList) |
Save in binaly form. Use only for temporary storage in memory!!! More... | |
virtual void | LoadBin (void *Data, void *Extra, BinStream *In, Enumerator *ExDictionary) |
Load the class from the memory. Use only for temporary storage in memory!!! More... | |
virtual void | UpdateHash (HashSummator &S, void *data=nullptr, void *extra=nullptr) |
returns hash value dependent on data fields of this class More... | |
virtual int | GetAmountOfElementsInUI () |
return amount of elements represented in UI More... | |
virtual int | GetAmountOfElementsInXML () |
return amount of elements taht will be stored in XML More... | |
virtual const char * | GetClassName () const |
return class name there if need. Usually you don't need, if you are using AUTONEW or SERIALIZE More... | |
virtual void | RegisterMembers () |
Reload this function to register members. Usually you don't need to do this if you are using any of SERIALIZE methods of registration. More... | |
virtual int | GetAmountOfElements () |
return complete amount of elements. Even invisible, masked and non-serialized elements will be counted More... | |
virtual int | GetClassSize () const |
return actual size of this class More... | |
virtual BaseClass * | new_element () const |
construct pointer to class of the same type like this. Elements will not be copied into the new place More... | |
virtual bool | GetElement (BaseClassElement &res, int idx, const void *Ptr=nullptr, const void *Extra=nullptr) |
bool | GetElementByName (const char *Name, void *Ptr, void *Extra, BaseClassElement &res, bool UI=false, bool Serialize=true) |
The function returns complete information about the member by it's name. More... | |
void | DeleteDefaultSubFields (TagsList &xml, void *ClassPtr, void *Extra=NULL) |
Short form saving. Fields that are unchanged in comparison to default will be skipped in XML. More... | |
virtual bool | ShouldSaveInShortForm () |
Return true if class should be saved in short form mandatory. More... | |
virtual int | ExpandWith (const char *ElmName, void *base) |
Expand array with class ElmName. More... | |
virtual bool | DelElement (int Index) |
removes element if the operation supported More... | |
template<class Type = BaseClass> | |
bool | valid () const |
call it to check if this BaseClass pointer is valid More... | |
BaseClass * | auto_cast (void *ptr) const |
if class is directly castable the function returns ptr cased to BaseClass, othervice this pointrer returned. If NULL returned - something is wrong. More... | |
virtual bool | ReadFromFile (const char *Name) |
Save the object to file or binary stream. Example. More... | |
virtual void | FromStr (const comms::cStr &bs) |
virtual bool | CheckIfFunction () const |
Special function for integrating in editor. More... | |
virtual int | condition_call (void *ptr) |
return -1 to do nothing, 0 if you want to hide everything after this registered member, 1 if you want to show More... | |
virtual void | SetParent (BaseClass *Parent) |
set parent recursively More... | |
virtual void | SimplySetParent (BaseClass *Parent) |
set parent directly to this, not affecting members More... | |
virtual bool | CheckCompartabilityWith (const char *TypeName, int TypeSize) |
Checking for errors of registration. More... | |
virtual bool | ProcessInEditor (BaseClass *Parent) |
Editor will call next function always when it is visible in tree. Return true if overriden. More... | |
virtual bool | HandleKey (int code) |
Editor will call next function when key pressed. More... | |
virtual bool | OnChangeMember (BaseClass *MembClass, void *MembPtr, void *MembExtra, const char *MembName) |
Editor will call it every time when member changes and editor is able to recognise it. More... | |
virtual void | BeforeChangeMember (BaseClass *MembClass, void *MembPtr, void *MembExtra, const char *MembName) |
Editor will call it every time before the changes. More... | |
virtual BaseWidget * | OnCreateControlFromScratch (const ClassEditorContext &Context, Rct &Rect) |
Create completely own control for ClassEditor. More... | |
virtual void | OnModifyControl (const char *FieldName, BaseWidget *W, ClassEditorContext &Context) |
Call for every member of registered class registered class. More... | |
virtual bool | CanBeDragged (const char *MemberID, int &dx, int &dy) |
Use it for build a Drag & Drop element. More... | |
virtual bool | CanAcceptDrag (const char *MemberID) |
virtual bool | OnStartDrag (const char *MemberID) |
virtual bool | OnEndDrag (const char *MemberID) |
virtual bool | OnAcceptDrag (BaseClass *DraggedItemParent, const char *DraggedMemberID, const char *AcceptorMemberID, iRct MyRect) |
void | SetParents () |
set parents to this for all child members More... | |
void | SetParentsSafe () |
set parents to this for all child members, each child will be tested for validity More... | |
Static Public Member Functions | |
static ui_menu_simple * | Register (VoxelExtension *ex) |
Call this function to register own extension. More... | |
Public Attributes | |
cStr | S |
Just example of some elements to be serialized. More... | |
cList< Example1 > | List |
list of elements not derived from the BaseClass More... | |
cList< SimpleStructure > | SimpleList |
List of simple elements, it may be serialized with just one command. More... | |
cList< PartiallyStored > | Partial |
List that willbe stored partially, only pos field in PartiallyStored. More... | |
ClassArray< MyClassTest > | List2 |
List of elements derived from the BaseClass. More... | |
int | ID |
For internal use by application. More... | |
cStr | BaseParentTool |
Used if tool duplicated. This is very base of the tool, it does not changes when tool duplicated. This is like "grand-grand...father". More... | |
cStr | PreviousParentTool |
This is ID of parent, like "father" tool. More... | |
Static Public Attributes | |
static bool | GeneralUsage =false |
true if VoxelExtension used outside of voxel room. More... | |
static const char * | CurrentSaveFile |
If user triggers saving class to file, last filename stored there. More... | |
Protected Attributes | |
BaseClass * | ParentBC |
pointer to the parent class in the tree More... | |
DWORD | _ClassMask |
Result of GetClassMask() written there. GetClassMask() is not const, so can't use it in const functions. The field introduced to use masking in const functions. More... | |
Static Protected Attributes | |
static std::mutex * | pmutex |
mutex for register_this / remove_this More... | |
static uni_hash< _empty, cPtrDiff,(1<< 18), 2048 > * | presence |
each BaseClass registered in this list More... | |
Sometimes you need to store the data from your extension to the scene file. Some data may be serialized simply - via BaseClass, but sometimes you need to keep non base class based information. You may use TagsList for this purpose. This is tree - like structure, usually it is stored as XML, but may be stored in more compact binary form. Please investigate the next example very carefully, every detail is important.
|
inlinevirtualinherited |
1 - Auto pick, 2 - pick by click, 0 - don't pick
Reimplemented in NoiseMaster.
|
inlinevirtualinherited |
Acts like Move tool.
|
inlinevirtualinherited |
Returns true
if need only rect selection capability.
|
inlinevirtualinherited |
Returns false
if don't need rect selection capability.
Reimplemented in RtKnife, and NoiseMaster.
|
inlinevirtualinherited |
You may disable smoothing with shift.
|
inlinevirtualinherited |
0 - disable, 1 - allow, 2 - in 2D mode
|
inherited |
if class is directly castable the function returns ptr cased to BaseClass, othervice this pointrer returned. If NULL returned - something is wrong.
|
inlinevirtualinherited |
Editor will call it every time before the changes.
Reimplemented in CurvePrimitive.
|
inlinevirtualinherited |
BeforeSave called each time before saving scene.
|
inlinevirtualinherited |
Reimplemented in ItemsTree.
Referenced by CreateControlWithBaseClass().
|
inlinevirtualinherited |
Use it for build a Drag & Drop element.
Reimplemented in ItemsTree.
Referenced by CreateControlWithBaseClass().
|
inlinevirtualinherited |
Reimplemented in CSurfaceNGenerTwoGuide, and RtKnife.
|
inlinevirtualinherited |
Checking for errors of registration.
|
inlineoverridevirtualinherited |
BaseClass corresponds to some other data type. For example _int correctonds to int, etc... In this case you can't cast pointer to data to BaseClass*. But in some cases BaseClass may be directlt castable, for example if it has registered members, or it is ClassArray. This function is to define if class is directly castable.
Reimplemented from BaseClass.
|
inlinevirtualinherited |
Special function for integrating in editor.
Referenced by CreateControlWithBaseClass().
|
virtualinherited |
call it in Clear() if New should reset tool to the default state
References VoxelExtension::GetID().
|
inlinevirtualinherited |
return -1 to do nothing, 0 if you want to hide everything after this registered member, 1 if you want to show
|
virtualinherited |
Copy base class to other class uning names correspondence.
Dest | The destination object |
Add | Add members to class arrays or replace |
Referenced by CSurfaceSwept::RequiresUpdate(), CSurfaceRotate::RequiresUpdate(), CSurfacePrism::RequiresUpdate(), CSurfaceSwept2::RequiresUpdate(), CSurfaceSwept3::RequiresUpdate(), CSurfaceNGenerTwoGuide::RequiresUpdate(), CSurfaceRotate::Update(), CSurfacePrism::Update(), CSurfaceSwept2::Update(), CSurfaceSwept3::Update(), and CSurfaceNGenerTwoGuide::Update().
|
inlinevirtualinherited |
This is the main function used for the access to class members. Each class that has SERIALIZE section creates this function automatically.
It may count members, return hash, give element-wise access to any member. Instead of keeping registered fields that routine gives fast dynamic access to any member.
If you making own container, you should create this function as well, othervice your class will not be serialized correctly even if you will make GetElement(...) function.
required_index | Index of required element if result != nullptr |
counter | if nonzero, the elements count returned there. |
hash | if nonzero, returns hash value for this class. |
result | if nonzero, gives access to the member with index required_index. |
ForEachElem | if nonzero, the function will be called for each class element. |
OnlyPointersMode | If true, the field name will not be filled for speed purposes. |
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, StringsList, and KnotReference.
|
inlinevirtualinherited |
Creates parameters plate of this tool.
|
inlinevirtualinherited |
Create toolset on the top line.
|
inlinevirtualinherited |
removes element if the operation supported
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, and StringsList.
|
inherited |
Short form saving. Fields that are unchanged in comparison to default will be skipped in XML.
|
inlinevirtualinherited |
Returns true
if you don't want radius to be dependent on pen pressure.
|
inlinevirtualinherited |
Returns true
if you want to draw starting from initial pick point in free space.
|
inlinevirtualinherited |
Expand array with class ElmName.
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, and ClassArray< VMapType >.
|
inherited |
Calls function for each class member. This function used in _EACH ... _EACH_END cycle.
fn | Function to call, usually lambda |
OnlyPointsers | If true, stringual ID field of BaseClassElement will not be filled (for speed purposes). |
|
virtualinherited |
|
virtualinherited |
Fast copy from one BaseClass to another. Names and types correspondence used to copy.
SrcData | Data data pointer |
SrcDataExtra | Src extra |
Dest | Destination class |
DestData | Destination data |
DstDataExtra | Destination extra |
C | copy context |
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, StringsList, and Delimiter.
|
virtualinherited |
return complete amount of elements. Even invisible, masked and non-serialized elements will be counted
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, and ClassArray< VMapType >.
Referenced by CreateControlWithBaseClass().
|
virtualinherited |
return amount of elements represented in UI
|
virtualinherited |
return amount of elements taht will be stored in XML
|
inlinevirtualinherited |
For supports tool.
|
inlinevirtualinherited |
Masking elements of class. Each member has mask. Element is serializable/visible only if (it's_mask & hosting_class_mask) != 0.
Reimplemented in UV_map_Tool, and VoxTreeBranch.
Referenced by CreateControlWithBaseClass().
|
virtualinherited |
return class name there if need. Usually you don't need, if you are using AUTONEW or SERIALIZE
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, StringsList, and Delimiter.
Referenced by ClassArray< VMapType >::CountObjects(), CreateControlWithBaseClass(), CurveModifier::GetTool(), ClassArray< VMapType >::SaveBin(), and ClassPtr< BasePrim >::SaveBin().
|
virtualinherited |
return actual size of this class
|
virtualinherited |
The function returns complete information about the member by it's index. If you want to walk through all members use _EACH ... _EACH_END loop.
res | All data gathered there |
idx | Index of the member |
Ptr | Pointer to data (if class is direcly castable it is equal to this, othervice it points to placement of data in memory). If NULL passed, this will be used |
Extra | Extra data, used for enumerators and sliders (mostly) |
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, and ClassPtr< BasePrim >.
Referenced by CreateControlWithBaseClass().
|
inherited |
The function returns complete information about the member by it's name.
Name | Name of the member |
Ptr | Data ptr |
Extra | Extra |
res | All data gathered there |
Referenced by CurvePrimitive::OnChangeMember().
|
inlinevirtualinherited |
Define Textual ID in tools list.
Reimplemented in CSurfaceNGenerTwoGuide, CSurfaceSwept3, CSurfaceSwept2, CSurfacePrism, CSurfaceRotate, CommandButton, CSurfaceSwept, QuadStripTool, RtKnife, and NoiseMaster.
Referenced by VoxelExtension::ClearMyToolPreset(), VoxelExtension::Register(), and VoxelExtension::SwitchTo().
|
inlinevirtual |
return 1 there if need to insert something into the 3B scene
Reimplemented from VoxelExtension.
|
inherited |
BaseClass is like a tree, and you always can get the root of the tree using this function.
|
inlinevirtual |
return your own unique magic code there
Reimplemented from VoxelExtension.
|
inlinevirtualinherited |
Editor will call next function when key pressed.
Referenced by CreateControlWithBaseClass().
|
inlinevirtualinherited |
Possible fields: Buildup, NrmSampling, NormalsSampling,.
|
inlinevirtualinherited |
For tool actions! Return false if it is the tool, return true if it is just button without the need of the tool activation. In this case only OnActivate() will be called when user presses the button.
Reimplemented in CommandButton.
Referenced by VoxelExtension::Register().
|
virtualinherited |
Load the class from the XML structure.
xml | The source XML |
ClassPtr | The pointer to the data, equals to this if class is directly castable |
Extra | Extra data pointer |
Reimplemented in ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, CurveModifier, StringsList, and KnotReference.
Referenced by CurveModifier::Load(), ClassArray< VMapType >::Load(), and CurvePrimitive::OnChangeMember().
|
virtualinherited |
Load the class from the memory. Use only for temporary storage in memory!!!
Data | Pointer to the class data |
Extra | Extra data |
In | binary stream to read data from |
ExDictionary | Additional dictionary |
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, CurveModifier, StringsList, and Delimiter.
Referenced by CurveModifier::LoadBin(), and ClassArray< VMapType >::LoadBin().
|
inlinevirtual |
Load data from 3D-file.
Data will be in the same order as it was saved, no additional headers.
restore the tree from the stream
read elements from the tree. Pay attention that if the element does not exist in the tree, the variable will be just zero-ed, no crash will happen Now we will seek the element named "S".
simple list restoring
partal array restoring only
seek the sub-tree named "List"
order of reading has no difference
the element filled, add to the array
exit from the cycle if there is no the i-th element
restoring BaseClass is simple, but if you used ClassArray, you need ensure that class used in ClassArray<...> is registered in the system
restoring the BaseClass derivatives is super simple!
Reimplemented from VoxelExtension.
References TagsList::elem(), TagsList::FromBS(), List, List2, Partial, TagsList::RestoreField(), S, and SimpleList.
|
inlinevirtualinherited |
Returns true
if need at least one point per trajectoty chunk.
|
inlinevirtualinherited |
Returns true
if you need to use VolumeCell::LocalMeshPtr
.
|
inlinevirtualinherited |
Returns 1
if you need to construct brush trajectory with TMaster
including end points and 2
if you need to include start point in trajectory, 0
if you don't need TMaster
at all.
Reimplemented in QuadStripTool, and RtKnife.
|
virtualinherited |
construct pointer to class of the same type like this. Elements will not be copied into the new place
Referenced by ClassArray< VMapType >::ExpandWith(), and ClassPtr< BasePrim >::ExpandWith().
|
inlinevirtualinherited |
Reimplemented in ItemsTree.
|
inlinevirtualinherited |
Called when user activates tool.
Reimplemented in CSurfaceNGenerTwoGuide, CommandButton, RtKnife, and NoiseMaster.
Referenced by RetopoTool::Activate(), RetopoTool::ActivateMode(), and VoxelExtension::Register().
|
inlinevirtualinherited |
Perform action by ENTER key and return true
if tool does not allow default ENTER action.
Reimplemented in NoiseMaster.
|
inlinevirtualinherited |
Editor will call it every time when member changes and editor is able to recognise it.
Reimplemented in UV_map_Tool, VoxTreeBranch, OneFacture, QuadragulationTask, and CurvePrimitive.
|
inlinevirtualinherited |
Called when user selects "New scene".
Reimplemented in RtKnife.
|
inlinevirtualinherited |
Create completely own control for ClassEditor.
Override it when need to create completely own class editor control.
[in] | FieldName | is how the object registered. |
[out] | Rect | is rectangle to place control, may be modified by this function if need. |
[in] | Ptr | is pointer to data, if class suports direct casting it is equal to "this". |
Reimplemented in ModelPreview.
Referenced by CreateControlWithBaseClass().
|
inlinevirtualinherited |
called in curve editor to correct the curve alias and placement
|
inlinevirtualinherited |
Called when preset created manually by user.
|
inlinevirtualinherited |
Called when user chooses other tool but this.
Reimplemented in CSurfaceNGenerTwoGuide, and NoiseMaster.
Referenced by RetopoTool::Activate(), RetopoTool::ActivateMode(), and VoxelExtension::Register().
|
inlinevirtualinherited |
Called when you are trying to draw by some brush.
Reimplemented in NoiseMaster.
|
inlinevirtualinherited |
Reimplemented in ItemsTree.
|
inlinevirtualinherited |
KeyCode
is Windows virtual keyboard codes like VK_xxxx
.
Reimplemented in RtKnife.
|
inlinevirtualinherited |
Call for every member of registered class registered class.
Override it when you need to modify default class editor control. This routine allows to modify class editor controls without rewriting from scratch. Build controls in the W
.
Reimplemented in VoxTreeBranch, and ItemsTree.
Referenced by CreateControlWithBaseClass().
|
inlinevirtualinherited |
Called when preset activated regardless if tool active or not.
|
inlinevirtualinherited |
called to add transformed proxy objects into scene
|
inlinevirtualinherited |
Called when user ends rectagular/curve selection, returns true if don't need further handling.
|
inlinevirtualinherited |
notify when pen/strip/material/Shader etc selected. Set breakpoint and select to get valid category. Currently available: Pen, MASK, Shaders, STRIPS, Materials
|
inlinevirtualinherited |
Called when user chosen model in models palette, return true
if model used and action captured.
|
inlinevirtualinherited |
Reimplemented in ItemsTree.
|
inlinevirtualinherited |
step in 1 or -1 in dependence on direction
|
inlinevirtualinherited |
return 0 if you don't need sampling radius
|
inlinevirtualinherited |
!!!false
|
inlinevirtualinherited |
Returns true
if the tool is present in voxel surface toolset.
Reimplemented in RtKnife, and NoiseMaster.
Referenced by VoxelExtension::Register().
|
inlinevirtualinherited |
Returns true
if the tool is present in voxel toolset.
Reimplemented in QuadStripTool, RtKnife, and NoiseMaster.
Referenced by VoxelExtension::Register().
|
inlinevirtualinherited |
Called once per frame.
Reimplemented in NoiseMaster.
|
inlinevirtualinherited |
Editor will call next function always when it is visible in tree. Return true if overriden.
Reimplemented in OneFacture, and CurvePrimitive.
Referenced by CreateControlWithBaseClass().
|
virtualinherited |
Save the object to file or binary stream. Example.
|
staticinherited |
Call this function to register own extension.
Go to VoxelExtension.cpp, include your header, call VoxelExtension::Register in function RegisterVoxelExtensions().
References VoxelExtension::GetID(), VoxelExtension::ID, VoxelExtension::IsToolsAction(), VoxelExtension::OnActivate(), VoxelExtension::OnDeActivate(), VoxelExtension::PresentInSurfaceTools(), VoxelExtension::PresentInVoxelTools(), and ui_root().
|
virtualinherited |
Reload this function to register members. Usually you don't need to do this if you are using any of SERIALIZE methods of registration.
|
inlinevirtualinherited |
Returns nonzero if top line with params required similar to Primitives set.
|
virtualinherited |
Clearing all registered content of the class. If DataPtr is nullptr, this class will be cleared.
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, and StringsList.
|
virtualinherited |
Save class to the XML structure.
xml | The result |
ClassPtr | The pointer to the data, equals to this if class is directly castable |
Extra | Extra data pointer |
Reimplemented in CurveModifier, StringsList, and KnotReference.
Referenced by CurvePrimitive::OnChangeMember(), and CurveModifier::Save().
|
virtualinherited |
Save in binaly form. Use only for temporary storage in memory!!!
Data | data pointer |
Extra | extra pointer |
Out | Output stream |
ExDictionary | Dictionary for enumerators |
SkipList | Skip list for enumerators |
Reimplemented in ClassRef< X >, ClassRef< BaseClass >, ClassPtr< X >, ClassPtr< BaseClass >, ClassPtr< VoxMethadata >, ClassPtr< BasicDistortion >, ClassPtr< OnePenStyle >, ClassPtr< CurvePrimitive >, ClassPtr< ModelPreview >, ClassPtr< BasePrim >, ClassArray< X >, ClassArray< TextItem >, ClassArray< BaseKnot >, ClassArray< IconicText >, ClassArray< BaseClass >, ClassArray< mitem >, ClassArray< PopupWindow >, ClassArray< OneQAItem >, ClassArray< LayerMaterial >, ClassArray< SplinePoint3D >, ClassArray< BaseNode >, ClassArray< ModelItem >, ClassArray< bcVec3 >, ClassArray< FacesCluster >, ClassArray< OneToolPreset >, ClassArray< OneVolumeTransform >, ClassArray< ItemsTree >, ClassArray< VolumeObject >, ClassArray< BasicDistortion >, ClassArray< Pt3D2 >, ClassArray< CurvElement2 >, ClassArray< ABOcTreeLevel >, ClassArray< FolderState >, ClassArray< my_test1 >, ClassArray< BaseWidget >, ClassArray< ExShaderParam >, ClassArray< GuideSection >, ClassArray< ShaderPreviewStrct >, ClassArray< BaseDrawingPrim >, ClassArray< OneFold >, ClassArray< RTUVSet >, ClassArray< ClassRef< BaseClass > >, ClassArray< StringsList >, ClassArray< MeasureElement >, ClassArray< OneRandomPen >, ClassArray< OnePreset >, ClassArray< ScrollParam >, ClassArray< CurveReference >, ClassArray< OneLayerInfo >, ClassArray< OneSubObject >, ClassArray< OneMaterial >, ClassArray< ImpUVSet2 >, ClassArray< RecoSample >, ClassArray< NaviEvent >, ClassArray< ExampleOfLoadSaveDataTo3BFileExtension::MyClassTest >, ClassArray< FolderRoot >, ClassArray< WindowPos >, ClassArray< RetopoGroup >, ClassArray< BaseEffectFlow >, ClassArray< FileEnabler >, ClassArray< One2DCurve >, ClassArray< VarStorage >, ClassArray< DbgLItem >, ClassArray< wCurvePoint >, ClassArray< OneMorphInfo >, ClassArray< psd_Layer >, ClassArray< SubFaceList >, ClassArray< MRenderTarget >, ClassArray< RenamePair >, ClassArray< SplinePoint3 >, ClassArray< DockLayoutElement >, ClassArray< Point3D >, ClassArray< CellsStorage >, ClassArray< CoreScriptTempItem >, ClassArray< JointPreview >, ClassArray< SplinePoint2 >, ClassArray< SplineCurve >, ClassArray< SubdWeights >, ClassArray< OneExportTexture >, ClassArray< DragNDropToolItem >, ClassArray< TempPt >, ClassArray< OneMtlInUVSet >, ClassArray< OneHotKey >, ClassArray< ExtraLight >, ClassArray< SphereOfInfluence >, ClassArray< ImpUV2 >, ClassArray< OneMtlLayer >, ClassArray< SplinePoint >, ClassArray< SliderState >, ClassArray< CustomLeftPanel >, ClassArray< cElement >, ClassArray< LwoNode >, ClassArray< ImpUVSet >, ClassArray< RetopoUVSet >, ClassArray< OneDrawnStroke >, ClassArray< LayerData >, ClassArray< CurvePrimitive >, ClassArray< KeptPolygon >, ClassArray< NodesCategory >, ClassArray< SymmetryState >, ClassArray< CurvedChunk >, ClassArray< BasePrim >, ClassArray< CameraShortcut >, ClassArray< VMapType >, CurveModifier, StringsList, and Delimiter.
Referenced by CurveModifier::SaveBin(), ClassArray< VMapType >::SaveBin(), and ClassPtr< BasePrim >::SaveBin().
|
inlinevirtual |
Store data to the 3B file using Bin stream.
This function will be called 2 times during saving - once for size calculation, second - actually for saving.
Add values to the tags list. Use # to name each tag. Pass the tag name with #, then pass the value
add the branch to store the list
place each structure element to the own sub-tag.In thiscase it is empty-named because we will refer it by index, not by name.
saving simple list, pay attention that you shoud keep the order of elements forever in the structure, so be careful!
Now we should store BaseClass based part, it is simple, just add tag and pass class pointer there
Store only subset of the array (pos field)
Now store the tree to the stream in the binary form
Reimplemented from VoxelExtension.
References TagsList::AddSubTag(), TagsList::bin_ToBS(), List, List2, Partial, S, SimpleList, and TagsList::StoreField().
|
virtualinherited |
set parent recursively
Referenced by VoxTreeBranch::Add(), and ClassArray< VMapType >::ExpandWith().
|
inherited |
set parents to this for all child members
Referenced by CreateControlWithBaseClass().
|
inherited |
set parents to this for all child members, each child will be tested for validity
|
inlinevirtualinherited |
Return true if class should be saved in short form mandatory.
|
virtualinherited |
set parent directly to this, not affecting members
|
inherited |
Please use this function to activate the tool.
References VoxelExtension::GetID().
|
inlinevirtualinherited |
called when geometry transformed in retopo room
|
virtualinherited |
returns hash value dependent on data fields of this class
data | Data ptr pointer to data |
extra | Extra ptr pointer to methadata |
Reimplemented in VoxTreeBranch, StringsList, and ItemsTree.
Referenced by ClassArray< VMapType >::CountObjects().
|
inlineinherited |
call it to check if this BaseClass pointer is valid
References BaseClass::pmutex, and BaseClass::presence.
Referenced by RegisterVoxHelper::clearScene(), and CreateControlWithBaseClass().
|
protectedinherited |
Result of GetClassMask() written there. GetClassMask() is not const, so can't use it in const functions. The field introduced to use masking in const functions.
|
inherited |
Used if tool duplicated. This is very base of the tool, it does not changes when tool duplicated. This is like "grand-grand...father".
|
staticinherited |
If user triggers saving class to file, last filename stored there.
|
staticinherited |
true
if VoxelExtension
used outside of voxel room.
Referenced by RetopoTool::Activate(), and RetopoTool::ActivateMode().
|
inherited |
For internal use by application.
You can add an icon for tool when ID is defined. All icons located in the folder textures/icons64
.
ui2.xml
in the root of application. Referenced by CurveModifier::GetTool(), and VoxelExtension::Register().
list of elements not derived from the BaseClass
Referenced by LoadData(), and SaveData().
ClassArray< MyClassTest> ExampleOfLoadSaveDataTo3BFileExtension::List2 |
List of elements derived from the BaseClass.
Referenced by LoadData(), and SaveData().
|
protectedinherited |
pointer to the parent class in the tree
cList<PartiallyStored> ExampleOfLoadSaveDataTo3BFileExtension::Partial |
List that willbe stored partially, only pos field in PartiallyStored.
Referenced by LoadData(), and SaveData().
|
staticprotectedinherited |
mutex for register_this / remove_this
Referenced by BaseClass::valid().
|
staticprotectedinherited |
each BaseClass registered in this list
Referenced by BaseClass::valid().
|
inherited |
This is ID of parent, like "father" tool.
cStr ExampleOfLoadSaveDataTo3BFileExtension::S |
Just example of some elements to be serialized.
Referenced by LoadData(), and SaveData().
cList<SimpleStructure> ExampleOfLoadSaveDataTo3BFileExtension::SimpleList |
List of simple elements, it may be serialized with just one command.
Referenced by LoadData(), and SaveData().