class
TriangleMeshReceptacleDefines a Receptacle surface as a triangle mesh. TODO: configurable maximum height.
Methods
- def debug_draw(self, sim: habitat_sim.simulator.Simulator, color: typing.Optional[_magnum.Color4] = None) -> None
- Render the Receptacle with DebugLineRender utility at the current frame. Draws the Receptacle mesh. Must be called after each frame is rendered, before querying the image data.
- def dist_to_rec(self, sim: habitat_sim.simulator.Simulator, point: numpy.ndarray) -> float
- Compute and return the distance from a 3D global point to the Receptacle. Uses point to mesh distance check.
- def get_face_verts(self, f_ix: int) -> typing.List[_magnum.Vector3]
- Get all three vertices of a mesh triangle given it’s face index as a list of numpy arrays.
- def get_global_transform(self, sim: habitat_sim.simulator.Simulator) -> _magnum.Matrix4
- Isolates boilerplate necessary to extract receptacle global transform of the Receptacle at the current state.
- def get_support_object_ids(self, sim: habitat_sim.simulator.Simulator) -> typing.List[int]
- Get a list of object ids representing the set of acceptable support surfaces for this receptacle.
- def sample_area_weighted_triangle(self) -> int
- Isolates the area weighted triangle sampling code.
- def sample_uniform_global(self, sim: habitat_sim.simulator.Simulator, sample_region_scale: float) -> _magnum.Vector3
- Sample a uniform random point in the local Receptacle volume and then transform it into global space.
- def sample_uniform_local(self, sample_region_scale: float = 1.0) -> _magnum.Vector3
- Sample a uniform random point from the mesh.
Special methods
- def __init__(self, name: str, mesh_data: _magnum.trade.MeshData, parent_object_handle: typing.Optional[str] = None, parent_link: typing.Optional[int] = None, up: typing.Optional[_magnum.Vector3] = None, scale: typing.Union[float, _magnum.Vector3, None] = None) -> None
- Initialize the TriangleMeshReceptacle from mesh data and pre-compute the area weighted accumulator.
Properties
- bounds: _magnum.Range3D get
- Get the vertex AABB bounds pre-computed during initialization.
- is_parent_object_articulated get
- Convenience query for articulated vs. rigid object check.
Method documentation
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. debug_draw(self,
sim: habitat_sim.simulator.Simulator,
color: typing.Optional[_magnum.Color4] = None) -> None
Render the Receptacle with DebugLineRender utility at the current frame. Draws the Receptacle mesh. Must be called after each frame is rendered, before querying the image data.
Parameters | |
---|---|
sim | Simulator must be provided. |
color | Optionally provide wireframe color, otherwise magenta. |
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. dist_to_rec(self,
sim: habitat_sim.simulator.Simulator,
point: numpy.ndarray) -> float
Compute and return the distance from a 3D global point to the Receptacle. Uses point to mesh distance check.
Parameters | |
---|---|
sim | The Simulator instance. |
point | A 3D point in global space. E.g. the bottom center point of a placed object. |
Returns | Point to Receptacle distance. |
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. get_face_verts(self,
f_ix: int) -> typing.List[_magnum.Vector3]
Get all three vertices of a mesh triangle given it’s face index as a list of numpy arrays.
Parameters | |
---|---|
f_ix | The index of the mesh triangle. |
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. get_support_object_ids(self,
sim: habitat_sim.simulator.Simulator) -> typing.List[int]
Get a list of object ids representing the set of acceptable support surfaces for this receptacle.
Parameters | |
---|---|
sim | The Simulator instance. |
Returns | A list of object id integers for this Receptacle’s set of valid support surfaces. |
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. sample_area_weighted_triangle(self) -> int
Isolates the area weighted triangle sampling code.
Returns a random triangle index sampled with area weighting.
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. sample_uniform_global(self,
sim: habitat_sim.simulator.Simulator,
sample_region_scale: float) -> _magnum.Vector3
Sample a uniform random point in the local Receptacle volume and then transform it into global space.
Parameters | |
---|---|
sim | |
sample_region_scale | defines a XZ scaling of the sample region around its center. |
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. sample_uniform_local(self,
sample_region_scale: float = 1.0) -> _magnum.Vector3
Sample a uniform random point from the mesh.
Parameters | |
---|---|
sample_region_scale | defines a XZ scaling of the sample region around its center. For example to constrain object spawning toward the center of a receptacle. |
def habitat. datasets. rearrange. samplers. receptacle. TriangleMeshReceptacle. __init__(self,
name: str,
mesh_data: _magnum.trade.MeshData,
parent_object_handle: typing.Optional[str] = None,
parent_link: typing.Optional[int] = None,
up: typing.Optional[_magnum.Vector3] = None,
scale: typing.Union[float, _magnum.Vector3, None] = None) -> None
Initialize the TriangleMeshReceptacle from mesh data and pre-compute the area weighted accumulator.
Parameters | |
---|---|
name | The name of the Receptacle. Should be unique and descriptive for any one object. |
mesh_data | The Receptacle’s mesh data. A magnum.trade.MeshData object (indices len divisible by 3). |
parent_object_handle | The rigid or articulated object instance handle for the parent object to which the Receptacle is attached. None for globally defined stage Receptacles. |
parent_link | Index of the link to which the Receptacle is attached if the parent is an ArticulatedObject. -1 denotes the base link. None for rigid objects and stage Receptacles. |
up | The “up” direction of the Receptacle in local AABB space. Used for optionally culling receptacles in un-supportive states such as inverted surfaces. |
scale | The scaling vector (or uniform scaling float) to be applied to the mesh. |