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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CSurfaceRotate Class Reference

The class CSurfaceRotate is creating by rotating the generator around an axis. More...

#include <Surface.h>

Public Member Functions

virtual void Update (comms::cMeshContainer *res)
 Reload this function to produce mesh based on curves. Fill res with correct mesh. More...
 
virtual const char * GetMenuID ()
 the ID that will appear in RMB menu over the curve More...
 
virtual bool RequiresUpdate ()
 Reload this function to check if mesh should be updated. More...
 
virtual const char * GetID ()
 Define Textual ID in tools list. More...
 
OneCurveObject * GetCurve ()
 get curve that handled by this Modifier More...
 
VoxTreeBranchGetVolume ()
 get VoxTreeBranch related to this modifier More...
 
bool IsPresent ()
 Does this exemplar present in list of active modifiers? More...
 
CurveModifierGetTool ()
 get registered exempliar of this tool, this is not "this"! More...
 
virtual bool Load (TagsList &xml, void *ClassPtr, void *Extra) override
 Reload all Load/Save functions if you need to store/restore something except registered members. More...
 
virtual void Save (TagsList &xml, void *ClassPtr, void *Extra) override
 Save class to the XML structure. More...
 
virtual void SaveBin (void *Data, void *Extra, BinStream *Out, Enumerator *ExDictionary, Enumerator *SkipList) override
 Save in binaly form. Use only for temporary storage in memory!!! More...
 
virtual void LoadBin (void *Data, void *Extra, BinStream *In, Enumerator *ExDictionary) override
 Load the class from the memory. Use only for temporary storage in memory!!! More...
 
void AssignMesh (comms::cMeshContainer &mc)
 Assign the mesh to attached VoxTreeBranch. More...
 
void SwitchTo ()
 Please use this function to activate the tool. 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 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 DrawOnPlane ()
 Returns true if you want to draw starting from initial pick point in free space. 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 int GetNumSaveChunks ()
 Returns number of save chunks for 3B file, the chunk index will be passed to each load/save related function. See the BIG example of data serialization in the examplary class ExampleOfLoadSaveDataTo3BFileExtension (in VoxelExtension.cpp) More...
 
virtual DWORD GetSaveMagic (int ChunkIdx)
 Returns unique ID of the save chunk, idx is the chunk index. 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...
 
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...
 
BaseClassGetRoot ()
 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 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 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 BaseClassnew_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...
 
BaseClassauto_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 CurveModifierGetModifier (DWORD id)
 get modifier by curve ID More...
 
static CurveModifierGetModifierBySpaceID (DWORD id)
 get modifier by space ID More...
 
static CurveModifiergetMod (int idx)
 indexed access to active modifiers list, returns NULL if list ended More...
 
static void TangentShiftPoints (cList< OneSelPoint > &Src, bool Closed, float ShiftValue, bool Absolute, cList< OneSelPoint > &Dst)
 Perform tangent shift of curve poins to inner side or outside. More...
 
static ui_menu_simple * Register (VoxelExtension *ex)
 Call this function to register own extension. More...
 

Public Attributes

DWORD CurveObjID
 The modifier attached the curve. This is the ID of this curve. 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 Member Functions

void UpdateKnots ()
 
void UpdateKnots0 ()
 
void UpdateKnots1 ()
 
void UpdateKnots2 ()
 
void UpdateKnots3 ()
 

Protected Attributes

BaseClassParentBC
 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...
 

Detailed Description

The class CSurfaceRotate is creating by rotating the generator around an axis.

+ Inheritance diagram for CSurfaceRotate:

Member Function Documentation

virtual int VoxelExtension::AllowAutoPick ( )
inlinevirtualinherited

1 - Auto pick, 2 - pick by click, 0 - don't pick

Reimplemented in NoiseMaster.

virtual bool VoxelExtension::AllowDrag ( )
inlinevirtualinherited

Acts like Move tool.

virtual bool VoxelExtension::AllowShiftSmooth ( )
inlinevirtualinherited

You may disable smoothing with shift.

virtual int VoxelExtension::AllowSplineStroke ( )
inlinevirtualinherited

0 - disable, 1 - allow, 2 - in 2D mode

BaseClass* BaseClass::auto_cast ( void *  ptr) const
inherited

if class is directly castable the function returns ptr cased to BaseClass, othervice this pointrer returned. If NULL returned - something is wrong.

virtual void BaseClass::BeforeChangeMember ( BaseClass MembClass,
void *  MembPtr,
void *  MembExtra,
const char *  MembName 
)
inlinevirtualinherited

Editor will call it every time before the changes.

See Also
OnChangeMember()

Reimplemented in CurvePrimitive.

virtual void VoxelExtension::BeforeSave ( const char *  filename)
inlinevirtualinherited

BeforeSave called each time before saving scene.

virtual bool BaseClass::CanAcceptDrag ( const char *  MemberID)
inlinevirtualinherited
virtual bool BaseClass::CanBeDragged ( const char *  MemberID,
int &  dx,
int &  dy 
)
inlinevirtualinherited

Use it for build a Drag & Drop element.

See Also
CanAcceptDrag(), OnStartDrag(), OnEndDrag(), OnAcceptDrag()

Reimplemented in ItemsTree.

Referenced by CreateControlWithBaseClass().

virtual bool VoxelExtension::CanDrawInFreeSpace ( )
inlinevirtualinherited
Warning
Don't allow to navigate with LMB, do own action instead.

Reimplemented in CSurfaceNGenerTwoGuide, and RtKnife.

virtual bool BaseClass::CheckCompartabilityWith ( const char *  TypeName,
int  TypeSize 
)
inlinevirtualinherited

Checking for errors of registration.

virtual bool VoxelExtension::CheckDirectCasting ( ) const
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.

Returns
Return true if void* ClassPtr may be directly casted to BaseClass*

Reimplemented from BaseClass.

virtual bool BaseClass::CheckIfFunction ( ) const
inlinevirtualinherited

Special function for integrating in editor.

Referenced by CreateControlWithBaseClass().

void VoxelExtension::ClearMyToolPreset ( )
virtualinherited

call it in Clear() if New should reset tool to the default state

References VoxelExtension::GetID().

virtual int BaseClass::condition_call ( void *  ptr)
inlinevirtualinherited

return -1 to do nothing, 0 if you want to hide everything after this registered member, 1 if you want to show

virtual bool BaseClass::CopyBaseClass ( BaseClass Dest,
bool  Add = false 
)
virtualinherited

Copy base class to other class uning names correspondence.

Parameters
DestThe destination object
AddAdd members to class arrays or replace
Returns
true if successful

Referenced by CSurfaceSwept::RequiresUpdate(), RequiresUpdate(), CSurfacePrism::RequiresUpdate(), CSurfaceSwept2::RequiresUpdate(), CSurfaceSwept3::RequiresUpdate(), CSurfaceNGenerTwoGuide::RequiresUpdate(), Update(), CSurfacePrism::Update(), CSurfaceSwept2::Update(), CSurfaceSwept3::Update(), and CSurfaceNGenerTwoGuide::Update().

virtual void BaseClass::CountObjects ( int &  required_index,
int *  counter,
HashSummator hash,
BaseClassElement result,
const std::function< bool(BaseClassElement *)> *  ForEachElem = nullptr,
bool  OnlyPointersMode = false 
)
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.

Parameters
required_indexIndex of required element if result != nullptr
counterif nonzero, the elements count returned there.
hashif nonzero, returns hash value for this class.
resultif nonzero, gives access to the member with index required_index.
ForEachElemif nonzero, the function will be called for each class element.
OnlyPointersModeIf 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.

virtual bool VoxelExtension::CreateInterface ( BaseWidget *  Where)
inlinevirtualinherited

Creates parameters plate of this tool.

virtual bool VoxelExtension::CreateToolset ( )
inlinevirtualinherited

Create toolset on the top line.

See Also
VoxelSculptTool::CreateToolset() as example
virtual bool BaseClass::DelElement ( int  Index)
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.

void BaseClass::DeleteDefaultSubFields ( TagsList xml,
void *  ClassPtr,
void *  Extra = NULL 
)
inherited

Short form saving. Fields that are unchanged in comparison to default will be skipped in XML.

virtual bool VoxelExtension::DrawOnPlane ( )
inlinevirtualinherited

Returns true if you want to draw starting from initial pick point in free space.

virtual int BaseClass::ExpandWith ( const char *  ElmName,
void *  base 
)
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 >.

void BaseClass::ForEach ( const std::function< bool(BaseClassElement *el)> &  fn,
bool  OnlyPointsers = false 
)
inherited

Calls function for each class member. This function used in _EACH ... _EACH_END cycle.

Parameters
fnFunction to call, usually lambda
OnlyPointsersIf true, stringual ID field of BaseClassElement will not be filled (for speed purposes).
virtual void BaseClass::FromStr ( const comms::cStr &  bs)
virtualinherited
See Also
ToBS()
virtual bool BaseClass::FullCopy ( const void *  SrcData,
const void *  SrcDataExtra,
BaseClass Dest,
void *  DestData,
void *  DstDataExtra,
CECopyContext *  C 
)
virtualinherited

Fast copy from one BaseClass to another. Names and types correspondence used to copy.

Parameters
SrcDataData data pointer
SrcDataExtraSrc extra
DestDestination class
DestDataDestination data
DstDataExtraDestination extra
Ccopy context
Returns
true if successful

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.

virtual int BaseClass::GetAmountOfElements ( )
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().

virtual int BaseClass::GetAmountOfElementsInUI ( )
virtualinherited

return amount of elements represented in UI

virtual int BaseClass::GetAmountOfElementsInXML ( )
virtualinherited

return amount of elements taht will be stored in XML

virtual float VoxelExtension::GetBottomOffset ( )
inlinevirtualinherited

For supports tool.

virtual DWORD BaseClass::GetClassMask ( )
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().

virtual const char* BaseClass::GetClassName ( ) const
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().

virtual int BaseClass::GetClassSize ( ) const
virtualinherited

return actual size of this class

OneCurveObject * CurveModifier::GetCurve ( )
inherited

get curve that handled by this Modifier

References CurveModifier::CurveObjID, and CurveModifier::IsPresent().

Referenced by CurveModifier::AssignMesh().

virtual bool BaseClass::GetElement ( BaseClassElement res,
int  idx,
const void *  Ptr = nullptr,
const void *  Extra = nullptr 
)
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.

Parameters
resAll data gathered there
idxIndex of the member
PtrPointer 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
ExtraExtra data, used for enumerators and sliders (mostly)
Returns
return true if element exists and visible

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().

bool BaseClass::GetElementByName ( const char *  Name,
void *  Ptr,
void *  Extra,
BaseClassElement res,
bool  UI = false,
bool  Serialize = true 
)
inherited

The function returns complete information about the member by it's name.

Parameters
NameName of the member
PtrData ptr
ExtraExtra
resAll data gathered there
Returns
return true if element exists and visible

Referenced by CurvePrimitive::OnChangeMember().

virtual const char* CSurfaceRotate::GetID ( )
inlinevirtual

Define Textual ID in tools list.

Reimplemented from VoxelExtension.

const char * CSurfaceRotate::GetMenuID ( )
virtual

the ID that will appear in RMB menu over the curve

Reimplemented from CurveModifier.

CurveModifier * CurveModifier::getMod ( int  idx)
staticinherited

indexed access to active modifiers list, returns NULL if list ended

CurveModifier * CurveModifier::GetModifier ( DWORD  id)
staticinherited

get modifier by curve ID

References CurveModifier::CurveObjID.

CurveModifier * CurveModifier::GetModifierBySpaceID ( DWORD  id)
staticinherited

get modifier by space ID

virtual int VoxelExtension::GetNumSaveChunks ( )
inlinevirtualinherited

Returns number of save chunks for 3B file, the chunk index will be passed to each load/save related function. See the BIG example of data serialization in the examplary class ExampleOfLoadSaveDataTo3BFileExtension (in VoxelExtension.cpp)

Reimplemented in ExampleOfLoadSaveDataTo3BFileExtension, and QuadStripTool.

BaseClass* BaseClass::GetRoot ( )
inherited

BaseClass is like a tree, and you always can get the root of the tree using this function.

virtual DWORD VoxelExtension::GetSaveMagic ( int  ChunkIdx)
inlinevirtualinherited

Returns unique ID of the save chunk, idx is the chunk index.

Reimplemented in ExampleOfLoadSaveDataTo3BFileExtension, and QuadStripTool.

CurveModifier * CurveModifier::GetTool ( )
inherited

get registered exempliar of this tool, this is not "this"!

References BaseClass::GetClassName(), and VoxelExtension::ID.

VoxTreeBranch * CurveModifier::GetVolume ( )
inherited

get VoxTreeBranch related to this modifier

References CurveModifier::CurveObjID.

Referenced by CurveModifier::AssignMesh().

virtual bool BaseClass::HandleKey ( int  code)
inlinevirtualinherited

Editor will call next function when key pressed.

Returns
true if key handled, false if not.Return true if code == -1 (othervice callback will never be called later).

Referenced by CreateControlWithBaseClass().

virtual bool VoxelExtension::IgnoreFieldInTopPanel ( const char *  FieldName)
inlinevirtualinherited

Possible fields: Buildup, NrmSampling, NormalsSampling,.

bool CurveModifier::IsPresent ( )
inherited

Does this exemplar present in list of active modifiers?

Referenced by CurveModifier::GetCurve().

virtual bool VoxelExtension::IsToolsAction ( )
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().

bool CurveModifier::Load ( TagsList xml,
void *  ClassPtr,
void *  Extra 
)
overridevirtualinherited

Reload all Load/Save functions if you need to store/restore something except registered members.

Reimplemented from BaseClass.

References BaseClass::Load().

void CurveModifier::LoadBin ( void *  Data,
void *  Extra,
BinStream *  In,
Enumerator *  ExDictionary 
)
overridevirtualinherited

Load the class from the memory. Use only for temporary storage in memory!!!

Parameters
DataPointer to the class data
ExtraExtra data
Inbinary stream to read data from
ExDictionaryAdditional dictionary

Reimplemented from BaseClass.

References BaseClass::LoadBin().

virtual void VoxelExtension::LoadData ( int  ChunkIdx,
BinStream &  BS 
)
inlinevirtualinherited

Load data from 3D-file.

Data will be in the same order as it was saved, no additional headers.

Reimplemented in ExampleOfLoadSaveDataTo3BFileExtension, and QuadStripTool.

virtual bool VoxelExtension::NeedFirstPoint ( )
inlinevirtualinherited

Returns true if need at least one point per trajectoty chunk.

virtual bool VoxelExtension::NeedGlobalIndexing ( )
inlinevirtualinherited

Returns true if you need to use VolumeCell::LocalMeshPtr.

virtual int VoxelExtension::NeedTrajectory ( )
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.

virtual BaseClass* BaseClass::new_element ( ) const
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().

virtual bool BaseClass::OnAcceptDrag ( BaseClass DraggedItemParent,
const char *  DraggedMemberID,
const char *  AcceptorMemberID,
iRct  MyRect 
)
inlinevirtualinherited
virtual bool VoxelExtension::onApply ( )
inlinevirtualinherited

Perform action by ENTER key and return true if tool does not allow default ENTER action.

Reimplemented in NoiseMaster.

virtual bool BaseClass::OnChangeMember ( BaseClass MembClass,
void *  MembPtr,
void *  MembExtra,
const char *  MembName 
)
inlinevirtualinherited

Editor will call it every time when member changes and editor is able to recognise it.

Returns
The value doesn't matter.
See Also
BeforeChangeMember()

Reimplemented in UV_map_Tool, VoxTreeBranch, OneFacture, QuadragulationTask, and CurvePrimitive.

virtual void VoxelExtension::OnClear ( )
inlinevirtualinherited

Called when user selects "New scene".

Reimplemented in RtKnife.

virtual BaseWidget* BaseClass::OnCreateControlFromScratch ( const ClassEditorContext Context,
Rct &  Rect 
)
inlinevirtualinherited

Create completely own control for ClassEditor.

Override it when need to create completely own class editor control.

Parameters
[in]FieldNameis how the object registered.
[out]Rectis rectangle to place control, may be modified by this function if need.
[in]Ptris pointer to data, if class suports direct casting it is equal to "this".
Returns
The function should return control (BaseWidget*) to place in UI
See Also
One2DCurve::OnModifyControl()

Reimplemented in ModelPreview.

Referenced by CreateControlWithBaseClass().

virtual void VoxelExtension::OnCreateNewCurve ( OneCurveObject *  cu)
inlinevirtualinherited

called in curve editor to correct the curve alias and placement

virtual void VoxelExtension::OnCreatePreset ( OnePreset *  PS)
inlinevirtualinherited

Called when preset created manually by user.

virtual void VoxelExtension::OnDeActivate ( )
inlinevirtualinherited

Called when user chooses other tool but this.

Reimplemented in CSurfaceNGenerTwoGuide, and NoiseMaster.

Referenced by RetopoTool::Activate(), RetopoTool::ActivateMode(), and VoxelExtension::Register().

virtual void VoxelExtension::OnDraw ( )
inlinevirtualinherited

Called when you are trying to draw by some brush.

Reimplemented in NoiseMaster.

virtual bool BaseClass::OnEndDrag ( const char *  MemberID)
inlinevirtualinherited
virtual bool VoxelExtension::OnKey ( char  KeyCode)
inlinevirtualinherited

KeyCode is Windows virtual keyboard codes like VK_xxxx.

Reimplemented in RtKnife.

virtual void BaseClass::OnModifyControl ( const char *  FieldName,
BaseWidget *  W,
ClassEditorContext Context 
)
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.

See Also
MultiMtlLayer::OnModifyControl()
RetopoGroup::OnModifyControl()
VoxTreeBranch::OnModifyControl()

Reimplemented in VoxTreeBranch, and ItemsTree.

Referenced by CreateControlWithBaseClass().

virtual void VoxelExtension::OnPresetActivation ( OnePreset *  PS)
inlinevirtualinherited

Called when preset activated regardless if tool active or not.

virtual void VoxelExtension::OnProcessNode ( VoxTreeBranch tb,
cList< VORenderQueue > &  RQ 
)
inlinevirtualinherited

called to add transformed proxy objects into scene

virtual void VoxelExtension::OnSelectItem ( const char *  Category)
inlinevirtualinherited

notify when pen/strip/material/Shader etc selected. Set breakpoint and select to get valid category. Currently available: Pen, MASK, Shaders, STRIPS, Materials

virtual bool VoxelExtension::OnSelectModelInPalette ( const char *  ModelName,
const char *  RootPath,
bool  InCurrentTool 
)
inlinevirtualinherited

Called when user chosen model in models palette, return true if model used and action captured.

virtual bool BaseClass::OnStartDrag ( const char *  MemberID)
inlinevirtualinherited
virtual bool VoxelExtension::OnWheel ( int  step)
inlinevirtualinherited

step in 1 or -1 in dependence on direction

virtual float VoxelExtension::OverridePositionalSamplingRadius ( )
inlinevirtualinherited

return 0 if you don't need sampling radius

virtual bool VoxelExtension::PickOnlyFirstPoint ( )
inlinevirtualinherited

!!!false

virtual bool VoxelExtension::PresentInSurfaceTools ( )
inlinevirtualinherited

Returns true if the tool is present in voxel surface toolset.

Reimplemented in RtKnife, and NoiseMaster.

Referenced by VoxelExtension::Register().

virtual void VoxelExtension::Process ( )
inlinevirtualinherited

Called once per frame.

Reimplemented in NoiseMaster.

virtual bool BaseClass::ProcessInEditor ( BaseClass Parent)
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().

virtual bool BaseClass::ReadFromFile ( const char *  Name)
virtualinherited

Save the object to file or binary stream. Example.

MyClass C;
MyClass C1;
// to stream
MemoryBinStream BS;
C.ToBS(BS, true);
// copy from C to C1
C1.FromBS(BS);
// to file
C.WriteToFile("file.xml");
C1.ReadFromFile("file.xml");
// to string
cStr s;
C.ToStr(s);
C1.FromStr(s);
ui_menu_simple * VoxelExtension::Register ( VoxelExtension ex)
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().

virtual void BaseClass::RegisterMembers ( )
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.

virtual int VoxelExtension::RequiresExtraTopLine ( )
inlinevirtualinherited

Returns nonzero if top line with params required similar to Primitives set.

bool CSurfaceRotate::RequiresUpdate ( )
virtual

Reload this function to check if mesh should be updated.

Reimplemented from CurveModifier.

References BaseClass::CopyBaseClass().

virtual void BaseClass::reset_class ( void *  DataPtr = nullptr)
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.

void CurveModifier::Save ( TagsList xml,
void *  ClassPtr,
void *  Extra 
)
overridevirtualinherited

Save class to the XML structure.

Parameters
xmlThe result
ClassPtrThe pointer to the data, equals to this if class is directly castable
ExtraExtra data pointer

Reimplemented from BaseClass.

References BaseClass::Save().

void CurveModifier::SaveBin ( void *  Data,
void *  Extra,
BinStream *  Out,
Enumerator *  ExDictionary,
Enumerator *  SkipList 
)
overridevirtualinherited

Save in binaly form. Use only for temporary storage in memory!!!

Parameters
Datadata pointer
Extraextra pointer
OutOutput stream
ExDictionaryDictionary for enumerators
SkipListSkip list for enumerators

Reimplemented from BaseClass.

References BaseClass::SaveBin().

virtual void VoxelExtension::SaveData ( int  ChunkIdx,
BinStream &  BS 
)
inlinevirtualinherited

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.

Reimplemented in ExampleOfLoadSaveDataTo3BFileExtension, and QuadStripTool.

virtual void BaseClass::SetParent ( BaseClass Parent)
virtualinherited

set parent recursively

Referenced by VoxTreeBranch::Add(), and ClassArray< VMapType >::ExpandWith().

void BaseClass::SetParents ( )
inherited

set parents to this for all child members

Referenced by CreateControlWithBaseClass().

void BaseClass::SetParentsSafe ( )
inherited

set parents to this for all child members, each child will be tested for validity

virtual bool BaseClass::ShouldSaveInShortForm ( )
inlinevirtualinherited

Return true if class should be saved in short form mandatory.

virtual void BaseClass::SimplySetParent ( BaseClass Parent)
virtualinherited

set parent directly to this, not affecting members

void VoxelExtension::SwitchTo ( )
inherited

Please use this function to activate the tool.

References VoxelExtension::GetID().

void CurveModifier::TangentShiftPoints ( cList< OneSelPoint > &  Src,
bool  Closed,
float  ShiftValue,
bool  Absolute,
cList< OneSelPoint > &  Dst 
)
staticinherited

Perform tangent shift of curve poins to inner side or outside.

virtual void VoxelExtension::TransformInRetopo ( const Matrix4D m)
inlinevirtualinherited

called when geometry transformed in retopo room

void CSurfaceRotate::Update ( comms::cMeshContainer res)
virtual

Reload this function to produce mesh based on curves. Fill res with correct mesh.

Reimplemented from CurveModifier.

References BaseClass::CopyBaseClass().

virtual void BaseClass::UpdateHash ( HashSummator S,
void *  data = nullptr,
void *  extra = nullptr 
)
virtualinherited

returns hash value dependent on data fields of this class

Parameters
dataData ptr pointer to data
extraExtra ptr pointer to methadata
Returns
Hash value returns some value dependent on the class inner data. Usually only serializable data influences on th return value.

Reimplemented in VoxTreeBranch, StringsList, and ItemsTree.

Referenced by ClassArray< VMapType >::CountObjects().

void CSurface::UpdateKnots ( )
protectedinherited

We pass along the 4 borders of the surface If the nodes match, then they need to move To the opposite side

void CSurface::UpdateKnots0 ( )
protectedinherited
Nodes 0-th border S = 1 need to be shifted - towards the 1-st side

/////////////////////0-я Bounary S=1//////////////////////////////

void CSurface::UpdateKnots1 ( )
protectedinherited

nodes 1-st border S = m_nlv need to be shifted - towards the 0-th side

void CSurface::UpdateKnots2 ( )
protectedinherited

nodes 2-nd border T = 1 need to be shifted - towards the 3rd side

void CSurface::UpdateKnots3 ( )
protectedinherited

nodes 3-rd border T = m_nlu need to be shifted - towards the 2nd side

template<class Type >
bool BaseClass::valid ( ) const
inlineinherited

call it to check if this BaseClass pointer is valid

References BaseClass::pmutex, and BaseClass::presence.

Referenced by RegisterVoxHelper::clearScene(), and CreateControlWithBaseClass().

Member Data Documentation

DWORD BaseClass::_ClassMask
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.

cStr VoxelExtension::BaseParentTool
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".

const char* BaseClass::CurrentSaveFile
staticinherited

If user triggers saving class to file, last filename stored there.

DWORD CurveModifier::CurveObjID
inherited

The modifier attached the curve. This is the ID of this curve.

Referenced by CurveModifier::GetCurve(), CurveModifier::GetModifier(), and CurveModifier::GetVolume().

bool VoxelExtension::GeneralUsage =false
staticinherited

true if VoxelExtension used outside of voxel room.

Referenced by RetopoTool::Activate(), and RetopoTool::ActivateMode().

int VoxelExtension::ID
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.

See Also
File ui2.xml in the root of application.

Referenced by CurveModifier::GetTool(), and VoxelExtension::Register().

BaseClass* BaseClass::ParentBC
protectedinherited

pointer to the parent class in the tree

std::mutex* BaseClass::pmutex
staticprotectedinherited

mutex for register_this / remove_this

Referenced by BaseClass::valid().

uni_hash<_empty, cPtrDiff, (1 << 18), 2048>* BaseClass::presence
staticprotectedinherited

each BaseClass registered in this list

Referenced by BaseClass::valid().

cStr VoxelExtension::PreviousParentTool
inherited

This is ID of parent, like "father" tool.


The documentation for this class was generated from the following files: