App RPSFeature

From LabRPS Documentation
Jump to navigation Jump to search

Introduction

Feature.svg

An App RPSFeature object, or formally an App::RPSFeature, is the base class of most objects that will allow the creation of random phenomenon simulation related objects.

LabRPS core objects.svg

Simplified diagram of the relationships between the core objects in LabRPS

Usage

The App RPSFeature is an internal object, so it cannot be created from the graphical interface. It is generally not meant to be used directly, rather it can be sub-classed to get a bare-bones object.

Some of the most important derived objects are the following:

  • The WindLab Feature class, the parent of most objects for the simulation of random wind velocity.
  • The SeismicLab Feature class, the parent of most objects made from the simulation of seismic ground motion.
  • The SeaLab Feature class, the parent of most objects for the simulation of random sea surface.

When creating this object in Python, instead of sub-classing App::RPSFeature, you should sub-class App::SimulationPython because the latter includes a default view provider, and Proxy attributes for the object itself, and its view provider. See Scripting.

Properties App RPSFeature

See Property for all property types that scripted objects can have.

The App RPSFeature (App::RPSFeature class) is derived from the basic App DocumentObject (App::DocumentObject class) and inherits all its properties.

Properties App SimulationPython

See Property for all property types that scripted objects can have.

The App SimulationPython (App::SimulationPython class) is derived from the basic App RPSFeature (App::RPSFeature class) and inherits all its properties. It also has several additional properties.

These are the properties available in the property editor. Hidden properties can be shown by using the Show all command in the context menu of the property editor.

Data

Base

  • Data (Hidden)Proxy (PythonObject): a custom class associated with this object.
  • DataLabel (String): the user editable name of this object, it is an arbitrary UTF8 string.
  • Data (Hidden)Label2 (String): a longer, user editable description of this object, it is an arbitrary UTF8 string that may include newlines. By default, it is an empty string "".
  • Data (Hidden)Expression Engine (ExpressionEngine): a list of expressions. By default, it is empty [].
  • Data (Hidden)Visibility (Bool): whether to display the object or not.

View

Base

  • View (Hidden)Proxy (PythonObject): a custom viewprovider class associated with this object.

Display Options

Selection

Scripting

See also: LabRPS Scripting Basics and scripted objects.

A RPSFeature is created with the addObject() method of the document.

import LabRPS as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Feature", "Name")
obj.Label = "Custom label"

Template:Document objects navi