#include <lib_sculpt.h>
详细描述
A
SculptObject
is used to interact with the data referenced by a
SculptTag
.
The
SculptTag
on a
PolygonObject
references a
SculptObject
that is stored in a Scene Hook within the document.
当
SculptTag
is deleted the referenced
SculptObject
is also deleted.
公共成员函数
|
Int32
|
GetSubdivisionCount
()
|
PolygonObject
*
|
GetPolygonCopy
(
Int32
subdivisionLevel,
Bool
includeTopLevels=true)
|
PolygonObject
*
|
GetOriginalObject
()
|
PolygonObject
*
|
GetDisplayPolygonObject
()
|
Bool
|
Hit
(
BaseDraw
*bd,
Float
mx,
Float
my,
Bool
backfaces,
SculptHitData
&hitData)
|
Bool
|
Hit
(const
向量
&rayp, const
向量
&rayv,
Bool
backfaces,
SculptHitData
&hitData)
|
Int32
|
GetPolygonCount
()
|
Int32
|
GetPointCount
()
|
SculptLayerBase
*
|
GetCurrentLayer
()
|
Int32
|
GetCurrentLevel
()
|
UInt32
|
GetMemoryUsage
()
|
SculptLayer
*
|
AddLayer
()
|
SculptFolder
*
|
AddFolder
()
|
Bool
|
DeleteSelectedLayer
()
|
void
|
更新
()
|
const
Vector32
*
|
GetVertexNormals
()
|
const
Vector32
*
|
GetFaceNormals
()
|
const
向量
*
|
GetPointR
()
|
向量
*
|
GetPointW
()
|
Bool
|
Subdivide
()
|
Bool
|
IncreaseSubdivisionLevel
()
|
Bool
|
DecreaseSubdivisionLevel
()
|
SculptLayerBase
*
|
GetFirstLayer
()
|
SculptLayer
*
|
GetBaseLayer
()
|
SculptLayerSystem
*
|
GetLayerSystem
()
|
Bool
|
IsFrozen
()
|
void
|
SetFrozen
(
Bool
value)
|
Bool
|
GetAllowDeformations
()
|
void
|
SetAllowDeformations
(
Bool
value)
|
void
|
UpdateCollision
()
|
void
|
NeedCollisionUpdate
(
Bool
fullUpdate=false)
|
void
|
OffsetPoint
(
SculptLayer
*pLayer,
向量
*pPoints,
Bool
useMask,
Float
strength,
Int32
index, const
向量
&offset,
Bool
respectLayerStrength=false)
|
void
|
OffsetPreviewPoint
(
SculptLayer
*pLayer,
Bool
useMask,
Float
strength,
Int32
index, const
向量
&offset,
Bool
respectLayerStrength=false)
|
void
|
SetPreviewPoint
(
SculptLayer
*pLayer,
Bool
useMask,
Float
strength,
Int32
index, const
向量
&offset,
Bool
respectLayerStrength=false)
|
void
|
StartUndo
()
|
void
|
EndUndo
()
|
void
|
Smooth
(
Int32
count,
Bool
respectMask)
|
Float32
*
|
GetMaskCache
()
|
Float32
|
PointPolysAverage
(
Int32
vertex,
Float32
*values)
|
向量
|
PointPolysAverage
(
Int32
vertex,
向量
*values)
|
void
|
UpdateMask
(
Bool
fullUpdate=false)
|
void
|
InitOpenGL
(
BaseDraw
*bd=nullptr)
|
Bool
|
IsPointSelected
(
Int32
index)
|
Bool
|
IsPolygonSelected
(
Int32
index)
|
Bool
|
GetPolygon
(
Int32
index,
CPolygon
&cpoly)
|
const
Char
*
|
GetViewportRenderId
(
VIEWPORT_RENDER_ID
typeId) const
|
BaseList2D
*
|
GetNext
()
|
BaseList2D
*
|
GetPred
()
|
void
|
SetBit
(
Int32
mask)
|
Bool
|
GetBit
(
Int32
mask) const
|
void
|
DelBit
(
Int32
mask)
|
void
|
ToggleBit
(
Int32
mask)
|
Int32
|
GetAllBits
() const
|
void
|
SetAllBits
(
Int32
bits)
|
void
|
SetBitEx
(
Int32
mask,
Int32
flags)
|
BaseContainer
|
GetData
()
|
void
|
SetData
(const
BaseContainer
&bc,
Bool
add=true)
|
const
BaseContainer
*
|
GetDataInstance
() const
|
BaseContainer
*
|
GetDataInstance
()
|
const
BaseContainer
&
|
GetDataInstanceRef
() const
|
BaseContainer
&
|
GetDataInstanceRef
()
|
String
|
GetName
() const
|
void
|
SetName
(const
maxon::String
&name)
|
String
|
GetBubbleHelp
()
|
Bool
|
TransferGoal
(
BaseList2D
*dst,
Bool
undolink)
|
Bool
|
TransferMarker
(
BaseList2D
*dst) const
|
Bool
|
比例
(
Float
scale)
|
Bool
|
编辑
()
|
void
|
GetIcon
(
IconData
*dat)
|
GeListHead
*
|
GetNLARoot
()
|
BaseList2D
*
|
AnimationLayerRemap
(
BaseObject
**layer=nullptr)
|
String
|
GetTypeName
()
|
BaseList2D
*
|
GetMain
() const
|
void
|
InsertTrackSorted
(
CTrack
*track)
|
Bool
|
AddEventNotification
(
BaseList2D
*bl,
NOTIFY_EVENT
eventid,
NOTIFY_EVENT_FLAG
flags, const
BaseContainer
*data)
|
Bool
|
RemoveEventNotification
(
BaseDocument
*doc,
BaseList2D
*bl,
NOTIFY_EVENT
eventid)
|
Bool
|
FindEventNotification
(
BaseDocument
*doc,
BaseList2D
*bl,
NOTIFY_EVENT
eventid)
|
Bool
|
SetDescIDState
(const
DescID
&id,
DESCIDSTATE
descidstate)
|
DESCIDSTATE
|
GetDescIDState
(const
DescID
&id,
Bool
tolerant) const
|
GeListHead
*
|
GetOverrideRoot
()
|
BaseOverride
*
|
GetFirstOverride
()
|
GeListHead
*
|
GetShaderRepositoryRoot
()
|
GeListHead
*
|
GetHiddenShaderRoot
()
|
maxon::NimbusInterface *
|
GetNimbusRef
(const
maxon::Id
&spaceId) const
|
maxon::Result
< maxon::NimbusInterface * >
|
GetOrCreateNimbusRef
(const
maxon::Id
&spaceId)
|
void
|
RemoveNimbusRef
(const
maxon::Id
&spaceId)
|
maxon::Result
<
maxon::HashMap
<
maxon::Id
,
maxon::ForwardRef
< maxon::NimbusRef > > >
|
GetAllNimbusRefs
() const
|
Bool
|
IsNodeBased
() const
|
void
|
GetMarkerStampEx
(
UInt32
*l1,
UInt32
*l2)
|
const
GeMarker
&
|
GetMarker
() const
|
void
|
SetMarker
(const
GeMarker
&m)
|
Bool
|
AddUniqueID
(
Int32
appid, const
Char
*const mem,
Int
bytes)
|
Bool
|
FindUniqueID
(
Int32
appid, const
Char
*&mem,
Int
&bytes) const
|
Int32
|
GetUniqueIDCount
() const
|
Bool
|
GetUniqueIDIndex
(
Int32
idx,
Int32
&id, const
Char
*&mem,
Int
&bytes) const
|
Bool
|
SetAnimatedParameter
(
CTrack
*track, const
DescID
&id, const
GeData
&t_data1, const
GeData
&t_data2,
Float
mix,
DESCFLAGS_SET
flags)
|
Bool
|
GetAnimatedParameter
(const
DescID
&id,
GeData
&t_data1,
GeData
&t_data2,
Float
&mix,
DESCFLAGS_GET
flags)
|
BaseShader
*
|
GetFirstShader
() const
|
void
|
InsertShader
(
BaseShader
*shader,
BaseShader
*pred=nullptr)
|
void
|
ClearKeyframeSelection
()
|
Bool
|
FindKeyframeSelection
(const
DescID
&id)
|
Bool
|
SetKeyframeSelection
(const
DescID
&id,
Bool
selection)
|
Bool
|
KeyframeSelectionContent
()
|
LayerObject
*
|
GetLayerObject
(
BaseDocument
*doc)
|
Bool
|
SetLayerObject
(
LayerObject
*layer)
|
const
LayerData
*
|
GetLayerData
(
BaseDocument
*doc,
Bool
rawdata=false)
|
Bool
|
SetLayerData
(
BaseDocument
*doc, const
LayerData
&data)
|
GeListHead
*
|
GetCTrackRoot
()
|
CTrack
*
|
GetFirstCTrack
()
|
CTrack
*
|
FindCTrack
(const
DescID
&id)
|
GeListNode
*
|
GetNext
()
|
GeListNode
*
|
GetPred
()
|
GeListNode
*
|
GetDown
()
|
GeListNode
*
|
GetUp
()
|
GeListNode
*
|
GetDownLast
()
|
void
|
InsertBefore
(
GeListNode
*bl)
|
void
|
InsertAfter
(
GeListNode
*bl)
|
void
|
InsertUnder
(
GeListNode
*bl)
|
void
|
InsertUnderLast
(
GeListNode
*bl)
|
void
|
移除
()
|
GeListHead
*
|
GetListHead
()
|
Int32
|
GetNodeID
(
Int32
index=0) const
|
template<typename CAST >
|
const CAST *
|
GetNodeData
(
Int32
index=0) const
|
template<typename CAST >
|
CAST *
|
GetNodeData
(
Int32
index=0)
|
void
|
SetCustomData
(
GeListNode
*node)
|
GeListNode
*
|
GetCustomData
()
|
BaseDocument
*
|
GetDocument
()
|
Int32
|
GetBranchInfo
(
BranchInfo
*info,
Int32
max,
GETBRANCHINFO
flags)
|
Bool
|
IsDocumentRelated
()
|
Int32
|
GetInfo
()
|
Bool
|
GetNBit
(
NBIT
bit) const
|
UInt32
|
GetNBitMask
(
Int32
index) const
|
Bool
|
ChangeNBit
(
NBIT
bit,
NBITCONTROL
bitmode)
|
Int32
|
GetType
() const
|
Int32
|
GetRealType
() const
|
Int32
|
GetDiskType
() const
|
Bool
|
IsInstanceOf
(
Int32
id) const
|
Int32
|
GetClassification
() const
|
Bool
|
消息
(
Int32
type, void *data=nullptr)
|
Bool
|
MultiMessage
(
MULTIMSG_ROUTE
flags,
Int32
type, void *data)
|
C4DAtom
*
|
GetClone
(
COPYFLAGS
flags,
AliasTrans
*trn)
|
Bool
|
CopyTo
(
C4DAtom
*dst,
COPYFLAGS
flags,
AliasTrans
*trn)
|
Bool
|
读取
(
HyperFile
*hf,
Int32
id,
Int32
level)
|
Bool
|
Write
(
HyperFile
*hf)
|
Bool
|
ReadObject
(
HyperFile
*hf,
Bool
readheader)
|
Bool
|
WriteObject
(
HyperFile
*hf)
|
Bool
|
GetDescription
(
描述
*description,
DESCFLAGS_DESC
flags)
|
Bool
|
GetParameter
(const
DescID
&id,
GeData
&t_data,
DESCFLAGS_GET
flags)
|
Bool
|
SetParameter
(const
DescID
&id, const
GeData
&t_data,
DESCFLAGS_SET
flags)
|
DynamicDescription
*
|
GetDynamicDescription
()
|
Bool
|
GetEnabling
(const
DescID
&id, const
GeData
&t_data,
DESCFLAGS_ENABLE
flags, const
BaseContainer
*itemdesc)
|
Bool
|
TranslateDescID
(const
DescID
&id,
DescID
&res_id,
C4DAtom
*&res_at)
|
UInt32
|
GetDirty
(
DIRTYFLAGS
flags) const
|
void
|
SetDirty
(
DIRTYFLAGS
flags)
|
UInt32
|
GetHDirty
(
HDIRTYFLAGS
mask) const
|
void
|
SetHDirty
(
HDIRTYFLAGS
mask)
|
构造函数 & 析构函数文档编制
◆
SculptObject()
◆
~SculptObject()
成员函数文档编制
◆
GetSubdivisionCount()
Int32
GetSubdivisionCount
|
(
|
|
)
|
|
Gets the number of Subdivisions that the
SculptObject
currently has, i.e. how many times it has been subdivided by the user.
-
返回
-
The number of subdivision levels.
◆
GetPolygonCopy()
Gets a copy of the
SculptObject
at a specific subdivision level.
-
注意
-
The returned object does not contain a copy of the
SculptTag
.
-
参数
-
[in]
|
subdivisionLevel
|
The subdivision level to copy the PolyonObject at.
|
[in]
|
includeTopLevels
|
If True includes all the detail from any layers that are above
subdivisionLevel
.
If false includes only the sculpting data for all layers up to and including the
subdivisionLevel
specified.
|
-
返回
-
The
PolygonObject
for the subdivision level. The caller owns the pointed
PolygonObject
.
◆
GetOriginalObject()
Gets the original
PolygonObject
that the
SculptTag
is applied to.
-
返回
-
The original
PolygonObject
that the
SculptTag
is applied to. The document owns the pointed
PolygonObject
.
◆
GetDisplayPolygonObject()
Gets the
PolygonObject
that is currently being displayed in the viewport.
-
注意
-
在
SculptBrushToolData::FloodSelectedLayer()
calls this returns the same as
GetOriginalObject()
when sculpting on Polygon Objects that have no
SculptTag
.
-
返回
-
The
PolygonObject
displayed in the viewport. This is the internal Polygon Object and should never be changed!
◆
Hit()
[1/2]
From a viewport cast a ray, in screen space, onto the
SculptObject
and return any data if the ray hits the object.
-
注意
-
Returns the closest hit point if multiple intersections are found.
-
警告
-
To use the
Hit()
methods the mesh must be unfrozen and both
NeedCollisionUpdate(true)
and
UpdateCollision()
should be called to initialize the collision data.
-
参数
-
[in]
|
bd
|
The view that the user is casting the ray from. The caller owns the pointed view.
|
[in]
|
mx
|
The X coordinate (mouse coordinate) in screen space.
|
[in]
|
my
|
The Y coordinate (mouse coordinate) in screen space.
|
[in]
|
backfaces
|
true
to allow back facing polygons to be hit tested.
If enabled and the back facing hit point is closer than the front hit point, then it is returned.
|
[out]
|
hitData
|
Filled with the intersection data if the ray hits the object.
|
-
返回
-
true
若
SculptObject
was hit, otherwise
false
.
◆
Hit()
[2/2]
Given a ray in object space do a hit intersection against the
SculptObject
and return any data if the ray hits the object.
-
注意
-
Returns the closest hit point if multiple intersections are found.
-
警告
-
To use the
Hit()
methods the mesh must be unfrozen and both
NeedCollisionUpdate(true)
and
UpdateCollision()
should be called to initialize the collision data.
-
参数
-
[in]
|
rayp
|
The starting position of the ray in object space.
|
[in]
|
rayv
|
The direction the ray is pointing.
|
[in]
|
backfaces
|
true
to allow back facing polygons to be hit tested.
If enabled and the back facing hit point is closer than the front hit point, then it is returned.
|
[out]
|
hitData
|
Filled with the intersection data if the ray hits the object.
|
-
返回
-
true
若
SculptObject
was hit, otherwise
false
.
◆
GetPolygonCount()
Int32
GetPolygonCount
|
(
|
|
)
|
|
Gets the number of polygons at the current subdivision level.
-
返回
-
The number of polygons.
◆
GetPointCount()
Gets the number of points at the current subdivision level.
-
返回
-
The number of points.
◆
GetCurrentLayer()
Gets the currently selected layer, or folder, selected for the
SculptObject
.
-
返回
-
The currently selected layer or folder.
◆
GetCurrentLevel()
Int32
GetCurrentLevel
|
(
|
|
)
|
|
Gets the current subdivision level that the
SculptObject
is currently at.
-
返回
-
The current subdivision level.
◆
GetMemoryUsage()
Gets the amount of memory currently used for the
SculptObject
. This does not include any memory used by
OpenGL
.
-
返回
-
The memory used in bytes.
◆
AddLayer()
Creates a new layer on the
SculptObject
at the current subdivision level.
-
返回
-
The added layer. The
SculptObject
owns the pointed
SculptLayer
.
◆
AddFolder()
Creates a new folder for the
SculptObject
.
-
返回
-
The added folder. The
SculptObject
owns the pointed
SculptFolder
.
◆
DeleteSelectedLayer()
Bool
DeleteSelectedLayer
|
(
|
|
)
|
|
Deletes the currently selected layer (or folder) on the
SculptObject
(as specified in the Sculpt Layer Manager UI).
-
注意
-
If the currently selected layer is a folder then it will only delete the folder if all the layers that are contained in that folder are at the same subdivision level as the current subdivision level.
-
返回
-
true
if the layer was deleted, otherwise
false
.
◆
Update()
Updates all the layers and the
SculptObject
.
◆
GetVertexNormals()
Gets the vertex normals for the
PolygonObject
at its current subdivision level.
-
返回
-
The vertex normals.
◆
GetFaceNormals()
Gets the face normals for the
PolygonObject
at its current subdivision level.
-
由于
-
R17.032
-
返回
-
The face normals.
◆
GetPointR()
Gets read only access to the points that will be used for the
PolygonObject
at its current subdivision level.
-
返回
-
The points.
◆
GetPointW()
Gets write access to the points that will be used for the display of the
PolygonObject
at the current subdivision level in the viewport.
-
警告
-
This method should only be used with the call
OffsetPoint()
, which should only ever be called from
SculptBrushToolData::FloodSelectedLayer()
.
-
返回
-
The points.
◆
Subdivide()
Subdivides the
SculptObject
to the next level.
-
警告
-
Only works if the
SculptObject
is already at the top most level and the memory limit (as specified in the preferences) has not been exceeded and also only if there is enough memory on the users computer to successfully do the subdivision.
-
返回
-
true
if the object was successfully subdivided, otherwise
false
.
◆
IncreaseSubdivisionLevel()
Bool
IncreaseSubdivisionLevel
|
(
|
|
)
|
|
Increases the subdivision level to the next highest level. If it is already at the top subdivision level then it will do nothing.
-
返回
-
true
if it was able go up a level, otherwise
false
.
◆
DecreaseSubdivisionLevel()
Bool
DecreaseSubdivisionLevel
|
(
|
|
)
|
|
Decreases the subdivision level to the down one level. If it is already at level
0
then it will do nothing.
-
返回
-
true
if it was able go down a level, otherwise
false
.
◆
GetFirstLayer()
Gets the first layer under the
SculptLayerSystem
. This is usually the Base layer.
-
返回
-
The first layer.
◆
GetBaseLayer()
Gets the Base layer, which is the special layer that has multiple
SculptLayerData
children, one for each subdivision level, that allows the user to sculpt on while at any subdivision level.
-
返回
-
The Base layer.
◆
GetLayerSystem()
Gets the layer system that contains all the layers. This is a child node of the
SculptObject
.
-
返回
-
The layer system.
◆
IsFrozen()
Checks if the
SculptObject
been frozen. In the UI this is shown in the SculpTag.
-
返回
-
true
if the object was frozen, otherwise
false
.
◆
SetFrozen()
void SetFrozen
|
(
|
Bool
|
value
|
)
|
|
Sets the frozen state of the
SculptObject
. In the UI this is shown in the SculpTag.
When the object is frozen no changes to the
SculptObject
or any of its layers are allowed.
-
注意
-
若
PolygonObject
has a PhongTag it will also become active when the
SculptObject
is Frozen.
When not Frozen then
SculptObject
uses its own internal Vertex Normals and disables the PhongTag on the
PolygonObject
.
-
参数
-
[in]
|
value
|
The frozen state.
|
◆
GetAllowDeformations()
Bool
GetAllowDeformations
|
(
|
|
)
|
|
Checks if the object is allowed to be deformed by any deformers. In the UI this is shown in the SculpTag.
-
注意
-
This option only works if the object is also Frozen. When both these options are enabled, any deformers that are children of the
PolygonObject
that the
SculptTag
is applied to, will be able to deform the object in the viewport.
-
返回
-
true
if the object was frozen, otherwise
false
.
◆
SetAllowDeformations()
void SetAllowDeformations
|
(
|
Bool
|
value
|
)
|
|
Sets the "Allow Deformations" checkbox thereby allowing any deformers to have an effect on the display of the
SculptObject
, as long as it is also frozen.
In the UI this is shown in the SculpTag.
-
参数
-
[in]
|
value
|
The "Allow Deformations" state.
|
◆
UpdateCollision()
Updates any collision data after any changes to the
SculptLayer
Offsets have been made.
-
警告
-
This is required before calling the
Hit()
methods.
◆
NeedCollisionUpdate()
void NeedCollisionUpdate
|
(
|
Bool
|
fullUpdate
=
false
|
)
|
|
Tells the
SculptObject
that it requires a collision update before the user tries to use any of the Sculpt tools.
Then next time a user tries to use a tool it will first call
UpdateCollision()
to ensure that the
Hit()
calls will be correct.
-
参数
-
[in]
|
fullUpdate
|
true
to update the full mesh, this is not always required.
|
◆
OffsetPoint()
Offsets a point on the layer when when the interactive flood operation has finished. This is called on the
SculptObject
by the Sculpt tools.
-
警告
-
Should only be called from within
SculptBrushToolData::FloodSelectedLayer()
.
-
参数
-
[in]
|
pLayer
|
The
SculptLayer
that the brush is operating on.
|
[in]
|
pPoints
|
The points from the call to GetPoints() which are used to directly effect the drawing of the
SculptObject
in the viewport.
|
[in]
|
useMask
|
true
to respect the Mask on the Layer or not.
|
[in]
|
strength
|
The strength of the
SculptLayer
.
|
[in]
|
index
|
The index of the point on the
PolygonObject
for the current subdivision level.
|
[in]
|
offset
|
The offset to apply to the preview layer.
|
[in]
|
respectLayerStrength
|
true
to respect the strength of the layer or ignore it updating the mesh on screen.
|
◆
OffsetPreviewPoint()
Adds to the value of the offset on the preview layer when used to do interactive flood updates on the
SculptObject
by the Sculpt tools.
-
警告
-
Should only be called from within
SculptBrushToolData::FloodSelectedLayer()
.
-
参数
-
[in]
|
pLayer
|
The
SculptLayer
that the brush is operating on.
|
[in]
|
useMask
|
true
to respect the Mask on the Layer or not.
|
[in]
|
strength
|
The strength of the
SculptLayer
.
|
[in]
|
index
|
The index of the point on the
PolygonObject
for the current subdivision level.
|
[in]
|
offset
|
The offset to apply to the preview layer.
|
[in]
|
respectLayerStrength
|
true
to respect the strength of the layer or ignore it updating the mesh on screen.
|
◆
SetPreviewPoint()
Sets the value of the offset on the preview layer when used to do interactive flood updates on the
SculptObject
by the Sculpt tools.
-
警告
-
Should only be called from within
SculptBrushToolData::FloodSelectedLayer()
-
参数
-
[in]
|
pLayer
|
The
SculptLayer
that the brush is operating on.
|
[in]
|
useMask
|
true
to respect the Mask on the Layer or not.
|
[in]
|
strength
|
The strength of the
SculptLayer
.
|
[in]
|
index
|
The index of the point on the
PolygonObject
for the current subdivision level.
|
[in]
|
offset
|
The offset to set on the preview layer.
|
[in]
|
respectLayerStrength
|
true
to respect the strength of the layer or ignore it updating the mesh on screen.
|
◆
StartUndo()
Calls before any calls to AddOffset(), SetOffset(), AddToMask() or SetMask() to be undone.
-
警告
-
This will only work if making changes to a single layer. Changes to multiple layers or layers at different levels is not allowed.
This must be done at the current subdivision level of the layer being changed for these calls to work properly.
EndUndo()
must be called after all calls to the above methods have been done.
This must NEVER be called by a Sculpt brush during a stroke.
◆
EndUndo()
Must be called after
StartUndo()
once all the point and masks have been changed on the layers.
-
警告
-
This must NEVER be called by a Sculpt brush during a stroke.
◆
Smooth()
void Smooth
|
(
|
Int32
|
count
,
|
|
|
Bool
|
respectMask
|
|
)
|
|
|
Smooths the
SculptObject
and applies the offsets to the currently selected layer.
-
参数
-
[in]
|
count
|
The number of times to run the smooth algorithm.
|
[in]
|
respectMask
|
若
true
it will not smooth any masked out points, if
false
it will apply it to every point.
|
◆
GetMaskCache()
Gets the current mask values for the
PolygonObject
.
The number of points returned is equal to the number of points on the
PolygonObject
.
-
返回
-
The mask values.
◆
PointPolysAverage()
[1/2]
Averages out the values for the
vertex
在
PolygonObject
.
-
参数
-
[in]
|
vertex
|
The vertex number on the
PolygonObject
to get the average value for.
|
[in]
|
values
|
The values to average out. This must contain the same number of values as there are points on the
PolygonObject
.
|
-
返回
-
The mask values.
◆
PointPolysAverage()
[2/2]
向量
PointPolysAverage
|
(
|
Int32
|
vertex
,
|
|
|
向量
*
|
values
|
|
)
|
|
|
Averages out the values for the
vertex
在
PolygonObject
.
-
参数
-
[in]
|
vertex
|
The vertex number on the
PolygonObject
to get the average value for.
|
[in]
|
values
|
The values to average out. This must contain the same number of values as there are points on the
PolygonObject
.
|
-
返回
-
The mask values.
◆
UpdateMask()
void UpdateMask
|
(
|
Bool
|
fullUpdate
=
false
|
)
|
|
Updates the mask on the
SculptObject
.
-
参数
-
[in]
|
fullUpdate
|
true
to force a full update of the mask.
|
◆
InitOpenGL()
void InitOpenGL
|
(
|
BaseDraw
*
|
bd
=
nullptr
|
)
|
|
Private
.
Initializes the
SculptObject
for the given viewport in OpenGL use.
-
参数
-
[in]
|
bd
|
The viewport that is being updated. If it is
nullptr
then the currently active view will be used.
|
◆
IsPointSelected()
Determines if a point should be moved or not in the
SculptBrushToolData::FloodSelectedLayer()
方法。
-
注意
-
When in Point mode, and there is a selection, it returns
true
if a point is selected or
false
if the point is not selected.
If there are no points selected it returns
true
. When in Polygon mode, and there is a selection, it returns
true
if a point on any of the selected polygons is selected or
false
if there is no point selected.
If there are no polygons selected it returns
true
.
-
警告
-
This method only works when the selected object being sculpted on is by a tool and is a
PolygonObject
without a
SculptTag
.
It returns
false
in all other cases.
-
参数
-
[in]
|
index
|
The index of the point on the object:
0<=
index
<
GetPointCount()
|
-
返回
-
true
if the point was selected, otherwise
false
.
◆
IsPolygonSelected()
Determines if a polygon should be moved or not in the
SculptBrushToolData::FloodSelectedLayer()
方法。
-
注意
-
When in Polygon mode, and there is a selection, it returns
true
if a point on any of the selected polygons is selected or
false
if there is no point selected.
If there are no polygons selected it returns
true
.
-
警告
-
This method only works when the selected object being sculpted on is by a tool and is a
PolygonObject
without a
SculptTag
.
It returns
false
in all other cases.
-
参数
-
-
返回
-
true
if the polygon was selected, otherwise
false
.
◆
GetPolygon()
Gets the polygon data at the given
index
.
-
参数
-
[in]
|
index
|
The index of the polygon on the object:
0<=
index
<
GetPolygonCount()
|
[out]
|
cpoly
|
Filled with the polygon data.
|
-
返回
-
True if the polygon was found, false if not.