OCC.TPrsStd module

class Handle_TPrsStd_AISPresentation(*args)

Bases: OCC.TDF.Handle_TDF_Attribute

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_AISViewer(*args)

Bases: OCC.TDF.Handle_TDF_Attribute

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_AxisDriver(*args)

Bases: OCC.TPrsStd.Handle_TPrsStd_Driver

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_ConstraintDriver(*args)

Bases: OCC.TPrsStd.Handle_TPrsStd_Driver

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_DataMapNodeOfDataMapOfGUIDDriver(*args)

Bases: OCC.TCollection.Handle_TCollection_MapNode

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_Driver(*args)

Bases: OCC.MMgt.Handle_MMgt_TShared

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_DriverTable(*args)

Bases: OCC.MMgt.Handle_MMgt_TShared

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_GeometryDriver(*args)

Bases: OCC.TPrsStd.Handle_TPrsStd_Driver

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_NamedShapeDriver(*args)

Bases: OCC.TPrsStd.Handle_TPrsStd_Driver

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_PlaneDriver(*args)

Bases: OCC.TPrsStd.Handle_TPrsStd_Driver

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class Handle_TPrsStd_PointDriver(*args)

Bases: OCC.TPrsStd.Handle_TPrsStd_Driver

static DownCast()
GetObject()
IsNull()
Nullify()
thisown

The membership flag

class SwigPyIterator(*args, **kwargs)

Bases: object

advance()
copy()
decr()
distance()
equal()
incr()
next()
previous()
thisown

The membership flag

value()
class TPrsStd_AISPresentation(*args)

Bases: OCC.TDF.TDF_Attribute

Return type:None
Color()
Return type:Quantity_NameOfColor
Display()
  • Display presentation of object in AIS viewer. If <update> = True then AISObject is recomputed and all the visualization settings are applied
Parameters:update (bool) – default value is Standard_False
Return type:None
Erase()
  • Removes the presentation of this AIS presentation attribute from the TPrsStd_AISViewer. If remove is true, this AIS presentation attribute is removed from the interactive context.
Parameters:remove (bool) – default value is Standard_False
Return type:None
GetAIS()
  • Returns AIS_InteractiveObject stored in the presentation attribute
Return type:Handle_AIS_InteractiveObject
GetDriverGUID()
Return type:Standard_GUID
GetHandle()
static GetID(*args)
  • Returns the GUID for TPrsStd_AISPresentation attributes.
Return type:Standard_GUID
HasOwnColor()
  • Returns true if this presentation attribute already has a color setting.
Return type:bool
HasOwnMaterial()
  • Returns true if this presentation attribute already has a material setting.
Return type:bool
HasOwnMode()
Return type:bool
HasOwnSelectionMode()
Return type:bool
HasOwnTransparency()
  • Returns true if this presentation attribute already has a transparency setting.
Return type:bool
HasOwnWidth()
  • Returns true if this presentation attribute already has a width setting.
Return type:bool
IsDisplayed()
  • Returns true if this AIS presentation attribute is displayed.
Return type:bool
Material()
  • Returns the material setting for this presentation attribute.
Return type:Graphic3d_NameOfMaterial
Mode()
Return type:int
SelectionMode()
Return type:int
static Set(*args)
  • Creates or retrieves the presentation attribute on the label L, and sets the GUID driver.
Parameters:
  • L (TDF_Label &) –
  • driver (Standard_GUID &) –
Return type:

Handle_TPrsStd_AISPresentation

  • Creates or retrieves the AISPresentation attribute attached to master. The GUID of the driver will be the GUID of master. master is the attribute you want to display.
Parameters:master (Handle_TDF_Attribute &) –
Return type:Handle_TPrsStd_AISPresentation
SetColor()
  • Sets the color aColor for this presentation attribute.
Parameters:aColor (Quantity_NameOfColor) –
Return type:None
SetDisplayed()
Parameters:B (bool) –
Return type:None
SetDriverGUID()
Parameters:guid (Standard_GUID &) –
Return type:None
SetMaterial()
  • Sets the material aName for this presentation attribute.
Parameters:aName (Graphic3d_NameOfMaterial) –
Return type:None
SetMode()
Parameters:theMode (int) –
Return type:None
SetSelectionMode()
Parameters:theSelectionMode (int) –
Return type:None
SetTransparency()
  • Sets the transparency value aValue for this presentation attribute. This value is 0.6 by default.
Parameters:aValue (float) – default value is 0.6
Return type:None
SetWidth()
  • Sets the width aWidth for this presentation attribute.
Parameters:aWidth (float) –
Return type:None
Transparency()
Return type:float
static Unset(*args)
  • Delete (if exist) the presentation attribute associated to the label <L>.
Parameters:L (TDF_Label &) –
Return type:void
UnsetColor()
  • Removes the color setting from this presentation attribute.
Return type:None
UnsetMaterial()
  • Removes the material setting from this presentation attribute.
Return type:None
UnsetMode()
Return type:None
UnsetSelectionMode()
Return type:None
UnsetTransparency()
  • Removes the transparency setting from this presentation attribute.
Return type:None
UnsetWidth()
  • Removes the width setting from this presentation attribute.
Return type:None
Update()
  • Recompute presentation of object and apply the visualization settings
Return type:None
Width()
Return type:float
thisown

The membership flag

TPrsStd_AISPresentation_GetID(*args)
  • Returns the GUID for TPrsStd_AISPresentation attributes.
Return type:Standard_GUID
TPrsStd_AISPresentation_Set(*args)
  • Creates or retrieves the presentation attribute on the label L, and sets the GUID driver.
Parameters:
  • L (TDF_Label &) –
  • driver (Standard_GUID &) –
Return type:

Handle_TPrsStd_AISPresentation

  • Creates or retrieves the AISPresentation attribute attached to master. The GUID of the driver will be the GUID of master. master is the attribute you want to display.
Parameters:master (Handle_TDF_Attribute &) –
Return type:Handle_TPrsStd_AISPresentation
TPrsStd_AISPresentation_Unset(*args)
  • Delete (if exist) the presentation attribute associated to the label <L>.
Parameters:L (TDF_Label &) –
Return type:void
class TPrsStd_AISViewer(*args)

Bases: OCC.TDF.TDF_Attribute

Return type:None
static Find(*args)
  • Finds the viewer attribute at the label access, the root of the data framework. Calling this function can be used to initialize an AIS viewer
Parameters:
  • acces (TDF_Label &) –
  • A (Handle_TPrsStd_AISViewer &) –
  • acces
  • IC (Handle_AIS_InteractiveContext &) –
  • acces
  • V (Handle_V3d_Viewer &) –
Return type:

bool

Return type:

bool

Return type:

bool

GetHandle()
static GetID(*args)
  • class methods =============
Return type:Standard_GUID
GetInteractiveContext()
  • Returns the interactive context in this attribute.
Return type:Handle_AIS_InteractiveContext
static Has(*args)
  • returns True if there is an AISViewer attribute in <acces> Data Framework.
Parameters:acces (TDF_Label &) –
Return type:bool
static New(*args)
  • create and set an AISViewer at. Raise an exception if Has.
Parameters:
  • access (TDF_Label &) –
  • selector (Handle_AIS_InteractiveContext &) –
Return type:

Handle_TPrsStd_AISViewer

  • create and set an AISAttribute at root label. The interactive context is build. Raise an exception if Has.
Parameters:
  • acces (TDF_Label &) –
  • viewer (Handle_V3d_Viewer &) –
Return type:

Handle_TPrsStd_AISViewer

SetInteractiveContext()
  • Sets the interactive context ctx for this attribute.
Parameters:ctx (Handle_AIS_InteractiveContext &) –
Return type:None
Update()
  • AISViewer methods =================
Parameters:acces (TDF_Label &) –
Return type:void
  • Updates the viewer at the label access. access is the root of the data framework.
Return type:None
thisown

The membership flag

TPrsStd_AISViewer_Find(*args)
  • Finds the viewer attribute at the label access, the root of the data framework. Calling this function can be used to initialize an AIS viewer
Parameters:
  • acces (TDF_Label &) –
  • A (Handle_TPrsStd_AISViewer &) –
  • acces
  • IC (Handle_AIS_InteractiveContext &) –
  • acces
  • V (Handle_V3d_Viewer &) –
Return type:

bool

Return type:

bool

Return type:

bool

TPrsStd_AISViewer_GetID(*args)
  • class methods =============
Return type:Standard_GUID
TPrsStd_AISViewer_Has(*args)
  • returns True if there is an AISViewer attribute in <acces> Data Framework.
Parameters:acces (TDF_Label &) –
Return type:bool
TPrsStd_AISViewer_New(*args)
  • create and set an AISViewer at. Raise an exception if Has.
Parameters:
  • access (TDF_Label &) –
  • selector (Handle_AIS_InteractiveContext &) –
Return type:

Handle_TPrsStd_AISViewer

  • create and set an AISAttribute at root label. The interactive context is build. Raise an exception if Has.
Parameters:
  • acces (TDF_Label &) –
  • viewer (Handle_V3d_Viewer &) –
Return type:

Handle_TPrsStd_AISViewer

class TPrsStd_AxisDriver(*args)

Bases: OCC.TPrsStd.TPrsStd_Driver

  • Constructs an empty axis driver.
Return type:None
GetHandle()
thisown

The membership flag

class TPrsStd_ConstraintDriver(*args)

Bases: OCC.TPrsStd.TPrsStd_Driver

  • Constructs an empty constraint driver.
Return type:None
GetHandle()
thisown

The membership flag

class TPrsStd_ConstraintTools

Bases: object

static ComputeAngle(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeAngleForOneFace(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeCoincident(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeConcentric(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeDiameter(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeDistance(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeEqualDistance(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeEqualRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeFix(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeMaxRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeMidPoint(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeMinRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeOffset(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeOthers(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeParallel(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputePerpendicular(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputePlacement(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeRound(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeSymmetry(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeTangent(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

static ComputeTextAndValue(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • aValue (float &) –
  • aText (TCollection_ExtendedString &) –
  • anIsAngle (bool) –
Return type:

void

static UpdateOnlyValue(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

thisown

The membership flag

TPrsStd_ConstraintTools_ComputeAngle(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeAngleForOneFace(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeCoincident(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeConcentric(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeDiameter(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeDistance(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeEqualDistance(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeEqualRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeFix(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeMaxRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeMidPoint(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeMinRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeOffset(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeOthers(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeParallel(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputePerpendicular(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputePlacement(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeRadius(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeRound(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeSymmetry(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeTangent(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

TPrsStd_ConstraintTools_ComputeTextAndValue(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • aValue (float &) –
  • aText (TCollection_ExtendedString &) –
  • anIsAngle (bool) –
Return type:

void

TPrsStd_ConstraintTools_UpdateOnlyValue(*args)
Parameters:
  • aConst (Handle_TDataXtd_Constraint &) –
  • anAIS (Handle_AIS_InteractiveObject &) –
Return type:

void

class TPrsStd_DataMapIteratorOfDataMapOfGUIDDriver(*args)

Bases: OCC.TCollection.TCollection_BasicMapIterator

Return type:None
Parameters:aMap (TPrsStd_DataMapOfGUIDDriver &) –
Return type:None
Initialize()
Parameters:aMap (TPrsStd_DataMapOfGUIDDriver &) –
Return type:None
Key()
Return type:Standard_GUID
Value()
Return type:Handle_TPrsStd_Driver
thisown

The membership flag

class TPrsStd_DataMapNodeOfDataMapOfGUIDDriver(*args)

Bases: OCC.TCollection.TCollection_MapNode

Parameters:
  • K (Standard_GUID &) –
  • I (Handle_TPrsStd_Driver &) –
  • n (TCollection_MapNodePtr &) –
Return type:

None

GetHandle()
Key()
Return type:Standard_GUID
Value()
Return type:Handle_TPrsStd_Driver
thisown

The membership flag

class TPrsStd_DataMapOfGUIDDriver(*args)

Bases: OCC.TCollection.TCollection_BasicMap

Parameters:NbBuckets (int) – default value is 1
Return type:None
Assign()
Parameters:Other (TPrsStd_DataMapOfGUIDDriver &) –
Return type:TPrsStd_DataMapOfGUIDDriver
Bind()
Parameters:
  • K (Standard_GUID &) –
  • I (Handle_TPrsStd_Driver &) –
Return type:

bool

ChangeFind()
Parameters:K (Standard_GUID &) –
Return type:Handle_TPrsStd_Driver
ChangeFind1()
Parameters:K (Standard_GUID &) –
Return type:Standard_Address
Clear()
Return type:None
Find()
Parameters:K (Standard_GUID &) –
Return type:Handle_TPrsStd_Driver
Find1()
Parameters:K (Standard_GUID &) –
Return type:Standard_Address
IsBound()
Parameters:K (Standard_GUID &) –
Return type:bool
ReSize()
Parameters:NbBuckets (int) –
Return type:None
Set()
Parameters:Other (TPrsStd_DataMapOfGUIDDriver &) –
Return type:TPrsStd_DataMapOfGUIDDriver
UnBind()
Parameters:K (Standard_GUID &) –
Return type:bool
thisown

The membership flag

class TPrsStd_Driver(*args, **kwargs)

Bases: OCC.MMgt.MMgt_TShared

GetHandle()
Update()
  • Updates the interactive object ais with information found on the attributes associated with the label L.
Parameters:
  • L (TDF_Label &) –
  • ais (Handle_AIS_InteractiveObject &) –
Return type:

bool

thisown

The membership flag

class TPrsStd_DriverTable(*args)

Bases: OCC.MMgt.MMgt_TShared

  • Default constructor
Return type:None
AddDriver()
  • Returns true if the driver has been added successfully to the driver table.
Parameters:
  • guid (Standard_GUID &) –
  • driver (Handle_TPrsStd_Driver &) –
Return type:

bool

Clear()
  • Removes all drivers. Returns true if the driver has been removed successfully. If this method is used, the InitStandardDrivers method should be called to fill the table with standard drivers.
Return type:None
FindDriver()
  • Returns true if the driver was found.
Parameters:
  • guid (Standard_GUID &) –
  • driver (Handle_TPrsStd_Driver &) –
Return type:

bool

static Get(*args)
  • Returns the static table. If it does not exist, creates it and fills it with standard drivers.
Return type:Handle_TPrsStd_DriverTable
GetHandle()
InitStandardDrivers()
  • Fills the table with standard drivers
Return type:None
RemoveDriver()
  • Removes a driver with the given GUID. Returns true if the driver has been removed successfully.
Parameters:guid (Standard_GUID &) –
Return type:bool
thisown

The membership flag

TPrsStd_DriverTable_Get(*args)
  • Returns the static table. If it does not exist, creates it and fills it with standard drivers.
Return type:Handle_TPrsStd_DriverTable
class TPrsStd_GeometryDriver(*args)

Bases: OCC.TPrsStd.TPrsStd_Driver

  • Constructs an empty geometry driver.
Return type:None
GetHandle()
thisown

The membership flag

class TPrsStd_NamedShapeDriver(*args)

Bases: OCC.TPrsStd.TPrsStd_Driver

  • Constructs an empty named shape driver.
Return type:None
GetHandle()
thisown

The membership flag

class TPrsStd_PlaneDriver(*args)

Bases: OCC.TPrsStd.TPrsStd_Driver

  • Constructs an empty plane driver.
Return type:None
GetHandle()
thisown

The membership flag

class TPrsStd_PointDriver(*args)

Bases: OCC.TPrsStd.TPrsStd_Driver

  • Constructs an empty point driver.
Return type:None
GetHandle()
thisown

The membership flag

register_handle(handle, base_object)

Inserts the handle into the base object to prevent memory corruption in certain cases