}
}
+//=======================================================================
+//function : SetPart
+//purpose :
+//=======================================================================
+void AIS_Manipulator::SetPart (const AIS_ManipulatorMode theMode, const Standard_Boolean theIsEnabled)
+{
+ for (Standard_Integer anIt = 0; anIt < 3; ++anIt)
+ {
+ SetPart (anIt, theMode, theIsEnabled);
+ }
+}
+
//=======================================================================
//function : EnableMode
//purpose :
{
for (Standard_Integer anIt = 0; anIt < 3; ++anIt)
{
+ if (!myAxes[anIt].HasTranslation())
+ {
+ continue;
+ }
const Axis& anAxis = myAxes[anIt];
if (aMode != AIS_MM_None)
{
- anOwner = new AIS_ManipulatorOwner(this, anIt, AIS_MM_Translation, 9);
+ anOwner = new AIS_ManipulatorOwner (this, anIt, AIS_MM_Translation, 9);
}
// define sensitivity by line
Handle(Select3D_SensitiveSegment) aLine = new Select3D_SensitiveSegment (anOwner, gp::Origin(), anAxis.TranslatorTipPosition());
{
for (Standard_Integer anIt = 0; anIt < 3; ++anIt)
{
+ if (!myAxes[anIt].HasRotation())
+ {
+ continue;
+ }
const Axis& anAxis = myAxes[anIt];
if (aMode != AIS_MM_None)
{
{
for (Standard_Integer anIt = 0; anIt < 3; ++anIt)
{
+ if (!myAxes[anIt].HasScaling())
+ {
+ continue;
+ }
if (aMode != AIS_MM_None)
{
anOwner = new AIS_ManipulatorOwner (this, anIt, AIS_MM_Scaling, 9);
//! @warning Raises program error if axis index is < 0 or > 2.
Standard_EXPORT void SetPart (const Standard_Integer theAxisIndex, const AIS_ManipulatorMode theMode, const Standard_Boolean theIsEnabled);
+ //! Disable or enable visual parts for translation, rotation or scaling for ALL axes.
+ //! By default all parts are enabled (will be displayed).
+ //! @warning Enabling or disabling of visual parts of manipulator does not manage the manipulation (selection) mode.
+ //! @warning Raises program error if axis index is < 0 or > 2.
+ Standard_EXPORT void SetPart (const AIS_ManipulatorMode theMode, const Standard_Boolean theIsEnabled);
+
//! Behavior settings to be applied when performing transformation:
//! - FollowTranslation - whether the manipulator will be moved together with an object.
//! - FollowRotation - whether the manipulator will be rotated together with an object.
--- /dev/null
+puts "====================================="
+puts "Disable functional parts for manipulator axes"
+puts "====================================="
+
+pload MODELING VISUALIZATION
+vclear
+vclose ALL
+vinit View1
+vaxo
+vzbufftrihedron
+
+box b 500 500 1 50 100 150
+vdisplay b -dispMode 1
+vfit
+
+vmanipulator m -attach b -part 0 1 0
+vdump $imagedir/${casename}_1.png
+vmanipulator m -detach
+
+vmanipulator m -attach b -part 0 2 0
+vdump $imagedir/${casename}_2.png
+vmanipulator m -detach
+
+vmanipulator m -attach b -part 0 3 0
+vdump $imagedir/${casename}_3.png